AlonsoYSal_FactuGES2/Source/Modulos/Contabilidad/Views/uEditorCuentasEspeciales.pas
2019-11-18 10:36:42 +00:00

156 lines
4.8 KiB
ObjectPascal

unit uEditorCuentasEspeciales;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorBase, ToolWin, ComCtrls, JvExControls, JvComponent,
JvNavigationPane, uViewCuentasEspeciales, uBizCuentasEspeciales, ActnList, DBActns, uViewGrid,
Menus, uDataModuleBase, ImgList, PngImageList, TB2Dock, TB2Toolbar, TBX,
TB2Item, StdActns, TB2ExtItems, TBXExtItems, TB2MRU, DB, uDADataTable,
JvFormAutoSize, uDAScriptingProvider, uDACDSDataTable, JvAppStorage,
JvAppRegistryStorage, JvFormPlacement, ExtCtrls, uCustomView, uViewBase,
uViewBarraSeleccion, pngimage, uIEditorCuentasEspeciales, uEditorGridBase,
JvComponentBase, uViewGridBase, uCuentasEspecialesController, JvExComCtrls,
JvStatusBar, uDAInterfaces, dxGDIPlusClasses;
type
TfEditorCuentasEspeciales = class(TfEditorGridBase, IEditorCuentasEspeciales)
frViewCuentasEspeciales1: TfrViewCuentasEspeciales;
procedure FormShow(Sender: TObject);
private
FCuentasEspeciales: IBizCuentaEspecial;
FController : ICuentasEspecialesController;
protected
function GetCuentasEspeciales: IBizCuentaEspecial;
procedure SetCuentasEspeciales(const Value: IBizCuentaEspecial);
function GetController : ICuentasEspecialesController; virtual;
procedure SetController (const Value : ICuentasEspecialesController); virtual;
procedure NuevoInterno; override;
procedure EliminarInterno; override;
procedure ModificarInterno; override;
procedure DuplicarInterno; override;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
property CuentasEspeciales: IBizCuentaEspecial read GetCuentasEspeciales write SetCuentasEspeciales;
property Controller : ICuentasEspecialesController read GetController write SetController;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
uses
uCustomEditor, uDataModuleUsuarios,
// uEditorCuentaEspecial,
uEditorDBBase, uFactuGES_App,
cxGrid, cxGridCustomTableView; //, uListaCuentasEspeciales;
{$R *.dfm}
{
****************************** TfEditorCuentasEspeciales *******************************
}
procedure TfEditorCuentasEspeciales.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(ViewGrid) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(CuentasEspeciales) then
raise Exception.Create('No hay ningún CuentaEspecial asignado');
CuentasEspeciales.DataTable.Active := True;
ViewGrid.GotoFirst;
end;
function TfEditorCuentasEspeciales.GetCuentasEspeciales: IBizCuentaEspecial;
begin
Result := FCuentasEspeciales;
end;
function TfEditorCuentasEspeciales.GetController: ICuentasEspecialesController;
begin
Result := FController;
end;
procedure TfEditorCuentasEspeciales.ModificarInterno;
begin
inherited;
FController.Ver(CuentasEspeciales);
end;
procedure TfEditorCuentasEspeciales.NuevoInterno;
begin
inherited;
FController.Anadir(CuentasEspeciales);
FController.Ver(CuentasEspeciales);
end;
procedure TfEditorCuentasEspeciales.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := 'Lista de CuentasEspeciales '; // + AppFactuGES.EmpresaActiva.NOMBRE;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorCuentasEspeciales.SetCuentasEspeciales(const Value: IBizCuentaEspecial);
begin
FCuentasEspeciales := Value;
dsDataTable.DataTable := FCuentasEspeciales.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewCuentasEspeciales).CuentasEspeciales := CuentasEspeciales;
end;
procedure TfEditorCuentasEspeciales.SetController(const Value: ICuentasEspecialesController);
begin
FController := Value;
end;
destructor TfEditorCuentasEspeciales.Destroy;
begin
FCuentasEspeciales := NIL;
inherited;
end;
procedure TfEditorCuentasEspeciales.DuplicarInterno;
{var
ACuentaEspecial : IBizCuentaEspecial;}
begin
{
inherited;
ACuentaEspecial := FController.Duplicar(CuentasEspeciales);
try
FController.Ver(ACuentaEspecial);
finally
actRefrescar.Execute;
end;
}
end;
procedure TfEditorCuentasEspeciales.EliminarInterno;
begin
if (Application.MessageBox('¿Desea borrar este almacén?', 'Atención', MB_YESNO) = IDYES) then
begin
inherited;
//Para que en el caso de no poderse realizar la operación se refresquen
//los datos y no nos permita eliminar un registro a la segunda
if not FController.Eliminar(CuentasEspeciales) then
actRefrescar.Execute;
end;
end;
constructor TfEditorCuentasEspeciales.Create(AOwner: TComponent);
begin
inherited;
ViewGrid := frViewCuentasEspeciales1; //CreateView(TfrViewCuentasEspeciales) as IViewCuentasEspeciales;
end;
end.