diff --git a/Source/Modulos/Contabilidad/Controller/Contabilidad_controller.dpk b/Source/Modulos/Contabilidad/Controller/Contabilidad_controller.dpk
index 5bdc9771..0ecfc814 100644
--- a/Source/Modulos/Contabilidad/Controller/Contabilidad_controller.dpk
+++ b/Source/Modulos/Contabilidad/Controller/Contabilidad_controller.dpk
@@ -63,7 +63,7 @@ contains
uCuentasController in 'uCuentasController.pas',
uSubCuentasController in 'uSubCuentasController.pas',
uIEditorAsiento in 'View\uIEditorAsiento.pas',
- uIEditorAsientos in 'View\uIEditorAsientos.pas',
+ uIEditorDiario in 'View\uIEditorDiario.pas',
uIEditorCuenta in 'View\uIEditorCuenta.pas',
uIEditorCuentas in 'View\uIEditorCuentas.pas',
uIEditorSubCuenta in 'View\uIEditorSubCuenta.pas',
@@ -71,6 +71,9 @@ contains
uIEditorElegirEpigrafes in 'View\uIEditorElegirEpigrafes.pas',
uIEditorElegirBalances in 'View\uIEditorElegirBalances.pas',
uIEditorElegirCuentasEspeciales in 'View\uIEditorElegirCuentasEspeciales.pas',
- uIEditorElegirCuentas in 'View\uIEditorElegirCuentas.pas';
+ uIEditorElegirCuentas in 'View\uIEditorElegirCuentas.pas',
+ uApuntesController in 'uApuntesController.pas',
+ uIEditorApunte in 'View\uIEditorApunte.pas',
+ uIEditorElegirSubCuentas in 'View\uIEditorElegirSubCuentas.pas';
end.
diff --git a/Source/Modulos/Contabilidad/Controller/Contabilidad_controller.dproj b/Source/Modulos/Contabilidad/Controller/Contabilidad_controller.dproj
index 0c9a30eb..329bbe56 100644
--- a/Source/Modulos/Contabilidad/Controller/Contabilidad_controller.dproj
+++ b/Source/Modulos/Contabilidad/Controller/Contabilidad_controller.dproj
@@ -48,6 +48,7 @@
MainSource
+
@@ -71,18 +72,20 @@
+
-
+
+
diff --git a/Source/Modulos/Contabilidad/Controller/View/uIEditorApunte.pas b/Source/Modulos/Contabilidad/Controller/View/uIEditorApunte.pas
new file mode 100644
index 00000000..ac38bbea
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Controller/View/uIEditorApunte.pas
@@ -0,0 +1,26 @@
+unit uIEditorApunte;
+
+interface
+
+uses
+ uBizApuntes, uApuntesController;
+
+type
+ IEditorApunte = interface
+ ['{60744169-A32B-4AC7-ADEC-4F6B2C7D00EA}']
+// function GetController : IApuntesController;
+// procedure SetController (const Value : IApuntesController);
+// property Controller : IApuntesController read GetController write SetController;
+
+ function GetApunte: IBizApunte;
+ procedure SetApunte(const Value: IBizApunte);
+ property Apunte: IBizApunte read GetApunte write SetApunte;
+
+ function ShowModal : Integer;
+ procedure Release;
+ end;
+
+
+implementation
+
+end.
diff --git a/Source/Modulos/Contabilidad/Controller/View/uIEditorAsientos.pas b/Source/Modulos/Contabilidad/Controller/View/uIEditorAsientos.pas
deleted file mode 100644
index fafb8d29..00000000
--- a/Source/Modulos/Contabilidad/Controller/View/uIEditorAsientos.pas
+++ /dev/null
@@ -1,23 +0,0 @@
-unit uIEditorAsientos;
-
-interface
-
-uses
- uEditorGridBase, uBizAsientos, uAsientosController;
-
-type
- IEditorAsientos = interface (IEditorGridBase)
- ['{47A77BA9-3845-469B-A790-81F3C6E0F134}']
- function GetController : IAsientosController;
- procedure SetController (const Value : IAsientosController);
- property Controller : IAsientosController read GetController write SetController;
-
- function GetAsientos: IBizAsiento;
- procedure SetAsientos(const Value: IBizAsiento);
- property Asientos: IBizAsiento read GetAsientos write SetAsientos;
- end;
-
-
-implementation
-
-end.
diff --git a/Source/Modulos/Contabilidad/Controller/View/uIEditorDiario.pas b/Source/Modulos/Contabilidad/Controller/View/uIEditorDiario.pas
new file mode 100644
index 00000000..87749bc0
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Controller/View/uIEditorDiario.pas
@@ -0,0 +1,23 @@
+unit uIEditorDiario;
+
+interface
+
+uses
+ uEditorGridBase, uBizDiario, uAsientosController;
+
+type
+ IEditorDiario = interface (IEditorGridBase)
+ ['{47A77BA9-3845-469B-A790-81F3C6E0F134}']
+ function GetController : IAsientosController;
+ procedure SetController (const Value : IAsientosController);
+ property Controller : IAsientosController read GetController write SetController;
+
+ function GetDiario: IBizDiario;
+ procedure SetDiario(const Value: IBizDiario);
+ property Diario: IBizDiario read GetDiario write SetDiario;
+ end;
+
+
+implementation
+
+end.
diff --git a/Source/Modulos/Contabilidad/Controller/View/uIEditorElegirSubCuentas.pas b/Source/Modulos/Contabilidad/Controller/View/uIEditorElegirSubCuentas.pas
new file mode 100644
index 00000000..c41b936f
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Controller/View/uIEditorElegirSubCuentas.pas
@@ -0,0 +1,26 @@
+unit uIEditorElegirSubCuentas;
+
+interface
+
+uses
+ uIEditorSubCuentas, uBizSubCuentas, uGUIBase;
+
+type
+ IEditorElegirSubCuentas = interface(IEditorSubCuentas)
+ ['{4A5003AE-BF4E-466A-9C9D-FECDD69454D2}']
+ function GetSubCuentasSeleccionados: IBizSubCuenta;
+ property SubCuentasSeleccionados: IBizSubCuenta read GetSubCuentasSeleccionados;
+
+ procedure SetMultiSelect (AValue : Boolean);
+ function GetMultiSelect : Boolean;
+ property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
+
+ procedure SetMensaje (const AValue: String);
+ function GetMensaje: String;
+ property Mensaje : String read GetMensaje write SetMensaje;
+ end;
+
+
+implementation
+
+end.
diff --git a/Source/Modulos/Contabilidad/Controller/uApuntesController.pas b/Source/Modulos/Contabilidad/Controller/uApuntesController.pas
new file mode 100644
index 00000000..18eab614
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Controller/uApuntesController.pas
@@ -0,0 +1,363 @@
+unit uApuntesController;
+
+interface
+
+
+uses
+ Classes, SysUtils, uDADataTable, uControllerBase,
+ uBizApuntes, uIDataModuleContabilidad;
+type
+ IApuntesController = interface(IObservador)
+ ['{94E5F2B6-64C8-4331-B9CB-3ED730478529}']
+// function BuscarTodos: IBizApunte;
+// function Buscar(const ID: Integer): IBizApunte;
+// procedure VerTodos(AApuntes: IBizApunte);
+ procedure Anadir(AApunte : IBizApunte);
+ procedure Ver(AApunte: IBizApunte);
+// function Anadir: IBizApunte;
+ function Eliminar(AApunte : IBizApunte): Boolean;
+ function Guardar(AApunte : IBizApunte): Boolean;
+ procedure DescartarCambios(AApunte : IBizApunte);
+
+ function ValidarApunte(AApunte: IBizApunte): Boolean;
+ procedure ElegirSubCuenta(AApunte: IBizApunte);
+
+ procedure AsignarDEBE(AApunte: IBizApunte);
+ procedure AsignarHABER(AApunte: IBizApunte);
+ end;
+
+ TApuntesController = class(TObservador, IApuntesController)
+ protected
+ FDataModule : IDataModuleContabilidad;
+
+ procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
+ function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean;
+
+ procedure AsignarDataModule;
+ procedure FiltrarEjercicio(AApunte: IBizApunte);
+
+ public
+ constructor Create; override;
+ destructor Destroy; override;
+
+ function ValidarApunte(AApunte: IBizApunte): Boolean;
+
+ procedure Anadir(AApunte : IBizApunte);
+ function Eliminar(AApunte : IBizApunte): Boolean;
+ function Guardar(AApunte : IBizApunte): Boolean; virtual;
+ procedure DescartarCambios(AApunte : IBizApunte); virtual;
+// function Anadir: IBizApunte;
+// function BuscarTodos: IBizApunte;
+// function Buscar(const ID: Integer): IBizApunte;
+// procedure VerTodos(AApuntes: IBizApunte);
+ procedure Ver(AApunte: IBizApunte);
+ procedure ElegirSubCuenta(AApunte: IBizApunte);
+
+ procedure AsignarDEBE(AApunte: IBizApunte);
+ procedure AsignarHABER(AApunte: IBizApunte);
+ end;
+
+implementation
+
+uses
+ cxControls, DB, uEditorRegistryUtils, schContabilidadClient_Intf,
+ uBizSubCuentas, uSubCuentasController,
+ uIEditorApunte, uDataModuleContabilidad,
+ uDAInterfaces, uDataTableUtils, uDialogUtils, uFactuGES_App,
+ uDateUtils, uROTypes, DateUtils, Controls, Windows;
+
+{ TApuntesController }
+
+{
+function TApuntesController.Anadir: IBizApunte;
+var
+ AApunte : IBizApunte;
+begin
+ AApunte := FDataModule.GetApunteItem(ID_NULO);
+ AApunte.DataTable.Active := True;
+ AApunte.Insert;
+ Result := AApunte;
+end;
+}
+
+procedure TApuntesController.Anadir(AApunte: IBizApunte);
+begin
+ AApunte.Insert;
+end;
+
+procedure TApuntesController.AsignarDataModule;
+begin
+ FDataModule := TDataModuleContabilidad.Create(Nil);
+end;
+
+procedure TApuntesController.AsignarDEBE(AApunte: IBizApunte);
+begin
+ if Assigned(AApunte) then
+ begin
+ if not AApunte.DEBEIsNull then
+ begin
+ if not AApunte.DataTable.Editing then
+ AApunte.DataTable.Edit;
+ AApunte.HABERIsNull := True;
+ AApunte.DataTable.Post;
+
+// RecalcularAsiento;
+ end;
+ end;
+end;
+
+procedure TApuntesController.AsignarHABER(AApunte: IBizApunte);
+begin
+ if Assigned(AApunte) then
+ begin
+ if not AApunte.HABERIsNull then
+ begin
+ if not AApunte.DataTable.Editing then
+ AApunte.DataTable.Edit;
+ AApunte.DEBEIsNull := True;
+ AApunte.DataTable.Post;
+
+// RecalcularAsiento;
+ end;
+ end;
+end;
+
+{
+function TApuntesController.Buscar(const ID: Integer): IBizApunte;
+begin
+ Result := FDataModule.GetApunteItem(ID);
+end;
+}
+
+{
+function TApuntesController.BuscarTodos: IBizApunte;
+begin
+ Result := FDataModule.GetApunteItems;
+ FiltrarEjercicio(Result);
+end;
+}
+
+constructor TApuntesController.Create;
+begin
+ inherited;
+ AsignarDataModule;
+end;
+
+function TApuntesController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
+begin
+ Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
+end;
+
+procedure TApuntesController.DescartarCambios(AApunte: IBizApunte);
+begin
+ if not Assigned(AApunte) then
+ raise Exception.Create ('Apunte no asignado');
+
+ ShowHourglassCursor;
+ try
+ if (AApunte.State in dsEditModes) then
+ AApunte.Cancel;
+
+ AApunte.DataTable.CancelUpdates;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+destructor TApuntesController.Destroy;
+begin
+ FDataModule:= NIL;
+ inherited;
+end;
+
+function TApuntesController.ValidarApunte(AApunte: IBizApunte): Boolean;
+begin
+ Result := False;
+
+ if not Assigned(AApunte) then
+ raise Exception.Create ('Apuntes no asignados');
+
+ //Tambien hacemos post de sus tablas hija
+ if (AApunte.DataTable.State in dsEditModes) then
+ AApunte.DataTable.Post;
+
+ if (AApunte.DataTable.RecordCount = 0) then
+ raise Exception.Create('El asiento debe tener algún apunte');
+
+ AApunte.DataTable.DisableControls;
+ AApunte.DataTable.First;
+ while not AApunte.DataTable.EOF do
+ begin
+ if AApunte.ID_SUBCUENTAIsNull then
+ begin
+ AApunte.DataTable.EnableControls;
+ raise Exception.Create('Todo apunte debe tener una subcuenta asociada');
+ end;
+ AApunte.DataTable.Next;
+ end;
+
+ AApunte.DataTable.EnableControls;
+ Result := True;
+
+{
+ if not Assigned(AApunte) then
+ raise Exception.Create ('Apunte no asignado');
+
+ if (AApunte.DataTable.State in dsEditModes) then
+ AApunte.DataTable.Post;
+
+ //Tambien hacemos post de sus tablas hija
+ if (AApunte.Apuntes.DataTable.State in dsEditModes) then
+ AApunte.Apuntes.DataTable.Post;
+
+ if (AApunte.Apuntes.DataTable.RecordCount = 0) then
+ raise Exception.Create('El Apunte debe tener algún apunte');
+
+// if Length(AApunte.CONCEPTO) = 0 then
+// raise Exception.Create('Debe indicar un concepto para este Apunte.');
+}
+ Result := True;
+end;
+
+procedure TApuntesController.Ver(AApunte: IBizApunte);
+var
+ AEditor : IEditorApunte;
+begin
+ AEditor := NIL;
+ ShowHourglassCursor;
+ try
+ CreateEditor('EditorApunte', IEditorApunte, AEditor);
+ if Assigned(AEditor) then
+ with AEditor do
+ begin
+// Controller := Self; //OJO ORDEN MUY IMPORTANTE
+ Apunte := AApunte;
+ ShowModal;
+ Release;
+ end;
+ finally
+ AEditor := NIL;
+ HideHourglassCursor;
+ end;
+end;
+
+{
+procedure TApuntesController.VerTodos(AApuntes: IBizApunte);
+var
+ AEditor : IEditorApuntes;
+begin
+ AEditor := NIL;
+ ShowHourglassCursor;
+ try
+ CreateEditor('EditorApuntes', IEditorApuntes, AEditor);
+ if Assigned(AEditor) then
+ with AEditor do
+ begin
+ Controller := Self; //OJO ORDEN MUY IMPORTANTE
+ Apuntes := AApuntes;
+ ShowEmbedded;
+ end;
+ finally
+ AEditor := NIL;
+ HideHourglassCursor;
+ end;
+end;
+}
+
+procedure TApuntesController.ElegirSubCuenta(AApunte: IBizApunte);
+var
+ ASubCuenta : IBizSubCuenta;
+ AController : ISubCuentasController;
+begin
+ inherited;
+ try
+ AController := TSubCuentasController.Create;
+ ASubCuenta := (AController.ElegirSubCuenta(AController.BuscarTodos, 'ddddddd', False) as IBizSubCuenta);
+
+ if Assigned(ASubCuenta) then
+ begin
+ if Assigned(AApunte) then
+ begin
+ if not AApunte.DataTable.Editing then
+ AApunte.DataTable.Edit;
+
+ AApunte.ID_SUBCUENTA := ASubCuenta.ID;
+ AApunte.REF_SUBCUENTA := ASubCuenta.REF_SUBCUENTA;
+ AApunte.SUBCUENTA := ASubCuenta.DESCRIPCION;
+ AApunte.Post;
+ end;
+ end;
+ finally
+ AController := Nil;
+ ASubCuenta := Nil;
+ end;
+end;
+
+function TApuntesController.Eliminar(AApunte: IBizApunte): Boolean;
+begin
+ Result := False;
+
+ if not Assigned(AApunte) then
+ raise Exception.Create ('Apunte no asignado');
+
+ ShowHourglassCursor;
+ try
+ if (AApunte.State in dsEditModes) then
+ AApunte.Cancel;
+
+ AApunte.Delete;
+ AApunte.DataTable.ApplyUpdates;
+ HideHourglassCursor;
+ Result := True;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+procedure TApuntesController.FiltrarEjercicio(AApunte: IBizApunte);
+var
+ Condicion: TDAWhereExpression;
+begin
+ if AApunte.DataTable.Active then
+ AApunte.DataTable.Active := False;
+
+ // Filtrar los Apuntes por la empresa activa
+ with AApunte.DataTable.DynamicWhere do
+ begin
+ // (ID_EJERCICIO = ID)
+ Condicion := NewBinaryExpression(NewField('', fld_DiarioID_EJERCICIO), NewConstant(AppFactuGES.EjercicioActivo.ID, datInteger), dboEqual);
+
+ if IsEmpty then
+ Expression := Condicion
+ else
+ Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
+ end;
+end;
+
+procedure TApuntesController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable);
+begin
+ inherited;
+//
+end;
+
+function TApuntesController.Guardar(AApunte: IBizApunte): Boolean;
+begin
+ Result := True;
+{
+ if ValidarApunte(AApunte) then
+ begin
+ ShowHourglassCursor;
+ try
+ AApunte.DataTable.ApplyUpdates;
+ Result := True;
+ finally
+ HideHourglassCursor;
+ end;
+ end;
+}
+ if (AApunte.DataTable.State in dsEditModes) then
+ AApunte.DataTable.Post;
+
+end;
+
+end.
diff --git a/Source/Modulos/Contabilidad/Controller/uAsientosController.pas b/Source/Modulos/Contabilidad/Controller/uAsientosController.pas
index baecbde9..fd76ffa7 100644
--- a/Source/Modulos/Contabilidad/Controller/uAsientosController.pas
+++ b/Source/Modulos/Contabilidad/Controller/uAsientosController.pas
@@ -5,15 +5,15 @@ interface
uses
Classes, SysUtils, uDADataTable, uControllerBase,
- uBizAsientos, uIDataModuleContabilidad;
+ uBizAsientos, uBizDiario, uIDataModuleContabilidad;
type
IAsientosController = interface(IObservador)
['{94E5F2B6-64C8-4331-B9CB-3ED730478529}']
- function BuscarTodos: IBizAsiento;
- function Buscar(ID: Integer): IBizAsiento;
- procedure VerTodos(AAsientos: IBizAsiento);
+ function BuscarDiario: IBizDiario;
+ function Buscar(const ID: Integer): IBizAsiento;
+ procedure VerDiario(ADiario: IBizDiario);
procedure Ver(AAsiento: IBizAsiento);
- procedure Anadir(AAsiento : IBizAsiento);
+ function Anadir: IBizAsiento;
function Eliminar(AAsiento : IBizAsiento): Boolean;
function Guardar(AAsiento : IBizAsiento): Boolean;
procedure DescartarCambios(AAsiento : IBizAsiento);
@@ -28,7 +28,7 @@ type
function ValidarAsiento(AAsiento: IBizAsiento): Boolean;
procedure AsignarDataModule;
- procedure FiltrarAsiento(AAsiento: IBizAsiento);
+ procedure FiltrarEjercicio(ADiario: IBizDiario);
public
constructor Create; override;
@@ -37,10 +37,10 @@ type
function Eliminar(AAsiento : IBizAsiento): Boolean;
function Guardar(AAsiento : IBizAsiento): Boolean; virtual;
procedure DescartarCambios(AAsiento : IBizAsiento); virtual;
- procedure Anadir(AAsiento : IBizAsiento);
- function BuscarTodos: IBizAsiento;
- function Buscar(ID: Integer): IBizAsiento;
- procedure VerTodos(AAsientos: IBizAsiento);
+ function Anadir: IBizAsiento;
+ function BuscarDiario: IBizDiario;
+ function Buscar(const ID: Integer): IBizAsiento;
+ procedure VerDiario(ADiario: IBizDiario);
procedure Ver(AAsiento: IBizAsiento);
end;
@@ -48,15 +48,20 @@ implementation
uses
cxControls, DB, uEditorRegistryUtils, schContabilidadClient_Intf,
- uIEditorAsientos, uIEditorAsiento, uDataModuleContabilidad,
+ uIEditorDiario, uIEditorAsiento, uDataModuleContabilidad,
uDAInterfaces, uDataTableUtils, uDialogUtils, uFactuGES_App,
- uDateUtils, uROTypes, DateUtils, Controls, Windows;
+ uDateUtils, uROTypes, DateUtils, Controls, Windows, uApuntesController;
{ TAsientosController }
-procedure TAsientosController.Anadir(AAsiento: IBizAsiento);
+function TAsientosController.Anadir: IBizAsiento;
+var
+ AAsiento : IBizAsiento;
begin
+ AAsiento := FDataModule.GetAsientoItem(ID_NULO);
+ AAsiento.DataTable.Active := True;
AAsiento.Insert;
+ Result := AAsiento;
end;
procedure TAsientosController.AsignarDataModule;
@@ -64,34 +69,15 @@ begin
FDataModule := TDataModuleContabilidad.Create(Nil);
end;
-function TAsientosController.Buscar(ID: Integer): IBizAsiento;
-var
- Condicion: TDAWhereExpression;
+function TAsientosController.Buscar(const ID: Integer): IBizAsiento;
begin
- ShowHourglassCursor;
- try
- Result := BuscarTodos;
-
- with Result.DataTable.DynamicWhere do
- begin
- // (ID = :ID)
- Condicion := NewBinaryExpression(NewField('', fld_AsientosID), NewConstant(ID, datInteger), dboEqual);
-
- if IsEmpty then
- Expression := Condicion
- else
- Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
- end;
-
- finally
- HideHourglassCursor;
- end;
+ Result := FDataModule.GetAsientoItem(ID);
end;
-function TAsientosController.BuscarTodos: IBizAsiento;
+function TAsientosController.BuscarDiario: IBizDiario;
begin
- Result := FDataModule.GetAsientoItems;
- FiltrarAsiento(Result);
+ Result := FDataModule.GetDiarioItems;
+ FiltrarEjercicio(Result);
end;
constructor TAsientosController.Create;
@@ -137,6 +123,10 @@ begin
if (AAsiento.DataTable.State in dsEditModes) then
AAsiento.DataTable.Post;
+ //Tambien validamos los detalles del asiento
+ with TApuntesController.Create do
+ ValidarApunte(AAsiento.Apuntes);
+
// if Length(AAsiento.CONCEPTO) = 0 then
// raise Exception.Create('Debe indicar un concepto para este Asiento.');
@@ -165,19 +155,19 @@ begin
end;
end;
-procedure TAsientosController.VerTodos(AAsientos: IBizAsiento);
+procedure TAsientosController.VerDiario(ADiario: IBizDiario);
var
- AEditor : IEditorAsientos;
+ AEditor : IEditorDiario;
begin
AEditor := NIL;
ShowHourglassCursor;
try
- CreateEditor('EditorAsientos', IEditorAsientos, AEditor);
+ CreateEditor('EditorDiario', IEditorDiario, AEditor);
if Assigned(AEditor) then
with AEditor do
begin
Controller := Self; //OJO ORDEN MUY IMPORTANTE
- Asientos := AAsientos;
+ Diario := ADiario;
ShowEmbedded;
end;
finally
@@ -207,25 +197,24 @@ begin
end;
end;
-procedure TAsientosController.FiltrarAsiento(AAsiento: IBizAsiento);
+procedure TAsientosController.FiltrarEjercicio(ADiario: IBizDiario);
var
Condicion: TDAWhereExpression;
begin
- if AAsiento.DataTable.Active then
- AAsiento.DataTable.Active := False;
+ if ADiario.DataTable.Active then
+ ADiario.DataTable.Active := False;
- // Filtrar los Asientos actuales por Asiento activo
-{ with AAsiento.DataTable.DynamicWhere do
+ // Filtrar los asientos por la empresa activa
+ with ADiario.DataTable.DynamicWhere do
begin
- // (ID_Asiento = ID)
- Condicion := NewBinaryExpression(NewField('', fld_AsientosID_Asiento), NewConstant(AppFactuGES.AsientoActivo.ID, datInteger), dboEqual);
+ // (ID_EJERCICIO = ID)
+ Condicion := NewBinaryExpression(NewField('', fld_DiarioID_EJERCICIO), NewConstant(AppFactuGES.EjercicioActivo.ID, datInteger), dboEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
-}
end;
procedure TAsientosController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable);
@@ -238,11 +227,19 @@ function TAsientosController.Guardar(AAsiento: IBizAsiento): Boolean;
begin
Result := False;
+ if not Assigned(AAsiento) then
+ raise Exception.Create ('Factura no asignada');
+
if ValidarAsiento(AAsiento) then
begin
ShowHourglassCursor;
+
+ // Asegurarnos de que todos los importes están bien.
+// RecalcularImportes(AFactura);
+
try
AAsiento.DataTable.ApplyUpdates;
+
Result := True;
finally
HideHourglassCursor;
diff --git a/Source/Modulos/Contabilidad/Controller/uSubCuentasController.pas b/Source/Modulos/Contabilidad/Controller/uSubCuentasController.pas
index 76f2ce08..5af2a3c9 100644
--- a/Source/Modulos/Contabilidad/Controller/uSubCuentasController.pas
+++ b/Source/Modulos/Contabilidad/Controller/uSubCuentasController.pas
@@ -14,12 +14,14 @@ type
procedure VerTodos(ASubCuentas: IBizSubCuenta);
procedure Ver(ASubCuenta: IBizSubCuenta);
procedure Anadir(ASubCuenta : IBizSubCuenta);
- function Eliminar(ASubCuenta : IBizSubCuenta): Boolean;
+ function Eliminar(ASubCuenta : IBizSubCuenta): Boolean;
function Guardar(ASubCuenta : IBizSubCuenta): Boolean;
procedure DescartarCambios(ASubCuenta : IBizSubCuenta);
function Localizar(ASubCuentas: IBizSubCuenta; ADescripcion:String): Boolean;
function DarListaSubCuentas: TStringList;
+ function ExtraerSeleccionados(ASubCuentas: IBizSubCuenta) : IBizSubCuenta;
+ function ElegirSubCuenta(ASubCuentas : IBizSubCuenta; AMensaje: String; AMultiSelect: Boolean): IBizSubCuenta;
procedure ElegirCuenta(ASubCuenta: IBizSubCuenta);
end;
@@ -32,7 +34,7 @@ type
function ValidarSubCuenta(ASubCuenta: IBizSubCuenta): Boolean;
procedure AsignarDataModule;
- procedure FiltrarSubCuenta(ASubCuenta: IBizSubCuenta);
+ procedure FiltrarEjercicio(ASubCuenta: IBizSubCuenta);
public
constructor Create; override;
@@ -49,14 +51,17 @@ type
function Localizar(ASubCuentas: IBizSubCuenta; ADescripcion:String): Boolean;
function DarListaSubCuentas: TStringList;
- procedure ElegirCuenta(ASubCuenta: IBizSubCuenta);
+ function ExtraerSeleccionados(ASubCuentas: IBizSubCuenta) : IBizSubCuenta;
+ function ElegirSubCuenta(ASubCuentas : IBizSubCuenta; AMensaje: String; AMultiSelect: Boolean): IBizSubCuenta;
+
+ procedure ElegirCuenta(ASubCuenta: IBizSubCuenta);
end;
implementation
uses
cxControls, DB, uEditorRegistryUtils, schContabilidadClient_Intf,
- uIEditorSubCuentas, uIEditorSubCuenta, uDataModuleContabilidad,
+ uIEditorSubCuentas, uIEditorSubCuenta, uIEditorElegirSubCuentas, uDataModuleContabilidad,
uBizCuentas, uCuentasController,
uDAInterfaces, uDataTableUtils, uDialogUtils, uFactuGES_App,
uDateUtils, uROTypes, DateUtils, Controls, Windows;
@@ -100,7 +105,7 @@ end;
function TSubCuentasController.BuscarTodos: IBizSubCuenta;
begin
Result := FDataModule.GetSubCuentaItems;
- FiltrarSubCuenta(Result);
+ FiltrarEjercicio(Result);
end;
constructor TSubCuentasController.Create;
@@ -245,6 +250,28 @@ begin
end;
end;
+function TSubCuentasController.ElegirSubCuenta(ASubCuentas: IBizSubCuenta; AMensaje: String; AMultiSelect: Boolean): IBizSubCuenta;
+var
+ AEditor : IEditorElegirSubCuentas;
+begin
+ Result := NIL;
+
+ CreateEditor('EditorElegirSubCuentas', IEditorElegirSubCuentas, AEditor);
+ try
+ with AEditor do
+ begin
+ SubCuentas := ASubCuentas;
+ Controller := Self;
+ Mensaje := AMensaje;
+ if IsPositiveResult(ShowModal) then
+ Result := SubCuentasSeleccionados;
+ Release;
+ end;
+ finally
+ AEditor := NIL;
+ end;
+end;
+
function TSubCuentasController.Eliminar(ASubCuenta: IBizSubCuenta): Boolean;
begin
Result := False;
@@ -266,7 +293,16 @@ begin
end;
end;
-procedure TSubCuentasController.FiltrarSubCuenta(ASubCuenta: IBizSubCuenta);
+function TSubCuentasController.ExtraerSeleccionados(ASubCuentas: IBizSubCuenta): IBizSubCuenta;
+var
+ ASeleccionados : IBizSubCuenta;
+begin
+ ASeleccionados := Self.Buscar(ID_NULO);
+ CopyDataTableDA3(ASubCuentas.DataTable, ASeleccionados.DataTable, True);
+ Result := ASeleccionados;
+end;
+
+procedure TSubCuentasController.FiltrarEjercicio(ASubCuenta: IBizSubCuenta);
var
Condicion: TDAWhereExpression;
begin
@@ -276,7 +312,7 @@ begin
// Filtrar los SubCuentas actuales por SubCuenta activo
with ASubCuenta.DataTable.DynamicWhere do
begin
- // (ID_SubCuenta = ID)
+ // (ID_Ejercicio = ID)
Condicion := NewBinaryExpression(NewField('', fld_SubCuentasID_Ejercicio), NewConstant(AppFactuGES.EjercicioActivo.ID, datInteger), dboEqual);
if IsEmpty then
diff --git a/Source/Modulos/Contabilidad/Data/Contabilidad_data.res b/Source/Modulos/Contabilidad/Data/Contabilidad_data.res
index 1641339f..8b251f31 100644
Binary files a/Source/Modulos/Contabilidad/Data/Contabilidad_data.res and b/Source/Modulos/Contabilidad/Data/Contabilidad_data.res differ
diff --git a/Source/Modulos/Contabilidad/Data/uDataModuleContabilidad.dfm b/Source/Modulos/Contabilidad/Data/uDataModuleContabilidad.dfm
index 57c26849..0535ff61 100644
--- a/Source/Modulos/Contabilidad/Data/uDataModuleContabilidad.dfm
+++ b/Source/Modulos/Contabilidad/Data/uDataModuleContabilidad.dfm
@@ -210,45 +210,6 @@ inherited DataModuleContabilidad: TDataModuleContabilidad
Left = 232
Top = 176
end
- object tbl_Asientos: TDAMemDataTable
- RemoteUpdatesOptions = []
- Fields = <
- item
- Name = 'ID'
- DataType = datAutoInc
- GeneratorName = 'GEN_CONT_ASIENTOS_ID'
- Required = True
- DictionaryEntry = 'Asientos_ID'
- InPrimaryKey = True
- end
- item
- Name = 'FECHA_ASIENTO'
- DataType = datDateTime
- DisplayLabel = 'Asientos_FECHA_ASIENTO'
- DictionaryEntry = 'Asientos_FECHA_ASIENTO'
- end
- item
- Name = 'ORDEN'
- DataType = datInteger
- DisplayLabel = 'Asientos_ORDEN'
- DictionaryEntry = 'Asientos_ORDEN'
- end>
- Params = <>
- StreamingOptions = [soDisableEventsWhileStreaming]
- RemoteDataAdapter = rda_Contabilidad
- DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
- MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
- LogicalName = 'Asientos'
- IndexDefs = <>
- Left = 400
- Top = 376
- end
- object ds_Asientos: TDADataSource
- DataSet = tbl_Asientos.Dataset
- DataTable = tbl_Asientos
- Left = 400
- Top = 320
- end
object tbl_Cuentas: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
@@ -257,7 +218,6 @@ inherited DataModuleContabilidad: TDataModuleContabilidad
DataType = datAutoInc
GeneratorName = 'GEN_CONT_CUENTAS_ID'
Required = True
- ServerAutoRefresh = True
DictionaryEntry = 'Cuentas_ID'
InPrimaryKey = True
end
@@ -431,43 +391,6 @@ inherited DataModuleContabilidad: TDataModuleContabilidad
DisplayLabel = 'Apuntes_ID_ASIENTO'
DictionaryEntry = 'Apuntes_ID_ASIENTO'
end
- item
- Name = 'CONCEPTO'
- DataType = datString
- Size = 255
- DisplayLabel = 'Apuntes_CONCEPTO'
- DictionaryEntry = 'Apuntes_CONCEPTO'
- end
- item
- Name = 'PUNTEADO'
- DataType = datSmallInt
- DisplayLabel = 'Apuntes_PUNTEADO'
- DictionaryEntry = 'Apuntes_PUNTEADO'
- end
- item
- Name = 'DEBE'
- DataType = datCurrency
- DisplayLabel = 'Apuntes_DEBE'
- DictionaryEntry = 'Apuntes_DEBE'
- end
- item
- Name = 'HABER'
- DataType = datCurrency
- DisplayLabel = 'Apuntes_HABER'
- DictionaryEntry = 'Apuntes_HABER'
- end
- item
- Name = 'ID_FACTURA'
- DataType = datInteger
- DisplayLabel = 'Apuntes_ID_FACTURA'
- DictionaryEntry = 'Apuntes_ID_FACTURA'
- end
- item
- Name = 'ID_RECIBO'
- DataType = datInteger
- DisplayLabel = 'Apuntes_ID_RECIBO'
- DictionaryEntry = 'Apuntes_ID_RECIBO'
- end
item
Name = 'ID_SUBCUENTA'
DataType = datInteger
@@ -487,6 +410,36 @@ inherited DataModuleContabilidad: TDataModuleContabilidad
Size = 255
DisplayLabel = 'Apuntes_SUBCUENTA'
DictionaryEntry = 'Apuntes_SUBCUENTA'
+ end
+ item
+ Name = 'CONCEPTO'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Apuntes_CONCEPTO'
+ DictionaryEntry = 'Apuntes_CONCEPTO'
+ end
+ item
+ Name = 'DOCUMENTO'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'DEBE'
+ DataType = datCurrency
+ DisplayLabel = 'Apuntes_DEBE'
+ DictionaryEntry = 'Apuntes_DEBE'
+ end
+ item
+ Name = 'HABER'
+ DataType = datCurrency
+ DisplayLabel = 'Apuntes_HABER'
+ DictionaryEntry = 'Apuntes_HABER'
+ end
+ item
+ Name = 'PUNTEADO'
+ DataType = datSmallInt
+ DisplayLabel = 'Apuntes_PUNTEADO'
+ DictionaryEntry = 'Apuntes_PUNTEADO'
end>
Params = <>
MasterMappingMode = mmWhere
@@ -499,14 +452,53 @@ inherited DataModuleContabilidad: TDataModuleContabilidad
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'Apuntes'
IndexDefs = <>
- Left = 320
- Top = 376
+ Left = 384
+ Top = 360
end
object ds_Apuntes: TDADataSource
DataSet = tbl_Apuntes.Dataset
DataTable = tbl_Apuntes
- Left = 320
- Top = 320
+ Left = 392
+ Top = 304
+ end
+ object tbl_Asientos: TDAMemDataTable
+ RemoteUpdatesOptions = []
+ Fields = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_CONT_ASIENTOS_ID'
+ Required = True
+ DictionaryEntry = 'Asientos_ID'
+ InPrimaryKey = True
+ end
+ item
+ Name = 'FECHA_ASIENTO'
+ DataType = datDateTime
+ DisplayLabel = 'Asientos_FECHA_ASIENTO'
+ DictionaryEntry = 'Asientos_FECHA_ASIENTO'
+ end
+ item
+ Name = 'ORDEN'
+ DataType = datInteger
+ DisplayLabel = 'Asientos_ORDEN'
+ DictionaryEntry = 'Asientos_ORDEN'
+ end>
+ Params = <>
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteDataAdapter = rda_Contabilidad
+ DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
+ MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
+ LogicalName = 'Asientos'
+ IndexDefs = <>
+ Left = 232
+ Top = 352
+ end
+ object ds_Asientos: TDADataSource
+ DataSet = tbl_Asientos.Dataset
+ DataTable = tbl_Asientos
+ Left = 232
+ Top = 304
end
object tbl_Diario: TDAMemDataTable
RemoteUpdatesOptions = []
@@ -533,15 +525,24 @@ inherited DataModuleContabilidad: TDataModuleContabilidad
DataType = datInteger
end
item
- Name = 'SUBCUENTA'
+ Name = 'REF_SUBCUENTA'
DataType = datString
Size = 15
end
+ item
+ Name = 'ID_EJERCICIO'
+ DataType = datInteger
+ end
item
Name = 'CONCEPTO'
DataType = datString
Size = 255
end
+ item
+ Name = 'DOCUMENTO'
+ DataType = datString
+ Size = 255
+ end
item
Name = 'DEBE'
DataType = datCurrency
@@ -561,13 +562,13 @@ inherited DataModuleContabilidad: TDataModuleContabilidad
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'Diario'
IndexDefs = <>
- Left = 248
- Top = 376
+ Left = 80
+ Top = 360
end
object ds_Diario: TDADataSource
DataSet = tbl_Diario.Dataset
DataTable = tbl_Diario
- Left = 248
- Top = 320
+ Left = 80
+ Top = 312
end
end
diff --git a/Source/Modulos/Contabilidad/Data/uDataModuleContabilidad.pas b/Source/Modulos/Contabilidad/Data/uDataModuleContabilidad.pas
index 8c108720..b47493d7 100644
--- a/Source/Modulos/Contabilidad/Data/uDataModuleContabilidad.pas
+++ b/Source/Modulos/Contabilidad/Data/uDataModuleContabilidad.pas
@@ -9,8 +9,8 @@ uses
uBizBalances, uBizCuentasEspeciales, uBizEpigrafes, uDARemoteDataAdapter,
uDADataStreamer, uDAInterfaces, uRODynamicRequest, uBizCuentas, uBizSubCuentas,
uBizAsientos, uDABin2DataStreamer, uDAMemDataTable, uIDataModuleContabilidad,
- uDataModuleBase;
-
+ uDataModuleBase, uBizApuntes, uBizDiario;
+
type
TDataModuleContabilidad = class(TDataModuleBase, IDataModuleContabilidad)
RORemoteService: TRORemoteService;
@@ -22,22 +22,27 @@ type
ds_CuentasEspeciales: TDADataSource;
tbl_Epigrafes: TDAMemDataTable;
ds_Epigrafes: TDADataSource;
- tbl_Asientos: TDAMemDataTable;
- ds_Asientos: TDADataSource;
tbl_Cuentas: TDAMemDataTable;
ds_Cuentas: TDADataSource;
tbl_SubCuentas: TDAMemDataTable;
ds_SubCuentas: TDADataSource;
tbl_Apuntes: TDAMemDataTable;
ds_Apuntes: TDADataSource;
+ tbl_Asientos: TDAMemDataTable;
+ ds_Asientos: TDADataSource;
tbl_Diario: TDAMemDataTable;
ds_Diario: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject);
+
+ private
+ function _GetApuntes : IBizApunte;
+
public
function GetEpigrafeItems: IBizEpigrafe;
function GetCuentaItems: IBizCuenta;
function GetSubCuentaItems: IBizSubCuenta;
- function GetAsientoItems: IBizAsiento;
+ function GetDiarioItems: IBizDiario;
+ function GetAsientoItem(const ID : Integer): IBizAsiento;
function GetCuentaEspecialItems: IBizCuentaEspecial;
function GetBalanceItems: IBizBalance;
end;
@@ -58,15 +63,49 @@ begin
RORemoteService.Message := dmConexion.Message;
end;
-function TDataModuleContabilidad.GetAsientoItems: IBizAsiento;
+function TDataModuleContabilidad.GetAsientoItem(const ID: Integer): IBizAsiento;
+var
+ AAsiento : TDAMemDataTable;
+ Condicion: TDAWhereExpression;
+
+begin
+ ShowHourglassCursor;
+ try
+ AAsiento := CloneDataTable(tbl_Asientos);
+ AAsiento.BusinessRulesID := BIZ_CLIENT_ASIENTO;
+
+ with TBizAsiento(AAsiento.BusinessEventsObj) do
+ begin
+ Apuntes := _GetApuntes;
+ end;
+
+ //Filtramos por el ID del asiento
+ with AAsiento.DynamicWhere do
+ begin
+ // (ID = :ID)
+ Condicion := NewBinaryExpression(NewField('', fld_AsientosID), NewConstant(ID, datInteger), dboEqual);
+
+ if IsEmpty then
+ Expression := Condicion
+ else
+ Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
+ end;
+
+ Result := (AAsiento as IBizAsiento);
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+function TDataModuleContabilidad.GetDiarioItems: IBizDiario;
var
ADiario : TDAMemDataTable;
begin
ShowHourglassCursor;
try
ADiario := CloneDataTable(tbl_Diario);
- ADiario.BusinessRulesID := BIZ_CLIENT_ASIENTO;
- Result := (ADiario as IBizAsiento);
+ ADiario.BusinessRulesID := BIZ_CLIENT_DIARIO;
+ Result := (ADiario as IBizDiario);
finally
HideHourglassCursor;
end;
@@ -142,4 +181,22 @@ begin
end;
end;
+function TDataModuleContabilidad._GetApuntes: IBizApunte;
+var
+ AApuntes : TDAMemDataTable;
+begin
+ ShowHourglassCursor;
+ try
+ AApuntes := CloneDataTable(tbl_Apuntes);
+ with AApuntes do
+ begin
+ BusinessRulesID := BIZ_CLIENT_APUNTE;
+ DetailOptions := DetailOptions - [dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates];
+ end;
+ Result := (AApuntes as IBizApunte);
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
end.
diff --git a/Source/Modulos/Contabilidad/Model/Contabilidad_model.dpk b/Source/Modulos/Contabilidad/Model/Contabilidad_model.dpk
index 273db36a..397e7287 100644
--- a/Source/Modulos/Contabilidad/Model/Contabilidad_model.dpk
+++ b/Source/Modulos/Contabilidad/Model/Contabilidad_model.dpk
@@ -45,6 +45,8 @@ contains
uIDataModuleContabilidad in 'Data\uIDataModuleContabilidad.pas',
uBizCuentas in 'uBizCuentas.pas',
uBizSubCuentas in 'uBizSubCuentas.pas',
- uBizAsientos in 'uBizAsientos.pas';
+ uBizAsientos in 'uBizAsientos.pas',
+ uBizApuntes in 'uBizApuntes.pas',
+ uBizDiario in 'uBizDiario.pas';
end.
diff --git a/Source/Modulos/Contabilidad/Model/Contabilidad_model.dproj b/Source/Modulos/Contabilidad/Model/Contabilidad_model.dproj
index a80dd1b2..00d90946 100644
--- a/Source/Modulos/Contabilidad/Model/Contabilidad_model.dproj
+++ b/Source/Modulos/Contabilidad/Model/Contabilidad_model.dproj
@@ -58,10 +58,12 @@
+
+
diff --git a/Source/Modulos/Contabilidad/Model/Contabilidad_model.res b/Source/Modulos/Contabilidad/Model/Contabilidad_model.res
index 8b251f31..1641339f 100644
Binary files a/Source/Modulos/Contabilidad/Model/Contabilidad_model.res and b/Source/Modulos/Contabilidad/Model/Contabilidad_model.res differ
diff --git a/Source/Modulos/Contabilidad/Model/Copia de uBizEpigrafes.pas b/Source/Modulos/Contabilidad/Model/Copia de uBizEpigrafes.pas
deleted file mode 100644
index d50a1717..00000000
--- a/Source/Modulos/Contabilidad/Model/Copia de uBizEpigrafes.pas
+++ /dev/null
@@ -1,54 +0,0 @@
-unit uBizEpigrafes;
-
-interface
-
-uses
- uDAInterfaces, uDADataTable, schContabilidadClient_Intf;
-
-const
- BIZ_CLIENT_Epigrafe = 'Client.Epigrafe';
-
-type
- IBizEpigrafe = interface(IEpigrafes)
- ['{F79E3238-1E0D-4FB6-9AF7-E5703619B067}']
- function EsNuevo : Boolean;
- end;
-
- TBizEpigrafe = class(TEpigrafesDataTableRules, IBizEpigrafe)
- protected
- procedure OnNewRecord(Sender: TDADataTable); override;
- public
- procedure IniciarValoresEpigrafeNueva;
- function EsNuevo : Boolean;
- end;
-
-implementation
-
-{ TBizEpigrafe }
-
-uses
- SysUtils, uDataTableUtils, uFactuGES_App;
-
-function TBizEpigrafe.EsNuevo: Boolean;
-begin
- Result := (ID < 0);
-end;
-
-procedure TBizEpigrafe.IniciarValoresEpigrafeNueva;
-begin
- ID_EJERCICIO := 5//AppFactuGES.EmpresaActiva.EjercicioActivo.ID;
-end;
-
-procedure TBizEpigrafe.OnNewRecord(Sender: TDADataTable);
-begin
- inherited;
- IniciarValoresEpigrafeNueva;
-end;
-
-initialization
- RegisterDataTableRules(BIZ_CLIENT_Epigrafe, TBizEpigrafe);
-
-finalization
-
-end.
-
diff --git a/Source/Modulos/Contabilidad/Model/Data/uIDataModuleContabilidad.pas b/Source/Modulos/Contabilidad/Model/Data/uIDataModuleContabilidad.pas
index b5be46cc..d0672064 100644
--- a/Source/Modulos/Contabilidad/Model/Data/uIDataModuleContabilidad.pas
+++ b/Source/Modulos/Contabilidad/Model/Data/uIDataModuleContabilidad.pas
@@ -4,7 +4,7 @@ interface
uses
uBizEpigrafes, uBizCuentasEspeciales, uBizBalances, uBizCuentas, uBizSubCuentas,
- uBizAsientos;
+ uBizAsientos, uBizDiario;
type
IDataModuleContabilidad = interface(IInterface)
@@ -14,7 +14,8 @@ type
function GetBalanceItems: IBizBalance;
function GetCuentaItems: IBizCuenta;
function GetSubCuentaItems: IBizSubCuenta;
- function GetAsientoItems: IBizAsiento;
+ function GetDiarioItems: IBizDiario;
+ function GetAsientoItem(const ID : Integer): IBizAsiento;
end;
implementation
diff --git a/Source/Modulos/Contabilidad/Model/schContabilidadClient_Intf.pas b/Source/Modulos/Contabilidad/Model/schContabilidadClient_Intf.pas
index 4a1e38ff..47b07ca9 100644
--- a/Source/Modulos/Contabilidad/Model/schContabilidadClient_Intf.pas
+++ b/Source/Modulos/Contabilidad/Model/schContabilidadClient_Intf.pas
@@ -9,14 +9,14 @@ const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
- RID_Diario = '{3409D6DE-0E2C-4FE2-B650-45E00DF80EE5}';
- RID_Apuntes = '{C70C8870-6678-4D06-9E9D-6EB0266F986E}';
- RID_Asientos = '{E8092AA1-28BD-4DB3-8228-916A3085115E}';
- RID_SubCuentas = '{226486A6-603F-42C0-98E4-7FE35246D8F8}';
- RID_Cuentas = '{4590BD03-35E1-45C8-97DC-C29DE96B7E81}';
- RID_CuentasEspeciales = '{56AE80C0-694D-4313-A9C1-72FA790AB723}';
- RID_Epigrafes = '{4AB2F189-B670-4382-9DA3-BF5C129C5D0F}';
- RID_Balances = '{243FD877-5DEA-442B-8453-7E0E299D4A56}';
+ RID_Diario = '{F8FC5CA9-331F-486F-9871-319995DD3249}';
+ RID_Apuntes = '{F251002F-B2D8-409E-8F3A-937C3E8A3EAF}';
+ RID_Asientos = '{ABF74F2C-466F-40A2-A0FC-989AF68E4FDF}';
+ RID_SubCuentas = '{5A8B5FF1-8059-4AA1-B05B-10E7E8BA7781}';
+ RID_Cuentas = '{78FCB4FD-3C1A-4ED5-95E7-340A16B22AF3}';
+ RID_CuentasEspeciales = '{0A4B13A1-A9E9-4B7C-8371-5333AA285B9D}';
+ RID_Epigrafes = '{F928AEAF-1435-4B5E-9712-CC542FD2C7E0}';
+ RID_Balances = '{AAB37106-495B-4CD3-BD03-B16FC0857A9D}';
{ Data table names }
nme_Diario = 'Diario';
@@ -34,8 +34,10 @@ const
fld_DiarioORDEN_ASIENTO = 'ORDEN_ASIENTO';
fld_DiarioFECHA_ASIENTO = 'FECHA_ASIENTO';
fld_DiarioID_SUBCUENTA = 'ID_SUBCUENTA';
- fld_DiarioSUBCUENTA = 'SUBCUENTA';
+ fld_DiarioREF_SUBCUENTA = 'REF_SUBCUENTA';
+ fld_DiarioID_EJERCICIO = 'ID_EJERCICIO';
fld_DiarioCONCEPTO = 'CONCEPTO';
+ fld_DiarioDOCUMENTO = 'DOCUMENTO';
fld_DiarioDEBE = 'DEBE';
fld_DiarioHABER = 'HABER';
fld_DiarioPUNTEADO = 'PUNTEADO';
@@ -46,37 +48,37 @@ const
idx_DiarioORDEN_ASIENTO = 2;
idx_DiarioFECHA_ASIENTO = 3;
idx_DiarioID_SUBCUENTA = 4;
- idx_DiarioSUBCUENTA = 5;
- idx_DiarioCONCEPTO = 6;
- idx_DiarioDEBE = 7;
- idx_DiarioHABER = 8;
- idx_DiarioPUNTEADO = 9;
+ idx_DiarioREF_SUBCUENTA = 5;
+ idx_DiarioID_EJERCICIO = 6;
+ idx_DiarioCONCEPTO = 7;
+ idx_DiarioDOCUMENTO = 8;
+ idx_DiarioDEBE = 9;
+ idx_DiarioHABER = 10;
+ idx_DiarioPUNTEADO = 11;
{ Apuntes fields }
fld_ApuntesID = 'ID';
fld_ApuntesID_ASIENTO = 'ID_ASIENTO';
- fld_ApuntesCONCEPTO = 'CONCEPTO';
- fld_ApuntesPUNTEADO = 'PUNTEADO';
- fld_ApuntesDEBE = 'DEBE';
- fld_ApuntesHABER = 'HABER';
- fld_ApuntesID_FACTURA = 'ID_FACTURA';
- fld_ApuntesID_RECIBO = 'ID_RECIBO';
fld_ApuntesID_SUBCUENTA = 'ID_SUBCUENTA';
fld_ApuntesREF_SUBCUENTA = 'REF_SUBCUENTA';
fld_ApuntesSUBCUENTA = 'SUBCUENTA';
+ fld_ApuntesCONCEPTO = 'CONCEPTO';
+ fld_ApuntesDOCUMENTO = 'DOCUMENTO';
+ fld_ApuntesDEBE = 'DEBE';
+ fld_ApuntesHABER = 'HABER';
+ fld_ApuntesPUNTEADO = 'PUNTEADO';
{ Apuntes field indexes }
idx_ApuntesID = 0;
idx_ApuntesID_ASIENTO = 1;
- idx_ApuntesCONCEPTO = 2;
- idx_ApuntesPUNTEADO = 3;
- idx_ApuntesDEBE = 4;
- idx_ApuntesHABER = 5;
- idx_ApuntesID_FACTURA = 6;
- idx_ApuntesID_RECIBO = 7;
- idx_ApuntesID_SUBCUENTA = 8;
- idx_ApuntesREF_SUBCUENTA = 9;
- idx_ApuntesSUBCUENTA = 10;
+ idx_ApuntesID_SUBCUENTA = 2;
+ idx_ApuntesREF_SUBCUENTA = 3;
+ idx_ApuntesSUBCUENTA = 4;
+ idx_ApuntesCONCEPTO = 5;
+ idx_ApuntesDOCUMENTO = 6;
+ idx_ApuntesDEBE = 7;
+ idx_ApuntesHABER = 8;
+ idx_ApuntesPUNTEADO = 9;
{ Asientos fields }
fld_AsientosID = 'ID';
@@ -185,7 +187,7 @@ const
type
{ IDiario }
IDiario = interface(IDAStronglyTypedDataTable)
- ['{E757E9E3-8BCB-446D-A826-EB1B1175DC36}']
+ ['{A0CF9A52-C426-4396-A961-FF7BAD3FB4C0}']
{ Property getters and setters }
function GetID_APUNTEValue: Integer;
procedure SetID_APUNTEValue(const aValue: Integer);
@@ -207,14 +209,22 @@ type
procedure SetID_SUBCUENTAValue(const aValue: Integer);
function GetID_SUBCUENTAIsNull: Boolean;
procedure SetID_SUBCUENTAIsNull(const aValue: Boolean);
- function GetSUBCUENTAValue: String;
- procedure SetSUBCUENTAValue(const aValue: String);
- function GetSUBCUENTAIsNull: Boolean;
- procedure SetSUBCUENTAIsNull(const aValue: Boolean);
+ function GetREF_SUBCUENTAValue: String;
+ procedure SetREF_SUBCUENTAValue(const aValue: String);
+ function GetREF_SUBCUENTAIsNull: Boolean;
+ procedure SetREF_SUBCUENTAIsNull(const aValue: Boolean);
+ function GetID_EJERCICIOValue: Integer;
+ procedure SetID_EJERCICIOValue(const aValue: Integer);
+ function GetID_EJERCICIOIsNull: Boolean;
+ procedure SetID_EJERCICIOIsNull(const aValue: Boolean);
function GetCONCEPTOValue: String;
procedure SetCONCEPTOValue(const aValue: String);
function GetCONCEPTOIsNull: Boolean;
procedure SetCONCEPTOIsNull(const aValue: Boolean);
+ function GetDOCUMENTOValue: String;
+ procedure SetDOCUMENTOValue(const aValue: String);
+ function GetDOCUMENTOIsNull: Boolean;
+ procedure SetDOCUMENTOIsNull(const aValue: Boolean);
function GetDEBEValue: Currency;
procedure SetDEBEValue(const aValue: Currency);
function GetDEBEIsNull: Boolean;
@@ -240,10 +250,14 @@ type
property FECHA_ASIENTOIsNull: Boolean read GetFECHA_ASIENTOIsNull write SetFECHA_ASIENTOIsNull;
property ID_SUBCUENTA: Integer read GetID_SUBCUENTAValue write SetID_SUBCUENTAValue;
property ID_SUBCUENTAIsNull: Boolean read GetID_SUBCUENTAIsNull write SetID_SUBCUENTAIsNull;
- property SUBCUENTA: String read GetSUBCUENTAValue write SetSUBCUENTAValue;
- property SUBCUENTAIsNull: Boolean read GetSUBCUENTAIsNull write SetSUBCUENTAIsNull;
+ property REF_SUBCUENTA: String read GetREF_SUBCUENTAValue write SetREF_SUBCUENTAValue;
+ property REF_SUBCUENTAIsNull: Boolean read GetREF_SUBCUENTAIsNull write SetREF_SUBCUENTAIsNull;
+ property ID_EJERCICIO: Integer read GetID_EJERCICIOValue write SetID_EJERCICIOValue;
+ property ID_EJERCICIOIsNull: Boolean read GetID_EJERCICIOIsNull write SetID_EJERCICIOIsNull;
property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
+ property DOCUMENTO: String read GetDOCUMENTOValue write SetDOCUMENTOValue;
+ property DOCUMENTOIsNull: Boolean read GetDOCUMENTOIsNull write SetDOCUMENTOIsNull;
property DEBE: Currency read GetDEBEValue write SetDEBEValue;
property DEBEIsNull: Boolean read GetDEBEIsNull write SetDEBEIsNull;
property HABER: Currency read GetHABERValue write SetHABERValue;
@@ -277,14 +291,22 @@ type
procedure SetID_SUBCUENTAValue(const aValue: Integer); virtual;
function GetID_SUBCUENTAIsNull: Boolean; virtual;
procedure SetID_SUBCUENTAIsNull(const aValue: Boolean); virtual;
- function GetSUBCUENTAValue: String; virtual;
- procedure SetSUBCUENTAValue(const aValue: String); virtual;
- function GetSUBCUENTAIsNull: Boolean; virtual;
- procedure SetSUBCUENTAIsNull(const aValue: Boolean); virtual;
+ function GetREF_SUBCUENTAValue: String; virtual;
+ procedure SetREF_SUBCUENTAValue(const aValue: String); virtual;
+ function GetREF_SUBCUENTAIsNull: Boolean; virtual;
+ procedure SetREF_SUBCUENTAIsNull(const aValue: Boolean); virtual;
+ function GetID_EJERCICIOValue: Integer; virtual;
+ procedure SetID_EJERCICIOValue(const aValue: Integer); virtual;
+ function GetID_EJERCICIOIsNull: Boolean; virtual;
+ procedure SetID_EJERCICIOIsNull(const aValue: Boolean); virtual;
function GetCONCEPTOValue: String; virtual;
procedure SetCONCEPTOValue(const aValue: String); virtual;
function GetCONCEPTOIsNull: Boolean; virtual;
procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
+ function GetDOCUMENTOValue: String; virtual;
+ procedure SetDOCUMENTOValue(const aValue: String); virtual;
+ function GetDOCUMENTOIsNull: Boolean; virtual;
+ procedure SetDOCUMENTOIsNull(const aValue: Boolean); virtual;
function GetDEBEValue: Currency; virtual;
procedure SetDEBEValue(const aValue: Currency); virtual;
function GetDEBEIsNull: Boolean; virtual;
@@ -309,10 +331,14 @@ type
property FECHA_ASIENTOIsNull: Boolean read GetFECHA_ASIENTOIsNull write SetFECHA_ASIENTOIsNull;
property ID_SUBCUENTA: Integer read GetID_SUBCUENTAValue write SetID_SUBCUENTAValue;
property ID_SUBCUENTAIsNull: Boolean read GetID_SUBCUENTAIsNull write SetID_SUBCUENTAIsNull;
- property SUBCUENTA: String read GetSUBCUENTAValue write SetSUBCUENTAValue;
- property SUBCUENTAIsNull: Boolean read GetSUBCUENTAIsNull write SetSUBCUENTAIsNull;
+ property REF_SUBCUENTA: String read GetREF_SUBCUENTAValue write SetREF_SUBCUENTAValue;
+ property REF_SUBCUENTAIsNull: Boolean read GetREF_SUBCUENTAIsNull write SetREF_SUBCUENTAIsNull;
+ property ID_EJERCICIO: Integer read GetID_EJERCICIOValue write SetID_EJERCICIOValue;
+ property ID_EJERCICIOIsNull: Boolean read GetID_EJERCICIOIsNull write SetID_EJERCICIOIsNull;
property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
+ property DOCUMENTO: String read GetDOCUMENTOValue write SetDOCUMENTOValue;
+ property DOCUMENTOIsNull: Boolean read GetDOCUMENTOIsNull write SetDOCUMENTOIsNull;
property DEBE: Currency read GetDEBEValue write SetDEBEValue;
property DEBEIsNull: Boolean read GetDEBEIsNull write SetDEBEIsNull;
property HABER: Currency read GetHABERValue write SetHABERValue;
@@ -328,7 +354,7 @@ type
{ IApuntes }
IApuntes = interface(IDAStronglyTypedDataTable)
- ['{CF29AC79-C564-4DDC-8CA6-2EE5FA7D14BE}']
+ ['{51E8C72F-072E-4C62-B2C3-50FA1FA437A6}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -338,30 +364,6 @@ type
procedure SetID_ASIENTOValue(const aValue: Integer);
function GetID_ASIENTOIsNull: Boolean;
procedure SetID_ASIENTOIsNull(const aValue: Boolean);
- function GetCONCEPTOValue: String;
- procedure SetCONCEPTOValue(const aValue: String);
- function GetCONCEPTOIsNull: Boolean;
- procedure SetCONCEPTOIsNull(const aValue: Boolean);
- function GetPUNTEADOValue: SmallInt;
- procedure SetPUNTEADOValue(const aValue: SmallInt);
- function GetPUNTEADOIsNull: Boolean;
- procedure SetPUNTEADOIsNull(const aValue: Boolean);
- function GetDEBEValue: Currency;
- procedure SetDEBEValue(const aValue: Currency);
- function GetDEBEIsNull: Boolean;
- procedure SetDEBEIsNull(const aValue: Boolean);
- function GetHABERValue: Currency;
- procedure SetHABERValue(const aValue: Currency);
- function GetHABERIsNull: Boolean;
- procedure SetHABERIsNull(const aValue: Boolean);
- function GetID_FACTURAValue: Integer;
- procedure SetID_FACTURAValue(const aValue: Integer);
- function GetID_FACTURAIsNull: Boolean;
- procedure SetID_FACTURAIsNull(const aValue: Boolean);
- function GetID_RECIBOValue: Integer;
- procedure SetID_RECIBOValue(const aValue: Integer);
- function GetID_RECIBOIsNull: Boolean;
- procedure SetID_RECIBOIsNull(const aValue: Boolean);
function GetID_SUBCUENTAValue: Integer;
procedure SetID_SUBCUENTAValue(const aValue: Integer);
function GetID_SUBCUENTAIsNull: Boolean;
@@ -374,6 +376,26 @@ type
procedure SetSUBCUENTAValue(const aValue: String);
function GetSUBCUENTAIsNull: Boolean;
procedure SetSUBCUENTAIsNull(const aValue: Boolean);
+ function GetCONCEPTOValue: String;
+ procedure SetCONCEPTOValue(const aValue: String);
+ function GetCONCEPTOIsNull: Boolean;
+ procedure SetCONCEPTOIsNull(const aValue: Boolean);
+ function GetDOCUMENTOValue: String;
+ procedure SetDOCUMENTOValue(const aValue: String);
+ function GetDOCUMENTOIsNull: Boolean;
+ procedure SetDOCUMENTOIsNull(const aValue: Boolean);
+ function GetDEBEValue: Currency;
+ procedure SetDEBEValue(const aValue: Currency);
+ function GetDEBEIsNull: Boolean;
+ procedure SetDEBEIsNull(const aValue: Boolean);
+ function GetHABERValue: Currency;
+ procedure SetHABERValue(const aValue: Currency);
+ function GetHABERIsNull: Boolean;
+ procedure SetHABERIsNull(const aValue: Boolean);
+ function GetPUNTEADOValue: SmallInt;
+ procedure SetPUNTEADOValue(const aValue: SmallInt);
+ function GetPUNTEADOIsNull: Boolean;
+ procedure SetPUNTEADOIsNull(const aValue: Boolean);
{ Properties }
@@ -381,24 +403,22 @@ type
property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
property ID_ASIENTO: Integer read GetID_ASIENTOValue write SetID_ASIENTOValue;
property ID_ASIENTOIsNull: Boolean read GetID_ASIENTOIsNull write SetID_ASIENTOIsNull;
- property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
- property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
- property PUNTEADO: SmallInt read GetPUNTEADOValue write SetPUNTEADOValue;
- property PUNTEADOIsNull: Boolean read GetPUNTEADOIsNull write SetPUNTEADOIsNull;
- property DEBE: Currency read GetDEBEValue write SetDEBEValue;
- property DEBEIsNull: Boolean read GetDEBEIsNull write SetDEBEIsNull;
- property HABER: Currency read GetHABERValue write SetHABERValue;
- property HABERIsNull: Boolean read GetHABERIsNull write SetHABERIsNull;
- property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
- property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
- property ID_RECIBO: Integer read GetID_RECIBOValue write SetID_RECIBOValue;
- property ID_RECIBOIsNull: Boolean read GetID_RECIBOIsNull write SetID_RECIBOIsNull;
property ID_SUBCUENTA: Integer read GetID_SUBCUENTAValue write SetID_SUBCUENTAValue;
property ID_SUBCUENTAIsNull: Boolean read GetID_SUBCUENTAIsNull write SetID_SUBCUENTAIsNull;
property REF_SUBCUENTA: String read GetREF_SUBCUENTAValue write SetREF_SUBCUENTAValue;
property REF_SUBCUENTAIsNull: Boolean read GetREF_SUBCUENTAIsNull write SetREF_SUBCUENTAIsNull;
property SUBCUENTA: String read GetSUBCUENTAValue write SetSUBCUENTAValue;
property SUBCUENTAIsNull: Boolean read GetSUBCUENTAIsNull write SetSUBCUENTAIsNull;
+ property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
+ property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
+ property DOCUMENTO: String read GetDOCUMENTOValue write SetDOCUMENTOValue;
+ property DOCUMENTOIsNull: Boolean read GetDOCUMENTOIsNull write SetDOCUMENTOIsNull;
+ property DEBE: Currency read GetDEBEValue write SetDEBEValue;
+ property DEBEIsNull: Boolean read GetDEBEIsNull write SetDEBEIsNull;
+ property HABER: Currency read GetHABERValue write SetHABERValue;
+ property HABERIsNull: Boolean read GetHABERIsNull write SetHABERIsNull;
+ property PUNTEADO: SmallInt read GetPUNTEADOValue write SetPUNTEADOValue;
+ property PUNTEADOIsNull: Boolean read GetPUNTEADOIsNull write SetPUNTEADOIsNull;
end;
{ TApuntesDataTableRules }
@@ -414,30 +434,6 @@ type
procedure SetID_ASIENTOValue(const aValue: Integer); virtual;
function GetID_ASIENTOIsNull: Boolean; virtual;
procedure SetID_ASIENTOIsNull(const aValue: Boolean); virtual;
- function GetCONCEPTOValue: String; virtual;
- procedure SetCONCEPTOValue(const aValue: String); virtual;
- function GetCONCEPTOIsNull: Boolean; virtual;
- procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
- function GetPUNTEADOValue: SmallInt; virtual;
- procedure SetPUNTEADOValue(const aValue: SmallInt); virtual;
- function GetPUNTEADOIsNull: Boolean; virtual;
- procedure SetPUNTEADOIsNull(const aValue: Boolean); virtual;
- function GetDEBEValue: Currency; virtual;
- procedure SetDEBEValue(const aValue: Currency); virtual;
- function GetDEBEIsNull: Boolean; virtual;
- procedure SetDEBEIsNull(const aValue: Boolean); virtual;
- function GetHABERValue: Currency; virtual;
- procedure SetHABERValue(const aValue: Currency); virtual;
- function GetHABERIsNull: Boolean; virtual;
- procedure SetHABERIsNull(const aValue: Boolean); virtual;
- function GetID_FACTURAValue: Integer; virtual;
- procedure SetID_FACTURAValue(const aValue: Integer); virtual;
- function GetID_FACTURAIsNull: Boolean; virtual;
- procedure SetID_FACTURAIsNull(const aValue: Boolean); virtual;
- function GetID_RECIBOValue: Integer; virtual;
- procedure SetID_RECIBOValue(const aValue: Integer); virtual;
- function GetID_RECIBOIsNull: Boolean; virtual;
- procedure SetID_RECIBOIsNull(const aValue: Boolean); virtual;
function GetID_SUBCUENTAValue: Integer; virtual;
procedure SetID_SUBCUENTAValue(const aValue: Integer); virtual;
function GetID_SUBCUENTAIsNull: Boolean; virtual;
@@ -450,30 +446,48 @@ type
procedure SetSUBCUENTAValue(const aValue: String); virtual;
function GetSUBCUENTAIsNull: Boolean; virtual;
procedure SetSUBCUENTAIsNull(const aValue: Boolean); virtual;
+ function GetCONCEPTOValue: String; virtual;
+ procedure SetCONCEPTOValue(const aValue: String); virtual;
+ function GetCONCEPTOIsNull: Boolean; virtual;
+ procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
+ function GetDOCUMENTOValue: String; virtual;
+ procedure SetDOCUMENTOValue(const aValue: String); virtual;
+ function GetDOCUMENTOIsNull: Boolean; virtual;
+ procedure SetDOCUMENTOIsNull(const aValue: Boolean); virtual;
+ function GetDEBEValue: Currency; virtual;
+ procedure SetDEBEValue(const aValue: Currency); virtual;
+ function GetDEBEIsNull: Boolean; virtual;
+ procedure SetDEBEIsNull(const aValue: Boolean); virtual;
+ function GetHABERValue: Currency; virtual;
+ procedure SetHABERValue(const aValue: Currency); virtual;
+ function GetHABERIsNull: Boolean; virtual;
+ procedure SetHABERIsNull(const aValue: Boolean); virtual;
+ function GetPUNTEADOValue: SmallInt; virtual;
+ procedure SetPUNTEADOValue(const aValue: SmallInt); virtual;
+ function GetPUNTEADOIsNull: Boolean; virtual;
+ procedure SetPUNTEADOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
property ID_ASIENTO: Integer read GetID_ASIENTOValue write SetID_ASIENTOValue;
property ID_ASIENTOIsNull: Boolean read GetID_ASIENTOIsNull write SetID_ASIENTOIsNull;
- property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
- property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
- property PUNTEADO: SmallInt read GetPUNTEADOValue write SetPUNTEADOValue;
- property PUNTEADOIsNull: Boolean read GetPUNTEADOIsNull write SetPUNTEADOIsNull;
- property DEBE: Currency read GetDEBEValue write SetDEBEValue;
- property DEBEIsNull: Boolean read GetDEBEIsNull write SetDEBEIsNull;
- property HABER: Currency read GetHABERValue write SetHABERValue;
- property HABERIsNull: Boolean read GetHABERIsNull write SetHABERIsNull;
- property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
- property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
- property ID_RECIBO: Integer read GetID_RECIBOValue write SetID_RECIBOValue;
- property ID_RECIBOIsNull: Boolean read GetID_RECIBOIsNull write SetID_RECIBOIsNull;
property ID_SUBCUENTA: Integer read GetID_SUBCUENTAValue write SetID_SUBCUENTAValue;
property ID_SUBCUENTAIsNull: Boolean read GetID_SUBCUENTAIsNull write SetID_SUBCUENTAIsNull;
property REF_SUBCUENTA: String read GetREF_SUBCUENTAValue write SetREF_SUBCUENTAValue;
property REF_SUBCUENTAIsNull: Boolean read GetREF_SUBCUENTAIsNull write SetREF_SUBCUENTAIsNull;
property SUBCUENTA: String read GetSUBCUENTAValue write SetSUBCUENTAValue;
property SUBCUENTAIsNull: Boolean read GetSUBCUENTAIsNull write SetSUBCUENTAIsNull;
+ property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
+ property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
+ property DOCUMENTO: String read GetDOCUMENTOValue write SetDOCUMENTOValue;
+ property DOCUMENTOIsNull: Boolean read GetDOCUMENTOIsNull write SetDOCUMENTOIsNull;
+ property DEBE: Currency read GetDEBEValue write SetDEBEValue;
+ property DEBEIsNull: Boolean read GetDEBEIsNull write SetDEBEIsNull;
+ property HABER: Currency read GetHABERValue write SetHABERValue;
+ property HABERIsNull: Boolean read GetHABERIsNull write SetHABERIsNull;
+ property PUNTEADO: SmallInt read GetPUNTEADOValue write SetPUNTEADOValue;
+ property PUNTEADOIsNull: Boolean read GetPUNTEADOIsNull write SetPUNTEADOIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@@ -483,7 +497,7 @@ type
{ IAsientos }
IAsientos = interface(IDAStronglyTypedDataTable)
- ['{F3E1D325-C066-4673-BC4A-89E65296F0C5}']
+ ['{60A1BF8D-DDCC-48DC-9088-839CD788AC5B}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -542,7 +556,7 @@ type
{ ISubCuentas }
ISubCuentas = interface(IDAStronglyTypedDataTable)
- ['{D0FEC922-7886-4A37-B42B-AFB69420945B}']
+ ['{3CE4DD12-1C80-4AFD-BE4B-5892BCA821AC}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -673,7 +687,7 @@ type
{ ICuentas }
ICuentas = interface(IDAStronglyTypedDataTable)
- ['{EEEB0A52-53FB-45B8-94DD-58CB8627F637}']
+ ['{366FAC37-21A7-4BA3-8428-31AD7845301B}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -816,7 +830,7 @@ type
{ ICuentasEspeciales }
ICuentasEspeciales = interface(IDAStronglyTypedDataTable)
- ['{2E1CFF1A-E93A-478C-91AA-35905D38E54D}']
+ ['{1E7CF1B8-76C6-4F5A-A504-C3D03AA97A72}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -875,7 +889,7 @@ type
{ IEpigrafes }
IEpigrafes = interface(IDAStronglyTypedDataTable)
- ['{580D7CFA-4B47-4B42-AB87-3CA51E617AE7}']
+ ['{90A498D5-44D9-4F8D-AB9A-E3EE0F3C64BC}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -970,7 +984,7 @@ type
{ IBalances }
IBalances = interface(IDAStronglyTypedDataTable)
- ['{2BC59ABB-E93C-4C3C-BEB2-832904CCF81D}']
+ ['{896BE912-E8F7-4F68-AE2C-7A8E3ACFC8CB}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -1219,25 +1233,46 @@ begin
DataTable.Fields[idx_DiarioID_SUBCUENTA].AsVariant := Null;
end;
-function TDiarioDataTableRules.GetSUBCUENTAValue: String;
+function TDiarioDataTableRules.GetREF_SUBCUENTAValue: String;
begin
- result := DataTable.Fields[idx_DiarioSUBCUENTA].AsString;
+ result := DataTable.Fields[idx_DiarioREF_SUBCUENTA].AsString;
end;
-procedure TDiarioDataTableRules.SetSUBCUENTAValue(const aValue: String);
+procedure TDiarioDataTableRules.SetREF_SUBCUENTAValue(const aValue: String);
begin
- DataTable.Fields[idx_DiarioSUBCUENTA].AsString := aValue;
+ DataTable.Fields[idx_DiarioREF_SUBCUENTA].AsString := aValue;
end;
-function TDiarioDataTableRules.GetSUBCUENTAIsNull: boolean;
+function TDiarioDataTableRules.GetREF_SUBCUENTAIsNull: boolean;
begin
- result := DataTable.Fields[idx_DiarioSUBCUENTA].IsNull;
+ result := DataTable.Fields[idx_DiarioREF_SUBCUENTA].IsNull;
end;
-procedure TDiarioDataTableRules.SetSUBCUENTAIsNull(const aValue: Boolean);
+procedure TDiarioDataTableRules.SetREF_SUBCUENTAIsNull(const aValue: Boolean);
begin
if aValue then
- DataTable.Fields[idx_DiarioSUBCUENTA].AsVariant := Null;
+ DataTable.Fields[idx_DiarioREF_SUBCUENTA].AsVariant := Null;
+end;
+
+function TDiarioDataTableRules.GetID_EJERCICIOValue: Integer;
+begin
+ result := DataTable.Fields[idx_DiarioID_EJERCICIO].AsInteger;
+end;
+
+procedure TDiarioDataTableRules.SetID_EJERCICIOValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_DiarioID_EJERCICIO].AsInteger := aValue;
+end;
+
+function TDiarioDataTableRules.GetID_EJERCICIOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_DiarioID_EJERCICIO].IsNull;
+end;
+
+procedure TDiarioDataTableRules.SetID_EJERCICIOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_DiarioID_EJERCICIO].AsVariant := Null;
end;
function TDiarioDataTableRules.GetCONCEPTOValue: String;
@@ -1261,6 +1296,27 @@ begin
DataTable.Fields[idx_DiarioCONCEPTO].AsVariant := Null;
end;
+function TDiarioDataTableRules.GetDOCUMENTOValue: String;
+begin
+ result := DataTable.Fields[idx_DiarioDOCUMENTO].AsString;
+end;
+
+procedure TDiarioDataTableRules.SetDOCUMENTOValue(const aValue: String);
+begin
+ DataTable.Fields[idx_DiarioDOCUMENTO].AsString := aValue;
+end;
+
+function TDiarioDataTableRules.GetDOCUMENTOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_DiarioDOCUMENTO].IsNull;
+end;
+
+procedure TDiarioDataTableRules.SetDOCUMENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_DiarioDOCUMENTO].AsVariant := Null;
+end;
+
function TDiarioDataTableRules.GetDEBEValue: Currency;
begin
result := DataTable.Fields[idx_DiarioDEBE].AsCurrency;
@@ -1378,132 +1434,6 @@ begin
DataTable.Fields[idx_ApuntesID_ASIENTO].AsVariant := Null;
end;
-function TApuntesDataTableRules.GetCONCEPTOValue: String;
-begin
- result := DataTable.Fields[idx_ApuntesCONCEPTO].AsString;
-end;
-
-procedure TApuntesDataTableRules.SetCONCEPTOValue(const aValue: String);
-begin
- DataTable.Fields[idx_ApuntesCONCEPTO].AsString := aValue;
-end;
-
-function TApuntesDataTableRules.GetCONCEPTOIsNull: boolean;
-begin
- result := DataTable.Fields[idx_ApuntesCONCEPTO].IsNull;
-end;
-
-procedure TApuntesDataTableRules.SetCONCEPTOIsNull(const aValue: Boolean);
-begin
- if aValue then
- DataTable.Fields[idx_ApuntesCONCEPTO].AsVariant := Null;
-end;
-
-function TApuntesDataTableRules.GetPUNTEADOValue: SmallInt;
-begin
- result := DataTable.Fields[idx_ApuntesPUNTEADO].AsSmallInt;
-end;
-
-procedure TApuntesDataTableRules.SetPUNTEADOValue(const aValue: SmallInt);
-begin
- DataTable.Fields[idx_ApuntesPUNTEADO].AsSmallInt := aValue;
-end;
-
-function TApuntesDataTableRules.GetPUNTEADOIsNull: boolean;
-begin
- result := DataTable.Fields[idx_ApuntesPUNTEADO].IsNull;
-end;
-
-procedure TApuntesDataTableRules.SetPUNTEADOIsNull(const aValue: Boolean);
-begin
- if aValue then
- DataTable.Fields[idx_ApuntesPUNTEADO].AsVariant := Null;
-end;
-
-function TApuntesDataTableRules.GetDEBEValue: Currency;
-begin
- result := DataTable.Fields[idx_ApuntesDEBE].AsCurrency;
-end;
-
-procedure TApuntesDataTableRules.SetDEBEValue(const aValue: Currency);
-begin
- DataTable.Fields[idx_ApuntesDEBE].AsCurrency := aValue;
-end;
-
-function TApuntesDataTableRules.GetDEBEIsNull: boolean;
-begin
- result := DataTable.Fields[idx_ApuntesDEBE].IsNull;
-end;
-
-procedure TApuntesDataTableRules.SetDEBEIsNull(const aValue: Boolean);
-begin
- if aValue then
- DataTable.Fields[idx_ApuntesDEBE].AsVariant := Null;
-end;
-
-function TApuntesDataTableRules.GetHABERValue: Currency;
-begin
- result := DataTable.Fields[idx_ApuntesHABER].AsCurrency;
-end;
-
-procedure TApuntesDataTableRules.SetHABERValue(const aValue: Currency);
-begin
- DataTable.Fields[idx_ApuntesHABER].AsCurrency := aValue;
-end;
-
-function TApuntesDataTableRules.GetHABERIsNull: boolean;
-begin
- result := DataTable.Fields[idx_ApuntesHABER].IsNull;
-end;
-
-procedure TApuntesDataTableRules.SetHABERIsNull(const aValue: Boolean);
-begin
- if aValue then
- DataTable.Fields[idx_ApuntesHABER].AsVariant := Null;
-end;
-
-function TApuntesDataTableRules.GetID_FACTURAValue: Integer;
-begin
- result := DataTable.Fields[idx_ApuntesID_FACTURA].AsInteger;
-end;
-
-procedure TApuntesDataTableRules.SetID_FACTURAValue(const aValue: Integer);
-begin
- DataTable.Fields[idx_ApuntesID_FACTURA].AsInteger := aValue;
-end;
-
-function TApuntesDataTableRules.GetID_FACTURAIsNull: boolean;
-begin
- result := DataTable.Fields[idx_ApuntesID_FACTURA].IsNull;
-end;
-
-procedure TApuntesDataTableRules.SetID_FACTURAIsNull(const aValue: Boolean);
-begin
- if aValue then
- DataTable.Fields[idx_ApuntesID_FACTURA].AsVariant := Null;
-end;
-
-function TApuntesDataTableRules.GetID_RECIBOValue: Integer;
-begin
- result := DataTable.Fields[idx_ApuntesID_RECIBO].AsInteger;
-end;
-
-procedure TApuntesDataTableRules.SetID_RECIBOValue(const aValue: Integer);
-begin
- DataTable.Fields[idx_ApuntesID_RECIBO].AsInteger := aValue;
-end;
-
-function TApuntesDataTableRules.GetID_RECIBOIsNull: boolean;
-begin
- result := DataTable.Fields[idx_ApuntesID_RECIBO].IsNull;
-end;
-
-procedure TApuntesDataTableRules.SetID_RECIBOIsNull(const aValue: Boolean);
-begin
- if aValue then
- DataTable.Fields[idx_ApuntesID_RECIBO].AsVariant := Null;
-end;
-
function TApuntesDataTableRules.GetID_SUBCUENTAValue: Integer;
begin
result := DataTable.Fields[idx_ApuntesID_SUBCUENTA].AsInteger;
@@ -1567,6 +1497,111 @@ begin
DataTable.Fields[idx_ApuntesSUBCUENTA].AsVariant := Null;
end;
+function TApuntesDataTableRules.GetCONCEPTOValue: String;
+begin
+ result := DataTable.Fields[idx_ApuntesCONCEPTO].AsString;
+end;
+
+procedure TApuntesDataTableRules.SetCONCEPTOValue(const aValue: String);
+begin
+ DataTable.Fields[idx_ApuntesCONCEPTO].AsString := aValue;
+end;
+
+function TApuntesDataTableRules.GetCONCEPTOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_ApuntesCONCEPTO].IsNull;
+end;
+
+procedure TApuntesDataTableRules.SetCONCEPTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_ApuntesCONCEPTO].AsVariant := Null;
+end;
+
+function TApuntesDataTableRules.GetDOCUMENTOValue: String;
+begin
+ result := DataTable.Fields[idx_ApuntesDOCUMENTO].AsString;
+end;
+
+procedure TApuntesDataTableRules.SetDOCUMENTOValue(const aValue: String);
+begin
+ DataTable.Fields[idx_ApuntesDOCUMENTO].AsString := aValue;
+end;
+
+function TApuntesDataTableRules.GetDOCUMENTOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_ApuntesDOCUMENTO].IsNull;
+end;
+
+procedure TApuntesDataTableRules.SetDOCUMENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_ApuntesDOCUMENTO].AsVariant := Null;
+end;
+
+function TApuntesDataTableRules.GetDEBEValue: Currency;
+begin
+ result := DataTable.Fields[idx_ApuntesDEBE].AsCurrency;
+end;
+
+procedure TApuntesDataTableRules.SetDEBEValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_ApuntesDEBE].AsCurrency := aValue;
+end;
+
+function TApuntesDataTableRules.GetDEBEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_ApuntesDEBE].IsNull;
+end;
+
+procedure TApuntesDataTableRules.SetDEBEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_ApuntesDEBE].AsVariant := Null;
+end;
+
+function TApuntesDataTableRules.GetHABERValue: Currency;
+begin
+ result := DataTable.Fields[idx_ApuntesHABER].AsCurrency;
+end;
+
+procedure TApuntesDataTableRules.SetHABERValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_ApuntesHABER].AsCurrency := aValue;
+end;
+
+function TApuntesDataTableRules.GetHABERIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_ApuntesHABER].IsNull;
+end;
+
+procedure TApuntesDataTableRules.SetHABERIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_ApuntesHABER].AsVariant := Null;
+end;
+
+function TApuntesDataTableRules.GetPUNTEADOValue: SmallInt;
+begin
+ result := DataTable.Fields[idx_ApuntesPUNTEADO].AsSmallInt;
+end;
+
+procedure TApuntesDataTableRules.SetPUNTEADOValue(const aValue: SmallInt);
+begin
+ DataTable.Fields[idx_ApuntesPUNTEADO].AsSmallInt := aValue;
+end;
+
+function TApuntesDataTableRules.GetPUNTEADOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_ApuntesPUNTEADO].IsNull;
+end;
+
+procedure TApuntesDataTableRules.SetPUNTEADOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_ApuntesPUNTEADO].AsVariant := Null;
+end;
+
{ TAsientosDataTableRules }
constructor TAsientosDataTableRules.Create(aDataTable: TDADataTable);
diff --git a/Source/Modulos/Contabilidad/Model/schContabilidadServer_Intf.pas b/Source/Modulos/Contabilidad/Model/schContabilidadServer_Intf.pas
index 01f139e2..2d3da657 100644
--- a/Source/Modulos/Contabilidad/Model/schContabilidadServer_Intf.pas
+++ b/Source/Modulos/Contabilidad/Model/schContabilidadServer_Intf.pas
@@ -9,27 +9,29 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
- RID_DiarioDelta = '{57F639D0-753A-4DD5-8553-4836768A68E8}';
- RID_ApuntesDelta = '{74F9A357-E9A3-454C-8D87-86065C5B2C10}';
- RID_AsientosDelta = '{291CBAA5-42AB-45D6-A5D0-59D694A8960E}';
- RID_SubCuentasDelta = '{0C092B2B-41F6-4F70-B073-F1B68F9FA233}';
- RID_CuentasDelta = '{152D2AD4-8B66-49AC-8D07-33C76A60CB85}';
- RID_CuentasEspecialesDelta = '{0E63EE73-6CE9-4F33-9DB7-B02B1190DA20}';
- RID_EpigrafesDelta = '{2EB3D408-B118-4BC5-AABE-FAC7393086AB}';
- RID_BalancesDelta = '{964A4194-0DF5-4CA7-A922-DB219CC96B39}';
+ RID_DiarioDelta = '{00C7E090-F36E-4A94-924F-81591065C131}';
+ RID_ApuntesDelta = '{462A727F-D66D-4493-83A3-6CAF34F994D7}';
+ RID_AsientosDelta = '{3A7F1EB1-7C5B-47BF-8DFA-4C86EFF0686E}';
+ RID_SubCuentasDelta = '{E88435DC-570C-43D8-A8B0-004C1C775CF0}';
+ RID_CuentasDelta = '{A26B4CE1-63F7-49F3-8A0A-F2840D95587C}';
+ RID_CuentasEspecialesDelta = '{089CB669-7830-4908-9344-42AEC93D8320}';
+ RID_EpigrafesDelta = '{BFE5CD3F-52C2-400A-93A6-ACB723F7390E}';
+ RID_BalancesDelta = '{543250BB-1C2E-4448-AEA8-EDC23591A2ED}';
type
{ IDiarioDelta }
IDiarioDelta = interface(IDiario)
- ['{57F639D0-753A-4DD5-8553-4836768A68E8}']
+ ['{00C7E090-F36E-4A94-924F-81591065C131}']
{ Property getters and setters }
function GetOldID_APUNTEValue : Integer;
function GetOldID_ASIENTOValue : Integer;
function GetOldORDEN_ASIENTOValue : Integer;
function GetOldFECHA_ASIENTOValue : DateTime;
function GetOldID_SUBCUENTAValue : Integer;
- function GetOldSUBCUENTAValue : String;
+ function GetOldREF_SUBCUENTAValue : String;
+ function GetOldID_EJERCICIOValue : Integer;
function GetOldCONCEPTOValue : String;
+ function GetOldDOCUMENTOValue : String;
function GetOldDEBEValue : Currency;
function GetOldHABERValue : Currency;
function GetOldPUNTEADOValue : SmallInt;
@@ -40,8 +42,10 @@ type
property OldORDEN_ASIENTO : Integer read GetOldORDEN_ASIENTOValue;
property OldFECHA_ASIENTO : DateTime read GetOldFECHA_ASIENTOValue;
property OldID_SUBCUENTA : Integer read GetOldID_SUBCUENTAValue;
- property OldSUBCUENTA : String read GetOldSUBCUENTAValue;
+ property OldREF_SUBCUENTA : String read GetOldREF_SUBCUENTAValue;
+ property OldID_EJERCICIO : Integer read GetOldID_EJERCICIOValue;
property OldCONCEPTO : String read GetOldCONCEPTOValue;
+ property OldDOCUMENTO : String read GetOldDOCUMENTOValue;
property OldDEBE : Currency read GetOldDEBEValue;
property OldHABER : Currency read GetOldHABERValue;
property OldPUNTEADO : SmallInt read GetOldPUNTEADOValue;
@@ -82,18 +86,30 @@ type
function GetOldID_SUBCUENTAIsNull: Boolean; virtual;
procedure SetID_SUBCUENTAValue(const aValue: Integer); virtual;
procedure SetID_SUBCUENTAIsNull(const aValue: Boolean); virtual;
- function GetSUBCUENTAValue: String; virtual;
- function GetSUBCUENTAIsNull: Boolean; virtual;
- function GetOldSUBCUENTAValue: String; virtual;
- function GetOldSUBCUENTAIsNull: Boolean; virtual;
- procedure SetSUBCUENTAValue(const aValue: String); virtual;
- procedure SetSUBCUENTAIsNull(const aValue: Boolean); virtual;
+ function GetREF_SUBCUENTAValue: String; virtual;
+ function GetREF_SUBCUENTAIsNull: Boolean; virtual;
+ function GetOldREF_SUBCUENTAValue: String; virtual;
+ function GetOldREF_SUBCUENTAIsNull: Boolean; virtual;
+ procedure SetREF_SUBCUENTAValue(const aValue: String); virtual;
+ procedure SetREF_SUBCUENTAIsNull(const aValue: Boolean); virtual;
+ function GetID_EJERCICIOValue: Integer; virtual;
+ function GetID_EJERCICIOIsNull: Boolean; virtual;
+ function GetOldID_EJERCICIOValue: Integer; virtual;
+ function GetOldID_EJERCICIOIsNull: Boolean; virtual;
+ procedure SetID_EJERCICIOValue(const aValue: Integer); virtual;
+ procedure SetID_EJERCICIOIsNull(const aValue: Boolean); virtual;
function GetCONCEPTOValue: String; virtual;
function GetCONCEPTOIsNull: Boolean; virtual;
function GetOldCONCEPTOValue: String; virtual;
function GetOldCONCEPTOIsNull: Boolean; virtual;
procedure SetCONCEPTOValue(const aValue: String); virtual;
procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
+ function GetDOCUMENTOValue: String; virtual;
+ function GetDOCUMENTOIsNull: Boolean; virtual;
+ function GetOldDOCUMENTOValue: String; virtual;
+ function GetOldDOCUMENTOIsNull: Boolean; virtual;
+ procedure SetDOCUMENTOValue(const aValue: String); virtual;
+ procedure SetDOCUMENTOIsNull(const aValue: Boolean); virtual;
function GetDEBEValue: Currency; virtual;
function GetDEBEIsNull: Boolean; virtual;
function GetOldDEBEValue: Currency; virtual;
@@ -134,14 +150,22 @@ type
property ID_SUBCUENTAIsNull : Boolean read GetID_SUBCUENTAIsNull write SetID_SUBCUENTAIsNull;
property OldID_SUBCUENTA : Integer read GetOldID_SUBCUENTAValue;
property OldID_SUBCUENTAIsNull : Boolean read GetOldID_SUBCUENTAIsNull;
- property SUBCUENTA : String read GetSUBCUENTAValue write SetSUBCUENTAValue;
- property SUBCUENTAIsNull : Boolean read GetSUBCUENTAIsNull write SetSUBCUENTAIsNull;
- property OldSUBCUENTA : String read GetOldSUBCUENTAValue;
- property OldSUBCUENTAIsNull : Boolean read GetOldSUBCUENTAIsNull;
+ property REF_SUBCUENTA : String read GetREF_SUBCUENTAValue write SetREF_SUBCUENTAValue;
+ property REF_SUBCUENTAIsNull : Boolean read GetREF_SUBCUENTAIsNull write SetREF_SUBCUENTAIsNull;
+ property OldREF_SUBCUENTA : String read GetOldREF_SUBCUENTAValue;
+ property OldREF_SUBCUENTAIsNull : Boolean read GetOldREF_SUBCUENTAIsNull;
+ property ID_EJERCICIO : Integer read GetID_EJERCICIOValue write SetID_EJERCICIOValue;
+ property ID_EJERCICIOIsNull : Boolean read GetID_EJERCICIOIsNull write SetID_EJERCICIOIsNull;
+ property OldID_EJERCICIO : Integer read GetOldID_EJERCICIOValue;
+ property OldID_EJERCICIOIsNull : Boolean read GetOldID_EJERCICIOIsNull;
property CONCEPTO : String read GetCONCEPTOValue write SetCONCEPTOValue;
property CONCEPTOIsNull : Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
property OldCONCEPTO : String read GetOldCONCEPTOValue;
property OldCONCEPTOIsNull : Boolean read GetOldCONCEPTOIsNull;
+ property DOCUMENTO : String read GetDOCUMENTOValue write SetDOCUMENTOValue;
+ property DOCUMENTOIsNull : Boolean read GetDOCUMENTOIsNull write SetDOCUMENTOIsNull;
+ property OldDOCUMENTO : String read GetOldDOCUMENTOValue;
+ property OldDOCUMENTOIsNull : Boolean read GetOldDOCUMENTOIsNull;
property DEBE : Currency read GetDEBEValue write SetDEBEValue;
property DEBEIsNull : Boolean read GetDEBEIsNull write SetDEBEIsNull;
property OldDEBE : Currency read GetOldDEBEValue;
@@ -163,32 +187,30 @@ type
{ IApuntesDelta }
IApuntesDelta = interface(IApuntes)
- ['{74F9A357-E9A3-454C-8D87-86065C5B2C10}']
+ ['{462A727F-D66D-4493-83A3-6CAF34F994D7}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_ASIENTOValue : Integer;
- function GetOldCONCEPTOValue : String;
- function GetOldPUNTEADOValue : SmallInt;
- function GetOldDEBEValue : Currency;
- function GetOldHABERValue : Currency;
- function GetOldID_FACTURAValue : Integer;
- function GetOldID_RECIBOValue : Integer;
function GetOldID_SUBCUENTAValue : Integer;
function GetOldREF_SUBCUENTAValue : String;
function GetOldSUBCUENTAValue : String;
+ function GetOldCONCEPTOValue : String;
+ function GetOldDOCUMENTOValue : String;
+ function GetOldDEBEValue : Currency;
+ function GetOldHABERValue : Currency;
+ function GetOldPUNTEADOValue : SmallInt;
{ Properties }
property OldID : Integer read GetOldIDValue;
property OldID_ASIENTO : Integer read GetOldID_ASIENTOValue;
- property OldCONCEPTO : String read GetOldCONCEPTOValue;
- property OldPUNTEADO : SmallInt read GetOldPUNTEADOValue;
- property OldDEBE : Currency read GetOldDEBEValue;
- property OldHABER : Currency read GetOldHABERValue;
- property OldID_FACTURA : Integer read GetOldID_FACTURAValue;
- property OldID_RECIBO : Integer read GetOldID_RECIBOValue;
property OldID_SUBCUENTA : Integer read GetOldID_SUBCUENTAValue;
property OldREF_SUBCUENTA : String read GetOldREF_SUBCUENTAValue;
property OldSUBCUENTA : String read GetOldSUBCUENTAValue;
+ property OldCONCEPTO : String read GetOldCONCEPTOValue;
+ property OldDOCUMENTO : String read GetOldDOCUMENTOValue;
+ property OldDEBE : Currency read GetOldDEBEValue;
+ property OldHABER : Currency read GetOldHABERValue;
+ property OldPUNTEADO : SmallInt read GetOldPUNTEADOValue;
end;
{ TApuntesBusinessProcessorRules }
@@ -208,42 +230,6 @@ type
function GetOldID_ASIENTOIsNull: Boolean; virtual;
procedure SetID_ASIENTOValue(const aValue: Integer); virtual;
procedure SetID_ASIENTOIsNull(const aValue: Boolean); virtual;
- function GetCONCEPTOValue: String; virtual;
- function GetCONCEPTOIsNull: Boolean; virtual;
- function GetOldCONCEPTOValue: String; virtual;
- function GetOldCONCEPTOIsNull: Boolean; virtual;
- procedure SetCONCEPTOValue(const aValue: String); virtual;
- procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
- function GetPUNTEADOValue: SmallInt; virtual;
- function GetPUNTEADOIsNull: Boolean; virtual;
- function GetOldPUNTEADOValue: SmallInt; virtual;
- function GetOldPUNTEADOIsNull: Boolean; virtual;
- procedure SetPUNTEADOValue(const aValue: SmallInt); virtual;
- procedure SetPUNTEADOIsNull(const aValue: Boolean); virtual;
- function GetDEBEValue: Currency; virtual;
- function GetDEBEIsNull: Boolean; virtual;
- function GetOldDEBEValue: Currency; virtual;
- function GetOldDEBEIsNull: Boolean; virtual;
- procedure SetDEBEValue(const aValue: Currency); virtual;
- procedure SetDEBEIsNull(const aValue: Boolean); virtual;
- function GetHABERValue: Currency; virtual;
- function GetHABERIsNull: Boolean; virtual;
- function GetOldHABERValue: Currency; virtual;
- function GetOldHABERIsNull: Boolean; virtual;
- procedure SetHABERValue(const aValue: Currency); virtual;
- procedure SetHABERIsNull(const aValue: Boolean); virtual;
- function GetID_FACTURAValue: Integer; virtual;
- function GetID_FACTURAIsNull: Boolean; virtual;
- function GetOldID_FACTURAValue: Integer; virtual;
- function GetOldID_FACTURAIsNull: Boolean; virtual;
- procedure SetID_FACTURAValue(const aValue: Integer); virtual;
- procedure SetID_FACTURAIsNull(const aValue: Boolean); virtual;
- function GetID_RECIBOValue: Integer; virtual;
- function GetID_RECIBOIsNull: Boolean; virtual;
- function GetOldID_RECIBOValue: Integer; virtual;
- function GetOldID_RECIBOIsNull: Boolean; virtual;
- procedure SetID_RECIBOValue(const aValue: Integer); virtual;
- procedure SetID_RECIBOIsNull(const aValue: Boolean); virtual;
function GetID_SUBCUENTAValue: Integer; virtual;
function GetID_SUBCUENTAIsNull: Boolean; virtual;
function GetOldID_SUBCUENTAValue: Integer; virtual;
@@ -262,6 +248,36 @@ type
function GetOldSUBCUENTAIsNull: Boolean; virtual;
procedure SetSUBCUENTAValue(const aValue: String); virtual;
procedure SetSUBCUENTAIsNull(const aValue: Boolean); virtual;
+ function GetCONCEPTOValue: String; virtual;
+ function GetCONCEPTOIsNull: Boolean; virtual;
+ function GetOldCONCEPTOValue: String; virtual;
+ function GetOldCONCEPTOIsNull: Boolean; virtual;
+ procedure SetCONCEPTOValue(const aValue: String); virtual;
+ procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
+ function GetDOCUMENTOValue: String; virtual;
+ function GetDOCUMENTOIsNull: Boolean; virtual;
+ function GetOldDOCUMENTOValue: String; virtual;
+ function GetOldDOCUMENTOIsNull: Boolean; virtual;
+ procedure SetDOCUMENTOValue(const aValue: String); virtual;
+ procedure SetDOCUMENTOIsNull(const aValue: Boolean); virtual;
+ function GetDEBEValue: Currency; virtual;
+ function GetDEBEIsNull: Boolean; virtual;
+ function GetOldDEBEValue: Currency; virtual;
+ function GetOldDEBEIsNull: Boolean; virtual;
+ procedure SetDEBEValue(const aValue: Currency); virtual;
+ procedure SetDEBEIsNull(const aValue: Boolean); virtual;
+ function GetHABERValue: Currency; virtual;
+ function GetHABERIsNull: Boolean; virtual;
+ function GetOldHABERValue: Currency; virtual;
+ function GetOldHABERIsNull: Boolean; virtual;
+ procedure SetHABERValue(const aValue: Currency); virtual;
+ procedure SetHABERIsNull(const aValue: Boolean); virtual;
+ function GetPUNTEADOValue: SmallInt; virtual;
+ function GetPUNTEADOIsNull: Boolean; virtual;
+ function GetOldPUNTEADOValue: SmallInt; virtual;
+ function GetOldPUNTEADOIsNull: Boolean; virtual;
+ procedure SetPUNTEADOValue(const aValue: SmallInt); virtual;
+ procedure SetPUNTEADOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@@ -272,30 +288,6 @@ type
property ID_ASIENTOIsNull : Boolean read GetID_ASIENTOIsNull write SetID_ASIENTOIsNull;
property OldID_ASIENTO : Integer read GetOldID_ASIENTOValue;
property OldID_ASIENTOIsNull : Boolean read GetOldID_ASIENTOIsNull;
- property CONCEPTO : String read GetCONCEPTOValue write SetCONCEPTOValue;
- property CONCEPTOIsNull : Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
- property OldCONCEPTO : String read GetOldCONCEPTOValue;
- property OldCONCEPTOIsNull : Boolean read GetOldCONCEPTOIsNull;
- property PUNTEADO : SmallInt read GetPUNTEADOValue write SetPUNTEADOValue;
- property PUNTEADOIsNull : Boolean read GetPUNTEADOIsNull write SetPUNTEADOIsNull;
- property OldPUNTEADO : SmallInt read GetOldPUNTEADOValue;
- property OldPUNTEADOIsNull : Boolean read GetOldPUNTEADOIsNull;
- property DEBE : Currency read GetDEBEValue write SetDEBEValue;
- property DEBEIsNull : Boolean read GetDEBEIsNull write SetDEBEIsNull;
- property OldDEBE : Currency read GetOldDEBEValue;
- property OldDEBEIsNull : Boolean read GetOldDEBEIsNull;
- property HABER : Currency read GetHABERValue write SetHABERValue;
- property HABERIsNull : Boolean read GetHABERIsNull write SetHABERIsNull;
- property OldHABER : Currency read GetOldHABERValue;
- property OldHABERIsNull : Boolean read GetOldHABERIsNull;
- property ID_FACTURA : Integer read GetID_FACTURAValue write SetID_FACTURAValue;
- property ID_FACTURAIsNull : Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
- property OldID_FACTURA : Integer read GetOldID_FACTURAValue;
- property OldID_FACTURAIsNull : Boolean read GetOldID_FACTURAIsNull;
- property ID_RECIBO : Integer read GetID_RECIBOValue write SetID_RECIBOValue;
- property ID_RECIBOIsNull : Boolean read GetID_RECIBOIsNull write SetID_RECIBOIsNull;
- property OldID_RECIBO : Integer read GetOldID_RECIBOValue;
- property OldID_RECIBOIsNull : Boolean read GetOldID_RECIBOIsNull;
property ID_SUBCUENTA : Integer read GetID_SUBCUENTAValue write SetID_SUBCUENTAValue;
property ID_SUBCUENTAIsNull : Boolean read GetID_SUBCUENTAIsNull write SetID_SUBCUENTAIsNull;
property OldID_SUBCUENTA : Integer read GetOldID_SUBCUENTAValue;
@@ -308,6 +300,26 @@ type
property SUBCUENTAIsNull : Boolean read GetSUBCUENTAIsNull write SetSUBCUENTAIsNull;
property OldSUBCUENTA : String read GetOldSUBCUENTAValue;
property OldSUBCUENTAIsNull : Boolean read GetOldSUBCUENTAIsNull;
+ property CONCEPTO : String read GetCONCEPTOValue write SetCONCEPTOValue;
+ property CONCEPTOIsNull : Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
+ property OldCONCEPTO : String read GetOldCONCEPTOValue;
+ property OldCONCEPTOIsNull : Boolean read GetOldCONCEPTOIsNull;
+ property DOCUMENTO : String read GetDOCUMENTOValue write SetDOCUMENTOValue;
+ property DOCUMENTOIsNull : Boolean read GetDOCUMENTOIsNull write SetDOCUMENTOIsNull;
+ property OldDOCUMENTO : String read GetOldDOCUMENTOValue;
+ property OldDOCUMENTOIsNull : Boolean read GetOldDOCUMENTOIsNull;
+ property DEBE : Currency read GetDEBEValue write SetDEBEValue;
+ property DEBEIsNull : Boolean read GetDEBEIsNull write SetDEBEIsNull;
+ property OldDEBE : Currency read GetOldDEBEValue;
+ property OldDEBEIsNull : Boolean read GetOldDEBEIsNull;
+ property HABER : Currency read GetHABERValue write SetHABERValue;
+ property HABERIsNull : Boolean read GetHABERIsNull write SetHABERIsNull;
+ property OldHABER : Currency read GetOldHABERValue;
+ property OldHABERIsNull : Boolean read GetOldHABERIsNull;
+ property PUNTEADO : SmallInt read GetPUNTEADOValue write SetPUNTEADOValue;
+ property PUNTEADOIsNull : Boolean read GetPUNTEADOIsNull write SetPUNTEADOIsNull;
+ property OldPUNTEADO : SmallInt read GetOldPUNTEADOValue;
+ property OldPUNTEADOIsNull : Boolean read GetOldPUNTEADOIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@@ -317,7 +329,7 @@ type
{ IAsientosDelta }
IAsientosDelta = interface(IAsientos)
- ['{291CBAA5-42AB-45D6-A5D0-59D694A8960E}']
+ ['{3A7F1EB1-7C5B-47BF-8DFA-4C86EFF0686E}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldFECHA_ASIENTOValue : DateTime;
@@ -375,7 +387,7 @@ type
{ ISubCuentasDelta }
ISubCuentasDelta = interface(ISubCuentas)
- ['{0C092B2B-41F6-4F70-B073-F1B68F9FA233}']
+ ['{E88435DC-570C-43D8-A8B0-004C1C775CF0}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldREF_SUBCUENTAValue : String;
@@ -505,7 +517,7 @@ type
{ ICuentasDelta }
ICuentasDelta = interface(ICuentas)
- ['{152D2AD4-8B66-49AC-8D07-33C76A60CB85}']
+ ['{A26B4CE1-63F7-49F3-8A0A-F2840D95587C}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldREF_CUENTAValue : String;
@@ -647,7 +659,7 @@ type
{ ICuentasEspecialesDelta }
ICuentasEspecialesDelta = interface(ICuentasEspeciales)
- ['{0E63EE73-6CE9-4F33-9DB7-B02B1190DA20}']
+ ['{089CB669-7830-4908-9344-42AEC93D8320}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldREFERENCIAValue : String;
@@ -705,7 +717,7 @@ type
{ IEpigrafesDelta }
IEpigrafesDelta = interface(IEpigrafes)
- ['{2EB3D408-B118-4BC5-AABE-FAC7393086AB}']
+ ['{BFE5CD3F-52C2-400A-93A6-ACB723F7390E}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldREF_EPIGRAFEValue : String;
@@ -799,7 +811,7 @@ type
{ IBalancesDelta }
IBalancesDelta = interface(IBalances)
- ['{964A4194-0DF5-4CA7-A922-DB219CC96B39}']
+ ['{543250BB-1C2E-4448-AEA8-EDC23591A2ED}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldREF_BALANCEValue : String;
@@ -1098,35 +1110,66 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioID_SUBCUENTA] := Null;
end;
-function TDiarioBusinessProcessorRules.GetSUBCUENTAValue: String;
+function TDiarioBusinessProcessorRules.GetREF_SUBCUENTAValue: String;
begin
- result := BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioSUBCUENTA];
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioREF_SUBCUENTA];
end;
-function TDiarioBusinessProcessorRules.GetSUBCUENTAIsNull: Boolean;
+function TDiarioBusinessProcessorRules.GetREF_SUBCUENTAIsNull: Boolean;
begin
- result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioSUBCUENTA]);
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioREF_SUBCUENTA]);
end;
-function TDiarioBusinessProcessorRules.GetOldSUBCUENTAValue: String;
+function TDiarioBusinessProcessorRules.GetOldREF_SUBCUENTAValue: String;
begin
- result := BusinessProcessor.CurrentChange.OldValueByName[fld_DiarioSUBCUENTA];
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_DiarioREF_SUBCUENTA];
end;
-function TDiarioBusinessProcessorRules.GetOldSUBCUENTAIsNull: Boolean;
+function TDiarioBusinessProcessorRules.GetOldREF_SUBCUENTAIsNull: Boolean;
begin
- result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DiarioSUBCUENTA]);
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DiarioREF_SUBCUENTA]);
end;
-procedure TDiarioBusinessProcessorRules.SetSUBCUENTAValue(const aValue: String);
+procedure TDiarioBusinessProcessorRules.SetREF_SUBCUENTAValue(const aValue: String);
begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioSUBCUENTA] := aValue;
+ BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioREF_SUBCUENTA] := aValue;
end;
-procedure TDiarioBusinessProcessorRules.SetSUBCUENTAIsNull(const aValue: Boolean);
+procedure TDiarioBusinessProcessorRules.SetREF_SUBCUENTAIsNull(const aValue: Boolean);
begin
if aValue then
- BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioSUBCUENTA] := Null;
+ BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioREF_SUBCUENTA] := Null;
+end;
+
+function TDiarioBusinessProcessorRules.GetID_EJERCICIOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioID_EJERCICIO];
+end;
+
+function TDiarioBusinessProcessorRules.GetID_EJERCICIOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioID_EJERCICIO]);
+end;
+
+function TDiarioBusinessProcessorRules.GetOldID_EJERCICIOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_DiarioID_EJERCICIO];
+end;
+
+function TDiarioBusinessProcessorRules.GetOldID_EJERCICIOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DiarioID_EJERCICIO]);
+end;
+
+procedure TDiarioBusinessProcessorRules.SetID_EJERCICIOValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioID_EJERCICIO] := aValue;
+end;
+
+procedure TDiarioBusinessProcessorRules.SetID_EJERCICIOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioID_EJERCICIO] := Null;
end;
function TDiarioBusinessProcessorRules.GetCONCEPTOValue: String;
@@ -1160,6 +1203,37 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioCONCEPTO] := Null;
end;
+function TDiarioBusinessProcessorRules.GetDOCUMENTOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioDOCUMENTO];
+end;
+
+function TDiarioBusinessProcessorRules.GetDOCUMENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioDOCUMENTO]);
+end;
+
+function TDiarioBusinessProcessorRules.GetOldDOCUMENTOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_DiarioDOCUMENTO];
+end;
+
+function TDiarioBusinessProcessorRules.GetOldDOCUMENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DiarioDOCUMENTO]);
+end;
+
+procedure TDiarioBusinessProcessorRules.SetDOCUMENTOValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioDOCUMENTO] := aValue;
+end;
+
+procedure TDiarioBusinessProcessorRules.SetDOCUMENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioDOCUMENTO] := Null;
+end;
+
function TDiarioBusinessProcessorRules.GetDEBEValue: Currency;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DiarioDEBE];
@@ -1327,192 +1401,6 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesID_ASIENTO] := Null;
end;
-function TApuntesBusinessProcessorRules.GetCONCEPTOValue: String;
-begin
- result := BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesCONCEPTO];
-end;
-
-function TApuntesBusinessProcessorRules.GetCONCEPTOIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesCONCEPTO]);
-end;
-
-function TApuntesBusinessProcessorRules.GetOldCONCEPTOValue: String;
-begin
- result := BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesCONCEPTO];
-end;
-
-function TApuntesBusinessProcessorRules.GetOldCONCEPTOIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesCONCEPTO]);
-end;
-
-procedure TApuntesBusinessProcessorRules.SetCONCEPTOValue(const aValue: String);
-begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesCONCEPTO] := aValue;
-end;
-
-procedure TApuntesBusinessProcessorRules.SetCONCEPTOIsNull(const aValue: Boolean);
-begin
- if aValue then
- BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesCONCEPTO] := Null;
-end;
-
-function TApuntesBusinessProcessorRules.GetPUNTEADOValue: SmallInt;
-begin
- result := BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesPUNTEADO];
-end;
-
-function TApuntesBusinessProcessorRules.GetPUNTEADOIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesPUNTEADO]);
-end;
-
-function TApuntesBusinessProcessorRules.GetOldPUNTEADOValue: SmallInt;
-begin
- result := BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesPUNTEADO];
-end;
-
-function TApuntesBusinessProcessorRules.GetOldPUNTEADOIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesPUNTEADO]);
-end;
-
-procedure TApuntesBusinessProcessorRules.SetPUNTEADOValue(const aValue: SmallInt);
-begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesPUNTEADO] := aValue;
-end;
-
-procedure TApuntesBusinessProcessorRules.SetPUNTEADOIsNull(const aValue: Boolean);
-begin
- if aValue then
- BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesPUNTEADO] := Null;
-end;
-
-function TApuntesBusinessProcessorRules.GetDEBEValue: Currency;
-begin
- result := BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesDEBE];
-end;
-
-function TApuntesBusinessProcessorRules.GetDEBEIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesDEBE]);
-end;
-
-function TApuntesBusinessProcessorRules.GetOldDEBEValue: Currency;
-begin
- result := BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesDEBE];
-end;
-
-function TApuntesBusinessProcessorRules.GetOldDEBEIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesDEBE]);
-end;
-
-procedure TApuntesBusinessProcessorRules.SetDEBEValue(const aValue: Currency);
-begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesDEBE] := aValue;
-end;
-
-procedure TApuntesBusinessProcessorRules.SetDEBEIsNull(const aValue: Boolean);
-begin
- if aValue then
- BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesDEBE] := Null;
-end;
-
-function TApuntesBusinessProcessorRules.GetHABERValue: Currency;
-begin
- result := BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesHABER];
-end;
-
-function TApuntesBusinessProcessorRules.GetHABERIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesHABER]);
-end;
-
-function TApuntesBusinessProcessorRules.GetOldHABERValue: Currency;
-begin
- result := BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesHABER];
-end;
-
-function TApuntesBusinessProcessorRules.GetOldHABERIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesHABER]);
-end;
-
-procedure TApuntesBusinessProcessorRules.SetHABERValue(const aValue: Currency);
-begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesHABER] := aValue;
-end;
-
-procedure TApuntesBusinessProcessorRules.SetHABERIsNull(const aValue: Boolean);
-begin
- if aValue then
- BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesHABER] := Null;
-end;
-
-function TApuntesBusinessProcessorRules.GetID_FACTURAValue: Integer;
-begin
- result := BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesID_FACTURA];
-end;
-
-function TApuntesBusinessProcessorRules.GetID_FACTURAIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesID_FACTURA]);
-end;
-
-function TApuntesBusinessProcessorRules.GetOldID_FACTURAValue: Integer;
-begin
- result := BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesID_FACTURA];
-end;
-
-function TApuntesBusinessProcessorRules.GetOldID_FACTURAIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesID_FACTURA]);
-end;
-
-procedure TApuntesBusinessProcessorRules.SetID_FACTURAValue(const aValue: Integer);
-begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesID_FACTURA] := aValue;
-end;
-
-procedure TApuntesBusinessProcessorRules.SetID_FACTURAIsNull(const aValue: Boolean);
-begin
- if aValue then
- BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesID_FACTURA] := Null;
-end;
-
-function TApuntesBusinessProcessorRules.GetID_RECIBOValue: Integer;
-begin
- result := BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesID_RECIBO];
-end;
-
-function TApuntesBusinessProcessorRules.GetID_RECIBOIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesID_RECIBO]);
-end;
-
-function TApuntesBusinessProcessorRules.GetOldID_RECIBOValue: Integer;
-begin
- result := BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesID_RECIBO];
-end;
-
-function TApuntesBusinessProcessorRules.GetOldID_RECIBOIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesID_RECIBO]);
-end;
-
-procedure TApuntesBusinessProcessorRules.SetID_RECIBOValue(const aValue: Integer);
-begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesID_RECIBO] := aValue;
-end;
-
-procedure TApuntesBusinessProcessorRules.SetID_RECIBOIsNull(const aValue: Boolean);
-begin
- if aValue then
- BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesID_RECIBO] := Null;
-end;
-
function TApuntesBusinessProcessorRules.GetID_SUBCUENTAValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesID_SUBCUENTA];
@@ -1606,6 +1494,161 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesSUBCUENTA] := Null;
end;
+function TApuntesBusinessProcessorRules.GetCONCEPTOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesCONCEPTO];
+end;
+
+function TApuntesBusinessProcessorRules.GetCONCEPTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesCONCEPTO]);
+end;
+
+function TApuntesBusinessProcessorRules.GetOldCONCEPTOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesCONCEPTO];
+end;
+
+function TApuntesBusinessProcessorRules.GetOldCONCEPTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesCONCEPTO]);
+end;
+
+procedure TApuntesBusinessProcessorRules.SetCONCEPTOValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesCONCEPTO] := aValue;
+end;
+
+procedure TApuntesBusinessProcessorRules.SetCONCEPTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesCONCEPTO] := Null;
+end;
+
+function TApuntesBusinessProcessorRules.GetDOCUMENTOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesDOCUMENTO];
+end;
+
+function TApuntesBusinessProcessorRules.GetDOCUMENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesDOCUMENTO]);
+end;
+
+function TApuntesBusinessProcessorRules.GetOldDOCUMENTOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesDOCUMENTO];
+end;
+
+function TApuntesBusinessProcessorRules.GetOldDOCUMENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesDOCUMENTO]);
+end;
+
+procedure TApuntesBusinessProcessorRules.SetDOCUMENTOValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesDOCUMENTO] := aValue;
+end;
+
+procedure TApuntesBusinessProcessorRules.SetDOCUMENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesDOCUMENTO] := Null;
+end;
+
+function TApuntesBusinessProcessorRules.GetDEBEValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesDEBE];
+end;
+
+function TApuntesBusinessProcessorRules.GetDEBEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesDEBE]);
+end;
+
+function TApuntesBusinessProcessorRules.GetOldDEBEValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesDEBE];
+end;
+
+function TApuntesBusinessProcessorRules.GetOldDEBEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesDEBE]);
+end;
+
+procedure TApuntesBusinessProcessorRules.SetDEBEValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesDEBE] := aValue;
+end;
+
+procedure TApuntesBusinessProcessorRules.SetDEBEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesDEBE] := Null;
+end;
+
+function TApuntesBusinessProcessorRules.GetHABERValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesHABER];
+end;
+
+function TApuntesBusinessProcessorRules.GetHABERIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesHABER]);
+end;
+
+function TApuntesBusinessProcessorRules.GetOldHABERValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesHABER];
+end;
+
+function TApuntesBusinessProcessorRules.GetOldHABERIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesHABER]);
+end;
+
+procedure TApuntesBusinessProcessorRules.SetHABERValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesHABER] := aValue;
+end;
+
+procedure TApuntesBusinessProcessorRules.SetHABERIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesHABER] := Null;
+end;
+
+function TApuntesBusinessProcessorRules.GetPUNTEADOValue: SmallInt;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesPUNTEADO];
+end;
+
+function TApuntesBusinessProcessorRules.GetPUNTEADOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesPUNTEADO]);
+end;
+
+function TApuntesBusinessProcessorRules.GetOldPUNTEADOValue: SmallInt;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesPUNTEADO];
+end;
+
+function TApuntesBusinessProcessorRules.GetOldPUNTEADOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ApuntesPUNTEADO]);
+end;
+
+procedure TApuntesBusinessProcessorRules.SetPUNTEADOValue(const aValue: SmallInt);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesPUNTEADO] := aValue;
+end;
+
+procedure TApuntesBusinessProcessorRules.SetPUNTEADOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ApuntesPUNTEADO] := Null;
+end;
+
{ TAsientosBusinessProcessorRules }
constructor TAsientosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
diff --git a/Source/Modulos/Contabilidad/Model/uBizApuntes.pas b/Source/Modulos/Contabilidad/Model/uBizApuntes.pas
new file mode 100644
index 00000000..498e888a
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Model/uBizApuntes.pas
@@ -0,0 +1,54 @@
+unit uBizApuntes;
+
+interface
+
+uses
+ uDAInterfaces, uDADataTable, schContabilidadClient_Intf;
+
+const
+ BIZ_CLIENT_Apunte = 'Client.Apunte';
+
+type
+ IBizApunte = interface(IApuntes)
+ ['{D26061DB-FFF4-456F-B442-A14A19501DD0}']
+ function EsNuevo : Boolean;
+ end;
+
+ TBizApunte = class(TApuntesDataTableRules, IBizApunte)
+ protected
+ procedure OnNewRecord(Sender: TDADataTable); override;
+ public
+ procedure IniciarValoresApunteNueva;
+ function EsNuevo : Boolean;
+ end;
+
+implementation
+
+{ TBizApunte }
+
+uses
+ SysUtils, uDataTableUtils, uFactuGES_App;
+
+function TBizApunte.EsNuevo: Boolean;
+begin
+ Result := (ID < 0);
+end;
+
+procedure TBizApunte.IniciarValoresApunteNueva;
+begin
+// ID_EJERCICIO := AppFactuGES.EjercicioActivo.ID;
+end;
+
+procedure TBizApunte.OnNewRecord(Sender: TDADataTable);
+begin
+ inherited;
+ IniciarValoresApunteNueva;
+end;
+
+initialization
+ RegisterDataTableRules(BIZ_CLIENT_Apunte, TBizApunte);
+
+finalization
+
+end.
+
diff --git a/Source/Modulos/Contabilidad/Model/uBizAsientos.pas b/Source/Modulos/Contabilidad/Model/uBizAsientos.pas
index 263dd1bb..2f78a233 100644
--- a/Source/Modulos/Contabilidad/Model/uBizAsientos.pas
+++ b/Source/Modulos/Contabilidad/Model/uBizAsientos.pas
@@ -3,7 +3,7 @@ unit uBizAsientos;
interface
uses
- uDAInterfaces, uDADataTable, schContabilidadClient_Intf;
+ uDAInterfaces, uDADataTable, schContabilidadClient_Intf, uBizApuntes;
const
BIZ_CLIENT_Asiento = 'Client.Asiento';
@@ -11,15 +11,29 @@ const
type
IBizAsiento = interface(IAsientos)
['{F79E3238-1E0D-4FB6-9AF7-E5703619B067}']
+
+ function GetApuntes: IBizApunte;
+ procedure SetApuntes(Value: IBizApunte);
+ property Apuntes: IBizApunte read GetApuntes write SetApuntes;
+
function EsNuevo : Boolean;
end;
TBizAsiento = class(TAsientosDataTableRules, IBizAsiento)
protected
+ FApuntes : IBizApunte;
+ FApuntesLink : TDADataSource;
+ function GetApuntes: IBizApunte;
+ procedure SetApuntes(Value: IBizApunte);
procedure OnNewRecord(Sender: TDADataTable); override;
+
public
+ property Apuntes: IBizApunte read GetApuntes write SetApuntes;
procedure IniciarValoresAsientoNueva;
function EsNuevo : Boolean;
+
+ constructor Create(aDataTable: TDADataTable); override;
+ destructor Destroy; override;
end;
implementation
@@ -29,11 +43,31 @@ implementation
uses
SysUtils, uDataTableUtils, uFactuGES_App;
+constructor TBizAsiento.Create(aDataTable: TDADataTable);
+begin
+ inherited;
+ FApuntes := Nil;
+ FApuntesLink := TDADataSource.Create(NIL);
+ FApuntesLink.DataTable := aDataTable;
+end;
+
+destructor TBizAsiento.Destroy;
+begin
+ FApuntes := NIL;
+ FApuntesLink.Free;
+ inherited;
+end;
+
function TBizAsiento.EsNuevo: Boolean;
begin
Result := (ID < 0);
end;
+function TBizAsiento.GetApuntes: IBizApunte;
+begin
+ Result := FApuntes;
+end;
+
procedure TBizAsiento.IniciarValoresAsientoNueva;
begin
// ID_EJERCICIO := AppFactuGES.EjercicioActivo.ID;
@@ -45,6 +79,12 @@ begin
IniciarValoresAsientoNueva;
end;
+procedure TBizAsiento.SetApuntes(Value: IBizApunte);
+begin
+ FApuntes := Value;
+ EnlazarMaestroDetalle(FApuntesLink, FApuntes);
+end;
+
initialization
RegisterDataTableRules(BIZ_CLIENT_Asiento, TBizAsiento);
diff --git a/Source/Modulos/Contabilidad/Model/uBizDiario.pas b/Source/Modulos/Contabilidad/Model/uBizDiario.pas
new file mode 100644
index 00000000..ce349bd1
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Model/uBizDiario.pas
@@ -0,0 +1,29 @@
+unit uBizDiario;
+
+interface
+
+uses
+ uDAInterfaces, uDADataTable, schContabilidadClient_Intf, uBizApuntes;
+
+const
+ BIZ_CLIENT_Diario = 'Client.Diario';
+
+type
+ IBizDiario = interface(IDiario)
+ ['{E2924908-0B5A-43DD-B03E-672F592FA19B}']
+ end;
+
+ TBizDiario = class(TDiarioDataTableRules, IBizDiario)
+ end;
+
+implementation
+{ TBizDiario }
+
+
+initialization
+ RegisterDataTableRules(BIZ_CLIENT_Diario, TBizDiario);
+
+finalization
+
+end.
+
diff --git a/Source/Modulos/Contabilidad/Model/uBizSubCuentas.pas b/Source/Modulos/Contabilidad/Model/uBizSubCuentas.pas
index f6577341..cbe111bc 100644
--- a/Source/Modulos/Contabilidad/Model/uBizSubCuentas.pas
+++ b/Source/Modulos/Contabilidad/Model/uBizSubCuentas.pas
@@ -3,7 +3,7 @@ unit uBizSubCuentas;
interface
uses
- uDAInterfaces, uDADataTable, schContabilidadClient_Intf;
+ uDAInterfaces, uDADataTable, uDBSelectionListUtils, schContabilidadClient_Intf;
const
BIZ_CLIENT_SubCuenta = 'Client.SubCuenta';
@@ -14,10 +14,16 @@ type
function EsNuevo : Boolean;
end;
- TBizSubCuenta = class(TSubCuentasDataTableRules, IBizSubCuenta)
+ TBizSubCuenta = class(TSubCuentasDataTableRules, IBizSubCuenta, ISeleccionable)
protected
+ FSeleccionableInterface: ISeleccionable;
procedure OnNewRecord(Sender: TDADataTable); override;
public
+ property SeleccionableInterface : ISeleccionable read FSeleccionableInterface
+ write FSeleccionableInterface implements ISeleccionable;
+ constructor Create(aDataTable: TDADataTable); override;
+ destructor Destroy; override;
+
procedure IniciarValoresSubCuentaNueva;
function EsNuevo : Boolean;
end;
@@ -29,6 +35,18 @@ implementation
uses
SysUtils, uDataTableUtils, uFactuGES_App;
+constructor TBizSubCuenta.Create(aDataTable: TDADataTable);
+begin
+ inherited;
+ FSeleccionableInterface := TSeleccionable.Create(aDataTable);
+end;
+
+destructor TBizSubCuenta.Destroy;
+begin
+ FSeleccionableInterface := NIL;
+ inherited;
+end;
+
function TBizSubCuenta.EsNuevo: Boolean;
begin
Result := (ID < 0);
diff --git a/Source/Modulos/Contabilidad/Plugin/uPluginContabilidad.pas b/Source/Modulos/Contabilidad/Plugin/uPluginContabilidad.pas
index fa261443..b03c37bd 100644
--- a/Source/Modulos/Contabilidad/Plugin/uPluginContabilidad.pas
+++ b/Source/Modulos/Contabilidad/Plugin/uPluginContabilidad.pas
@@ -52,7 +52,7 @@ uses
uEpigrafesController, uBalancesController, uCuentasEspecialesController,
uCuentasController, uSubCuentasController, uAsientosController,
uBizEpigrafes, uBizBalances, uBizCuentasEspeciales, uBizCuentas, uBizSubCuentas,
- uBizAsientos,
+ uBizAsientos, uBizDiario,
uContabilidadViewRegister;
function GetModule : TModuleController;
@@ -66,11 +66,11 @@ exports
procedure TPluginContabilidad.actAsientosExecute(Sender: TObject);
var
AAsientosController : IAsientosController;
- AAsientos : IBizAsiento;
+ ADiario : IBizDiario;
begin
AAsientosController := TAsientosController.Create;
- AAsientos := (AAsientosController.BuscarTodos as IBizAsiento);
- AAsientosController.VerTodos(AAsientos);
+ ADiario := (AAsientosController.BuscarDiario as IBizDiario);
+ AAsientosController.VerDiario(ADiario);
end;
procedure TPluginContabilidad.actBalancesExecute(Sender: TObject);
diff --git a/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.dfm b/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.dfm
index b5e57846..4e817f60 100644
--- a/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.dfm
+++ b/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.dfm
@@ -313,6 +313,14 @@ object srvContabilidad: TsrvContabilidad
Name = 'Apuntes_SUBCUENTA'
DataType = datString
Size = 255
+ end
+ item
+ Name = 'Epigrafes_ID_EMPRESA'
+ DataType = datInteger
+ end
+ item
+ Name = 'Cuentas_ID_EMPRESA'
+ DataType = datInteger
end>
Left = 150
Top = 24
@@ -354,13 +362,21 @@ object srvContabilidad: TsrvContabilidad
TableField = 'ID_SUBCUENTA'
end
item
- DatasetField = 'SUBCUENTA'
- TableField = 'SUBCUENTA'
+ DatasetField = 'REF_SUBCUENTA'
+ TableField = 'REF_SUBCUENTA'
+ end
+ item
+ DatasetField = 'ID_EJERCICIO'
+ TableField = 'ID_EJERCICIO'
end
item
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end
+ item
+ DatasetField = 'DOCUMENTO'
+ TableField = 'DOCUMENTO'
+ end
item
DatasetField = 'DEBE'
TableField = 'DEBE'
@@ -398,15 +414,24 @@ object srvContabilidad: TsrvContabilidad
DataType = datInteger
end
item
- Name = 'SUBCUENTA'
+ Name = 'REF_SUBCUENTA'
DataType = datString
Size = 15
end
+ item
+ Name = 'ID_EJERCICIO'
+ DataType = datInteger
+ end
item
Name = 'CONCEPTO'
DataType = datString
Size = 255
end
+ item
+ Name = 'DOCUMENTO'
+ DataType = datString
+ Size = 255
+ end
item
Name = 'DEBE'
DataType = datCurrency
@@ -430,14 +455,13 @@ object srvContabilidad: TsrvContabilidad
TargetTable = 'CONT_APUNTES'
Name = 'IBX'
SQL =
- 'SELECT '#10' CONT_APUNTES.ID, CONT_APUNTES.ID_ASIENTO, CONT_APUNT' +
- 'ES.CONCEPTO,'#10' CONT_APUNTES.PUNTEADO, CONT_APUNTES.DEBE, CONT_' +
- 'APUNTES.HABER,'#10' CONT_APUNTES.ID_FACTURA, CONT_APUNTES.ID_RECI' +
- 'BO,'#10' CONT_APUNTES.ID_SUBCUENTA, CONT_SUBCUENTAS.REF_SUBCUENTA' +
- ' as REF_SUBCUENTA,'#10' CONT_SUBCUENTAS.DESCRIPCION as SUBCUENTA'#10 +
- ' FROM'#10' CONT_APUNTES'#10' LEFT JOIN CONT_SUBCUENTAS ON (CONT_SUB' +
- 'CUENTAS.ID = CONT_APUNTES.ID_SUBCUENTA)'#10' WHERE {Where}'#10' ORDER ' +
- 'BY CONT_APUNTES.ID'#10
+ 'SELECT'#10' CONT_APUNTES.ID,'#10' CONT_APUNTES.ID_ASIENTO,'#10' CON' +
+ 'T_APUNTES.ID_SUBCUENTA,'#10' CONT_SUBCUENTAS.REF_SUBCUENTA,'#10' C' +
+ 'ONT_SUBCUENTAS.DESCRIPCION as SUBCUENTA,'#10' CONT_APUNTES.CONCEP' +
+ 'TO,'#10' CONT_APUNTES.DOCUMENTO,'#10' CONT_APUNTES.DEBE,'#10' CONT_' +
+ 'APUNTES.HABER,'#10' CONT_APUNTES.PUNTEADO'#10#10'FROM CONT_APUNTES'#10'LEFT' +
+ ' JOIN CONT_SUBCUENTAS ON (CONT_SUBCUENTAS.ID = CONT_APUNTES.ID_S' +
+ 'UBCUENTA)'#10'WHERE {Where}'#10'ORDER BY CONT_APUNTES.ID'#10#10
StatementType = stSQL
ColumnMappings = <
item
@@ -448,30 +472,6 @@ object srvContabilidad: TsrvContabilidad
DatasetField = 'ID_ASIENTO'
TableField = 'ID_ASIENTO'
end
- item
- DatasetField = 'CONCEPTO'
- TableField = 'CONCEPTO'
- end
- item
- DatasetField = 'PUNTEADO'
- TableField = 'PUNTEADO'
- end
- item
- DatasetField = 'DEBE'
- TableField = 'DEBE'
- end
- item
- DatasetField = 'HABER'
- TableField = 'HABER'
- end
- item
- DatasetField = 'ID_FACTURA'
- TableField = 'ID_FACTURA'
- end
- item
- DatasetField = 'ID_RECIBO'
- TableField = 'ID_RECIBO'
- end
item
DatasetField = 'ID_SUBCUENTA'
TableField = 'ID_SUBCUENTA'
@@ -485,6 +485,26 @@ object srvContabilidad: TsrvContabilidad
DatasetField = 'SUBCUENTA'
TableField = ''
SQLOrigin = 'SUBCUENTA'
+ end
+ item
+ DatasetField = 'CONCEPTO'
+ TableField = 'CONCEPTO'
+ end
+ item
+ DatasetField = 'DOCUMENTO'
+ TableField = 'DOCUMENTO'
+ end
+ item
+ DatasetField = 'DEBE'
+ TableField = 'DEBE'
+ end
+ item
+ DatasetField = 'HABER'
+ TableField = 'HABER'
+ end
+ item
+ DatasetField = 'PUNTEADO'
+ TableField = 'PUNTEADO'
end>
end>
Name = 'Apuntes'
@@ -501,37 +521,6 @@ object srvContabilidad: TsrvContabilidad
DataType = datInteger
DictionaryEntry = 'Apuntes_ID_ASIENTO'
end
- item
- Name = 'CONCEPTO'
- DataType = datString
- Size = 255
- DictionaryEntry = 'Apuntes_CONCEPTO'
- end
- item
- Name = 'PUNTEADO'
- DataType = datSmallInt
- DictionaryEntry = 'Apuntes_PUNTEADO'
- end
- item
- Name = 'DEBE'
- DataType = datCurrency
- DictionaryEntry = 'Apuntes_DEBE'
- end
- item
- Name = 'HABER'
- DataType = datCurrency
- DictionaryEntry = 'Apuntes_HABER'
- end
- item
- Name = 'ID_FACTURA'
- DataType = datInteger
- DictionaryEntry = 'Apuntes_ID_FACTURA'
- end
- item
- Name = 'ID_RECIBO'
- DataType = datInteger
- DictionaryEntry = 'Apuntes_ID_RECIBO'
- end
item
Name = 'ID_SUBCUENTA'
DataType = datInteger
@@ -548,6 +537,32 @@ object srvContabilidad: TsrvContabilidad
DataType = datString
Size = 255
DictionaryEntry = 'Apuntes_SUBCUENTA'
+ end
+ item
+ Name = 'CONCEPTO'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'Apuntes_CONCEPTO'
+ end
+ item
+ Name = 'DOCUMENTO'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'DEBE'
+ DataType = datCurrency
+ DictionaryEntry = 'Apuntes_DEBE'
+ end
+ item
+ Name = 'HABER'
+ DataType = datCurrency
+ DictionaryEntry = 'Apuntes_HABER'
+ end
+ item
+ Name = 'PUNTEADO'
+ DataType = datSmallInt
+ DictionaryEntry = 'Apuntes_PUNTEADO'
end>
end
item
@@ -753,7 +768,6 @@ object srvContabilidad: TsrvContabilidad
Name = 'ID'
DataType = datAutoInc
GeneratorName = 'GEN_CONT_CUENTAS_ID'
- ServerAutoRefresh = True
DictionaryEntry = 'Cuentas_ID'
InPrimaryKey = True
end
@@ -1355,18 +1369,100 @@ object srvContabilidad: TsrvContabilidad
Params = <
item
Name = 'ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_CONT_ASIENTOS_ID'
+ Value = ''
+ end
+ item
+ Name = 'FECHA_ASIENTO'
+ Value = ''
+ end
+ item
+ Name = 'ORDEN'
+ Value = ''
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ Default = True
+ TargetTable = 'CONT_ASIENTOS'
+ SQL =
+ 'INSERT'#10' INTO CONT_ASIENTOS'#10' (ID, FECHA_ASIENTO, ORDEN)'#10' VAL' +
+ 'UES'#10' (:ID, :FECHA_ASIENTO, :ORDEN)'#10
+ StatementType = stSQL
+ ColumnMappings = <>
+ end>
+ Name = 'Insert_Asientos'
+ end
+ item
+ Params = <
+ item
+ Name = 'OLD_ID'
+ Value = ''
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ Default = True
+ TargetTable = 'CONT_ASIENTOS'
+ SQL = 'DELETE '#10' FROM'#10' CONT_ASIENTOS'#10' WHERE'#10' (ID = :OLD_ID)'
+ StatementType = stSQL
+ ColumnMappings = <>
+ end>
+ Name = 'Delete_Asientos'
+ end
+ item
+ Params = <
+ item
+ Name = 'FECHA_ASIENTO'
+ Value = ''
+ end
+ item
+ Name = 'ORDEN'
+ Value = ''
+ end
+ item
+ Name = 'OLD_ID'
+ Value = ''
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ Default = True
+ TargetTable = 'CONT_ASIENTOS'
+ SQL =
+ 'UPDATE CONT_ASIENTOS'#10' SET '#10' FECHA_ASIENTO = :FECHA_ASIENTO, ' +
+ #10' ORDEN = :ORDEN'#10' WHERE'#10' (ID = :OLD_ID)'
+ StatementType = stSQL
+ ColumnMappings = <>
+ end>
+ Name = 'Update_Asientos'
+ end
+ item
+ Params = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_CONT_APUNTES_ID'
Value = ''
end
item
Name = 'ID_ASIENTO'
Value = ''
end
+ item
+ Name = 'ID_SUBCUENTA'
+ Value = ''
+ end
item
Name = 'CONCEPTO'
Value = ''
end
item
- Name = 'PUNTEADO'
+ Name = 'DOCUMENTO'
Value = ''
end
item
@@ -1378,15 +1474,7 @@ object srvContabilidad: TsrvContabilidad
Value = ''
end
item
- Name = 'ID_FACTURA'
- Value = ''
- end
- item
- Name = 'ID_RECIBO'
- Value = ''
- end
- item
- Name = 'ID_SUBCUENTA'
+ Name = 'PUNTEADO'
Value = ''
end>
Statements = <
@@ -1396,10 +1484,10 @@ object srvContabilidad: TsrvContabilidad
Default = True
TargetTable = 'CONT_APUNTES'
SQL =
- 'INSERT'#10' INTO CONT_APUNTES'#10' (ID, ID_ASIENTO, CONCEPTO, PUNTEA' +
- 'DO, DEBE, HABER, ID_FACTURA,'#10' ID_RECIBO, ID_SUBCUENTA)'#10' VAL' +
- 'UES'#10' (:ID, :ID_ASIENTO, :CONCEPTO, :PUNTEADO, :DEBE, :HABER, ' +
- ':ID_FACTURA,'#10' :ID_RECIBO, :ID_SUBCUENTA)'#10
+ 'INSERT'#10' INTO CONT_APUNTES'#10' (ID, ID_ASIENTO, ID_SUBCUENTA, CO' +
+ 'NCEPTO, DOCUMENTO, DEBE, HABER, PUNTEADO)'#10' VALUES'#10' (:ID, :ID' +
+ '_ASIENTO, :ID_SUBCUENTA, :CONCEPTO, :DOCUMENTO, :DEBE, :HABER, :' +
+ 'PUNTEADO)'#10
StatementType = stSQL
ColumnMappings = <>
end>
@@ -1426,11 +1514,11 @@ object srvContabilidad: TsrvContabilidad
item
Params = <
item
- Name = 'ID'
+ Name = 'ID_ASIENTO'
Value = ''
end
item
- Name = 'ID_ASIENTO'
+ Name = 'ID_SUBCUENTA'
Value = ''
end
item
@@ -1438,7 +1526,7 @@ object srvContabilidad: TsrvContabilidad
Value = ''
end
item
- Name = 'PUNTEADO'
+ Name = 'DOCUMENTO'
Value = ''
end
item
@@ -1450,15 +1538,7 @@ object srvContabilidad: TsrvContabilidad
Value = ''
end
item
- Name = 'ID_FACTURA'
- Value = ''
- end
- item
- Name = 'ID_RECIBO'
- Value = ''
- end
- item
- Name = 'ID_SUBCUENTA'
+ Name = 'PUNTEADO'
Value = ''
end
item
@@ -1472,11 +1552,10 @@ object srvContabilidad: TsrvContabilidad
Default = True
TargetTable = 'CONT_APUNTES'
SQL =
- 'UPDATE CONT_APUNTES'#10' SET '#10' ID = :ID,'#10' ID_ASIENTO = :ID_AS' +
- 'IENTO, '#10' CONCEPTO = :CONCEPTO, '#10' PUNTEADO = :PUNTEADO, '#10' ' +
- ' DEBE = :DEBE, '#10' HABER = :HABER, '#10' ID_FACTURA = :ID_FACTU' +
- 'RA, '#10' ID_RECIBO = :ID_RECIBO, '#10' ID_SUBCUENTA = :ID_SUBCUEN' +
- 'TA'#10' WHERE'#10' (ID = :OLD_ID)'#10
+ 'UPDATE CONT_APUNTES'#10' SET '#10' ID_ASIENTO = :ID_ASIENTO, '#10' ID' +
+ '_SUBCUENTA = :ID_SUBCUENTA, '#10' CONCEPTO = :CONCEPTO,'#10' DOCUM' +
+ 'ENTO = :DOCUMENTO, '#10' DEBE = :DEBE, '#10' HABER = :HABER, '#10' ' +
+ 'PUNTEADO = :PUNTEADO'#10' WHERE'#10' (ID = :OLD_ID)'#10
StatementType = stSQL
ColumnMappings = <>
end>
@@ -1578,12 +1657,23 @@ object srvContabilidad: TsrvContabilidad
object bpApuntes: TDABusinessProcessor
Schema = schContabilidad
InsertCommandName = 'Insert_Apuntes'
- DeleteCommandName = 'Insert_Apuntes'
+ DeleteCommandName = 'Delete_Apuntes'
UpdateCommandName = 'Update_Apuntes'
ReferencedDataset = 'Apuntes'
- ProcessorOptions = [poPrepareCommands]
+ ProcessorOptions = [poAutoGenerateRefreshDataset, poPrepareCommands]
UpdateMode = updWhereKeyOnly
Left = 248
Top = 192
end
+ object bpAsientos: TDABusinessProcessor
+ Schema = schContabilidad
+ InsertCommandName = 'Insert_Asientos'
+ DeleteCommandName = 'Delete_Asientos'
+ UpdateCommandName = 'Update_Asientos'
+ ReferencedDataset = 'Asientos'
+ ProcessorOptions = [poAutoGenerateRefreshDataset, poPrepareCommands]
+ UpdateMode = updWhereKeyOnly
+ Left = 152
+ Top = 192
+ end
end
diff --git a/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.pas b/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.pas
index 06f97836..4ab62329 100644
--- a/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.pas
+++ b/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.pas
@@ -27,11 +27,11 @@ type
bpCuentas: TDABusinessProcessor;
bpSubCuentas: TDABusinessProcessor;
bpApuntes: TDABusinessProcessor;
+ bpAsientos: TDABusinessProcessor;
schContabilidad: TDASchema;
DataDictionary: TDADataDictionary;
procedure DARemoteServiceCreate(Sender: TObject);
- procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject;
- var aConnectionName: string);
+ procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string);
private
protected
end;
diff --git a/Source/Modulos/Contabilidad/Views/Contabilidad_view.dpk b/Source/Modulos/Contabilidad/Views/Contabilidad_view.dpk
index 5d1bcd90..f19c2621 100644
--- a/Source/Modulos/Contabilidad/Views/Contabilidad_view.dpk
+++ b/Source/Modulos/Contabilidad/Views/Contabilidad_view.dpk
@@ -104,7 +104,12 @@ contains
uViewCuentasEspeciales in 'uViewCuentasEspeciales.pas' {frViewCuentasEspeciales: TFrame},
uEditorElegirCuentasEspeciales in 'uEditorElegirCuentasEspeciales.pas' {fEditorElegirCuentasEspeciales: TfEditorEjercicios},
uEditorElegirCuentas in 'uEditorElegirCuentas.pas' {fEditorElegirCuentas: TfEditorEjercicios},
- uViewAsientos in 'uViewAsientos.pas' {frViewAsientos: TFrame},
- uEditorAsientos in 'uEditorAsientos.pas' {fEditorAsientos: TfEditorAsientos};
+ uViewDiario in 'uViewDiario.pas' {frViewDiario: TFrame},
+ uEditorDiario in 'uEditorDiario.pas' {fEditorDiario: TfEditorEjercicios},
+ uViewApunte in 'uViewApunte.pas' {frViewApunte: TFrame},
+ uViewApuntes in 'uViewApuntes.pas' {frViewApuntes: TFrame},
+ uEditorAsiento in 'uEditorAsiento.pas' {fEditorAsiento: TfEditorEjercicios},
+ uEditorApunte in 'uEditorApunte.pas' {fEditorApunte: TfEditorEjercicios},
+ uEditorElegirSubCuentas in 'uEditorElegirSubCuentas.pas' {fEditorElegirSubCuentas: TfEditorEjercicios};
end.
diff --git a/Source/Modulos/Contabilidad/Views/Contabilidad_view.dproj b/Source/Modulos/Contabilidad/Views/Contabilidad_view.dproj
index e079306b..24e5f211 100644
--- a/Source/Modulos/Contabilidad/Views/Contabilidad_view.dproj
+++ b/Source/Modulos/Contabilidad/Views/Contabilidad_view.dproj
@@ -98,7 +98,11 @@
TFrame
-
+
+
+ TfEditorEjercicios
+
+
TfEditorEjercicios
@@ -126,6 +130,10 @@
TfEditorEjercicios
+
+
+ TfEditorEjercicios
+
TfEditorEjercicios
@@ -142,6 +150,10 @@
TfEditorEjercicios
+
+
+ TfEditorEjercicios
+
TfEditorEjercicios
@@ -158,8 +170,12 @@
TfEditorEjercicios
-
-
+
+
+ TFrame
+
+
+
TFrame
@@ -178,6 +194,10 @@
TFrame
+
+
+ TFrame
+
TFrame
diff --git a/Source/Modulos/Contabilidad/Views/uContabilidadViewRegister.pas b/Source/Modulos/Contabilidad/Views/uContabilidadViewRegister.pas
index e9226971..b53403fe 100644
--- a/Source/Modulos/Contabilidad/Views/uContabilidadViewRegister.pas
+++ b/Source/Modulos/Contabilidad/Views/uContabilidadViewRegister.pas
@@ -12,9 +12,8 @@ uses
uEditorCuentaEspecial, uEditorCuentasEspeciales, uEditorElegirCuentasEspeciales,
uEditorEpigrafe, uEditorElegirEpigrafes, uEditorEpigrafes,
uEditorCuenta, uEditorCuentas, uEditorElegirCuentas,
- uEditorSubCuenta, uEditorSubCuentas,
-// uEditorAsiento,
- uEditorAsientos;
+ uEditorSubCuenta, uEditorSubCuentas, uEditorElegirSubCuentas,
+ uEditorAsiento, uEditorDiario, uEditorApunte;
procedure RegisterViews;
begin
@@ -32,8 +31,10 @@ begin
EditorRegistry.RegisterClass(TfEditorElegirCuentas, 'EditorElegirCuentas');
EditorRegistry.RegisterClass(TfEditorSubCuentas, 'EditorSubCuentas');
EditorRegistry.RegisterClass(TfEditorSubCuenta, 'EditorSubCuenta');
-// EditorRegistry.RegisterClass(TfEditorAsiento, 'EditorAsiento');
- EditorRegistry.RegisterClass(TfEditorAsientos, 'EditorAsientos');
+ EditorRegistry.RegisterClass(TfEditorElegirSubCuentas, 'EditorElegirSubCuentas');
+ EditorRegistry.RegisterClass(TfEditorAsiento, 'EditorAsiento');
+ EditorRegistry.RegisterClass(TfEditorDiario, 'EditorDiario');
+ EditorRegistry.RegisterClass(TfEditorApunte, 'EditorApunte');
end;
procedure UnregisterViews;
@@ -52,8 +53,10 @@ begin
EditorRegistry.UnRegisterClass(TfEditorElegirCuentas);
EditorRegistry.UnRegisterClass(TfEditorSubCuentas);
EditorRegistry.UnRegisterClass(TfEditorSubCuenta);
- EditorRegistry.UnRegisterClass(TfEditorAsientos);
-// EditorRegistry.UnRegisterClass(TfEditorAsiento);
+ EditorRegistry.UnRegisterClass(TfEditorElegirSubCuentas);
+ EditorRegistry.UnRegisterClass(TfEditorDiario);
+ EditorRegistry.UnRegisterClass(TfEditorAsiento);
+ EditorRegistry.UnRegisterClass(TfEditorApunte);
end;
end.
diff --git a/Source/Modulos/Contabilidad/Views/uEditorApunte.dfm b/Source/Modulos/Contabilidad/Views/uEditorApunte.dfm
new file mode 100644
index 00000000..ada0e15a
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Views/uEditorApunte.dfm
@@ -0,0 +1,144 @@
+inherited fEditorApunte: TfEditorApunte
+ Left = 374
+ Top = 273
+ HorzScrollBar.Visible = False
+ VertScrollBar.Visible = False
+ Caption = 'Ficha de apunte'
+ ClientWidth = 632
+ Scaled = False
+ OnClose = CustomEditorClose
+ ExplicitWidth = 640
+ ExplicitHeight = 488
+ PixelsPerInch = 96
+ TextHeight = 13
+ inherited JvNavPanelHeader: TJvNavPanelHeader
+ Width = 632
+ Caption = 'Apunte'
+ ExplicitWidth = 632
+ inherited Image1: TImage
+ Left = 605
+ Picture.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
+ 00001C0806000000720DDF940000000970485973000017120000171201679FD2
+ 520000000467414D410000B18E7CFB51930000020F4944415478DAE5D4DB2B04
+ 511800F06FB659D7CD2D892816B984258992242129E5924BDEE49147FF81571E
+ 9495072F44BB1EF69127CAA5DC436E895C4A92AC6CC48E9961EC3963C7EEEC65
+ CEAC6D5F7CF575E69C33F3FD3AA773861204014219D4FF02298AF2FAD2709B5E
+ B8BEBF0E18195B17A4C28A20C2FA8D16E059065EACF7F0FE6203FBAB986B9619
+ D0EB93A169D0E8757E7A6C089ED2BBC1643291814E4C2CF0EC13F3368FB0AE8E
+ 5618DF0E27038381A1200283851181C1C414C191F6CC3F611DED2DA0D150E4E0
+ 402515F0A56CACAF83C8A808A069DA0DF50B8EF65242437D1F11C0B13C701C87
+ DBA58555282E2B045A4B83D691AE685040578C6339585DDC8082923C0CC9D13F
+ 83728CE378D858D981DC826C8CC9D189DD88C0C10F86151119BAB77D08593919
+ 222843270F74EAC1AFCF2FBC126F181A3FDA3F85F4CC34097245A74EE2D4814A
+ 18EA9F1D5F404A6A1284858779A0B3E789E42009869E2FCF6F203129016FA11C
+ 9DBB4A26034931D691B73777101B1F8341396AB94D53064930C6FE21818F0F56
+ 88D6454907C589CE5BB3C16C36BBFF3EE5605D6DAF072616E781E7C53196FD5D
+ 1DEADB9E6D18D06A7F4FE73263C018AAEB17ACAAEC715FCD4F515F186ADFDFDE
+ 1C975C23615B9A720953042BCA3A556168FB19C68EBF47E8A1AEDA0D53044B0D
+ ADAA30144EF038A6C60353048BF29B55614ED017A6086E32DD1048F8C2FC82A1
+ 889083DF93D867F65E51168D0000000049454E44AE426082}
+ ExplicitLeft = 607
+ end
+ end
+ inherited TBXDock: TTBXDock
+ Width = 632
+ ExplicitWidth = 632
+ inherited tbxMain: TTBXToolbar
+ ExplicitWidth = 330
+ inherited TBXItem2: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem5: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem23: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem3: TTBXItem
+ Visible = False
+ end
+ end
+ inherited tbxMenu: TTBXToolbar
+ DockPos = 0
+ ExplicitWidth = 632
+ inherited TBXSubmenuItem4: TTBXSubmenuItem
+ inherited TBXItem8: TTBXItem
+ Visible = False
+ end
+ inherited TBXSeparatorItem5: TTBXSeparatorItem
+ Visible = False
+ end
+ inherited TBXItem10: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem21: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem22: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem9: TTBXItem
+ Visible = False
+ end
+ end
+ inherited TBXSubmenuItem1: TTBXSubmenuItem
+ inherited TBXItem32: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem31: TTBXItem
+ Visible = False
+ end
+ inherited TBXSeparatorItem13: TTBXSeparatorItem
+ Visible = False
+ end
+ end
+ end
+ end
+ inherited pgPaginas: TPageControl
+ Width = 632
+ ExplicitWidth = 632
+ inherited pagGeneral: TTabSheet
+ ExplicitLeft = 4
+ ExplicitTop = 24
+ ExplicitWidth = 624
+ ExplicitHeight = 338
+ end
+ end
+ inherited StatusBar: TJvStatusBar
+ Width = 632
+ Panels = <
+ item
+ Width = 200
+ end>
+ ExplicitWidth = 632
+ end
+ inherited EditorActionList: TActionList
+ Top = 128
+ end
+ inherited SmallImages: TPngImageList
+ Top = 112
+ end
+ inherited dsDataTable: TDADataSource [6]
+ Left = 168
+ Top = 120
+ end
+ inherited LargeImages: TPngImageList [7]
+ Top = 112
+ end
+ inherited JvFormStorage: TJvFormStorage [8]
+ end
+ object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList
+ Left = 320
+ Top = 248
+ object dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel
+ GroupOptions.CaptionOptions.Font.Charset = DEFAULT_CHARSET
+ GroupOptions.CaptionOptions.Font.Color = clWindowText
+ GroupOptions.CaptionOptions.Font.Height = -11
+ GroupOptions.CaptionOptions.Font.Name = 'Tahoma'
+ GroupOptions.CaptionOptions.Font.Style = [fsBold]
+ GroupOptions.CaptionOptions.TextColor = clHighlight
+ GroupOptions.CaptionOptions.UseDefaultFont = False
+ end
+ end
+end
diff --git a/Source/Modulos/Contabilidad/Views/uEditorApunte.pas b/Source/Modulos/Contabilidad/Views/uEditorApunte.pas
new file mode 100644
index 00000000..5d70215d
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Views/uEditorApunte.pas
@@ -0,0 +1,211 @@
+unit uEditorApunte;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uEditorDBItem, ToolWin, ComCtrls, JvExControls, JvComponent,
+ uBizApuntes, JvNavigationPane, ActnList,
+ uEditorBase, StdActns, TB2Dock, TB2Toolbar, TBX, ImgList, PngImageList,
+ TB2Item, uEditorItem, DB, uDADataTable, uEditorDBBase, JvFormAutoSize,
+ uDAScriptingProvider, uDACDSDataTable, StdCtrls, pngimage, ExtCtrls,
+ TBXDkPanels, JvButton, AppEvnts, uCustomView, uViewBase,
+ JvAppStorage, JvAppRegistryStorage, JvFormPlacement, JvComponentBase,
+
+ uViewApuntes, uIEditorApunte, uApuntesController, JvExComCtrls,
+ JvStatusBar, dxLayoutLookAndFeels, uDAInterfaces, uViewDetallesGenerico,
+ cxDropDownEdit, cxCalendar, cxDBEdit, dxLayoutControl,
+ cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxSpinEdit, cxControls,
+ uViewApunte;
+
+type
+ TfEditorApunte = class(TfEditorDBItem, IEditorApunte)
+ dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
+ dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel;
+ procedure FormShow(Sender: TObject);
+ procedure dsDataTableDataChange(Sender: TObject; Field: TField);
+ procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction);
+ protected
+ FController : IApuntesController;
+ FApunte: IBizApunte;
+ FViewApunte : IViewApunte;
+
+ function GetController : IApuntesController;
+ procedure SetController (const Value : IApuntesController); virtual;
+ function GetApunte: IBizApunte; virtual;
+ procedure SetApunte(const Value: IBizApunte); virtual;
+ function GetViewApunte: IViewApunte;
+ procedure SetViewApunte(const Value: IViewApunte);
+ property ViewApunte: IViewApunte read GetViewApunte write SetViewApunte;
+
+ procedure GuardarInterno; override;
+ procedure EliminarInterno; override;
+
+ procedure PonerTitulos(const ATitulo: string = ''); override;
+
+ //Si queremos crear otra vista para el editor heredado solo tendriamos que
+ //sobreescribir este metodo
+ procedure AsignarVista; virtual;
+
+ public
+ property Apunte: IBizApunte read GetApunte write SetApunte;
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+uses
+ uCustomEditor, uDataModuleBase, uFactuGES_App;
+
+function ShowEditorApunte (ABizObject : TDADataTableRules): TModalResult;
+var
+ AEditor: TfEditorApunte;
+begin
+ AEditor := TfEditorApunte.Create(Application);
+ try
+ AEditor.Apunte := (ABizObject as IBizApunte);
+ Result := AEditor.ShowModal;
+ finally
+ AEditor.Release;
+ end;
+end;
+
+{
+******************************* TfEditorApunte *******************************
+}
+function TfEditorApunte.GetApunte: IBizApunte;
+begin
+ Result := FApunte;
+end;
+
+function TfEditorApunte.GetController: IApuntesController;
+begin
+ Result := FController;
+end;
+
+function TfEditorApunte.GetViewApunte: IViewApunte;
+begin
+ Result := FViewApunte;
+end;
+
+procedure TfEditorApunte.GuardarInterno;
+begin
+ inherited;
+ FController.Guardar(FApunte);
+ Modified := False;
+end;
+
+procedure TfEditorApunte.PonerTitulos(const ATitulo: string);
+var
+ FTitulo : String;
+begin
+ if Assigned(Apunte) then
+ begin
+ if Apunte.EsNuevo then
+ FTitulo := 'Nueva Apunte - ' + AppFactuGES.EjercicioActivo.NOMBRE
+ else
+ FTitulo := 'Apunte' + ' - ' + AppFactuGES.EjercicioActivo.NOMBRE; // + ' - ' + Apunte.DESCRIPCION;
+ end;
+
+ inherited PonerTitulos(FTitulo);
+end;
+
+procedure TfEditorApunte.SetApunte(const Value: IBizApunte);
+begin
+ FApunte := Value;
+ dsDataTable.DataTable := FApunte.DataTable;
+
+ if Assigned(FViewApunte) and Assigned(Apunte) then
+ FViewApunte.Apunte := Apunte;
+end;
+
+procedure TfEditorApunte.SetController(const Value: IApuntesController);
+begin
+ FController := Value;
+// if Assigned(ViewApunte) then
+// ViewApunte.Controller := FController;
+end;
+
+procedure TfEditorApunte.SetViewApunte(const Value: IViewApunte);
+begin
+ FViewApunte := Value;
+
+ if Assigned(FViewApunte) and Assigned(Apunte) then
+ FViewApunte.Apunte := Apunte;
+end;
+
+procedure TfEditorApunte.FormShow(Sender: TObject);
+begin
+ inherited;
+
+// if not Assigned(FViewApunte) then
+// raise Exception.Create('No hay ninguna vista asignada');
+
+ if not Assigned(Apunte) then
+ raise Exception.Create('No hay ningún almacén asignado');
+
+ Apunte.DataTable.Active := True;
+end;
+
+destructor TfEditorApunte.Destroy;
+begin
+ // Utilizar mejor OnClose;
+ inherited;
+end;
+
+procedure TfEditorApunte.AsignarVista;
+var
+ AViewApunte: TfrViewApunte;
+begin
+ AViewApunte := TfrViewApunte.create(Self);
+ with AViewApunte do
+ begin
+ Parent := pagGeneral;
+ Align := alClient;
+// dxLayoutControlApunte.LookAndFeel := dxLayoutOfficeLookAndFeel1;
+ end;
+ ViewApunte := AViewApunte;
+end;
+
+constructor TfEditorApunte.Create(AOwner: TComponent);
+begin
+ inherited;
+ FController := TApuntesController.Create;
+ pgPaginas.ActivePageIndex := 0;
+ AsignarVista;
+end;
+
+procedure TfEditorApunte.CustomEditorClose(Sender: TObject;
+ var Action: TCloseAction);
+begin
+ inherited;
+ dsDataTable.DataTable := NIL;
+ FController := Nil;
+ FViewApunte := NIL;
+ FApunte := NIL;
+end;
+
+procedure TfEditorApunte.dsDataTableDataChange(Sender: TObject;
+ Field: TField);
+begin
+ inherited;
+ if Assigned(FApunte) and (not (FApunte.DataTable.Fetching) or
+ not (FApunte.DataTable.Opening) or not (FApunte.DataTable.Closing)) then
+ PonerTitulos;
+end;
+
+procedure TfEditorApunte.EliminarInterno;
+begin
+ if (Application.MessageBox('¿Desea borrar esta Apunte?', 'Atención', MB_YESNO) = IDYES) then
+ begin
+ inherited;
+ if not FController.Eliminar(FApunte) then
+ actRefrescar.Execute;
+ end;
+end;
+
+end.
+
diff --git a/Source/Modulos/Contabilidad/Views/uEditorAsiento.dfm b/Source/Modulos/Contabilidad/Views/uEditorAsiento.dfm
new file mode 100644
index 00000000..dfedd06c
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Views/uEditorAsiento.dfm
@@ -0,0 +1,270 @@
+inherited fEditorAsiento: TfEditorAsiento
+ Left = 374
+ Top = 273
+ HorzScrollBar.Visible = False
+ VertScrollBar.Visible = False
+ Caption = 'Ficha de asiento'
+ ClientWidth = 632
+ Scaled = False
+ OnClose = CustomEditorClose
+ ExplicitWidth = 640
+ ExplicitHeight = 488
+ PixelsPerInch = 96
+ TextHeight = 13
+ inherited JvNavPanelHeader: TJvNavPanelHeader
+ Width = 632
+ Caption = 'Asiento'
+ ExplicitWidth = 632
+ inherited Image1: TImage
+ Left = 605
+ Picture.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
+ 00001C0806000000720DDF940000000970485973000017120000171201679FD2
+ 520000000467414D410000B18E7CFB51930000020F4944415478DAE5D4DB2B04
+ 511800F06FB659D7CD2D892816B984258992242129E5924BDEE49147FF81571E
+ 9495072F44BB1EF69127CAA5DC436E895C4A92AC6CC48E9961EC3963C7EEEC65
+ CEAC6D5F7CF575E69C33F3FD3AA773861204014219D4FF02298AF2FAD2709B5E
+ B8BEBF0E18195B17A4C28A20C2FA8D16E059065EACF7F0FE6203FBAB986B9619
+ D0EB93A169D0E8757E7A6C089ED2BBC1643291814E4C2CF0EC13F3368FB0AE8E
+ 5618DF0E27038381A1200283851181C1C414C191F6CC3F611DED2DA0D150E4E0
+ 402515F0A56CACAF83C8A808A069DA0DF50B8EF65242437D1F11C0B13C701C87
+ DBA58555282E2B045A4B83D691AE685040578C6339585DDC8082923C0CC9D13F
+ 83728CE378D858D981DC826C8CC9D189DD88C0C10F86151119BAB77D08593919
+ 222843270F74EAC1AFCF2FBC126F181A3FDA3F85F4CC34097245A74EE2D4814A
+ 18EA9F1D5F404A6A1284858779A0B3E789E42009869E2FCF6F203129016FA11C
+ 9DBB4A26034931D691B73777101B1F8341396AB94D53064930C6FE21818F0F56
+ 88D6454907C589CE5BB3C16C36BBFF3EE5605D6DAF072616E781E7C53196FD5D
+ 1DEADB9E6D18D06A7F4FE73263C018AAEB17ACAAEC715FCD4F515F186ADFDFDE
+ 1C975C23615B9A720953042BCA3A556168FB19C68EBF47E8A1AEDA0D53044B0D
+ ADAA30144EF038A6C60353048BF29B55614ED017A6086E32DD1048F8C2FC82A1
+ 889083DF93D867F65E51168D0000000049454E44AE426082}
+ ExplicitLeft = 607
+ end
+ end
+ inherited TBXDock: TTBXDock
+ Width = 632
+ ExplicitWidth = 632
+ inherited tbxMain: TTBXToolbar
+ ExplicitWidth = 330
+ inherited TBXItem2: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem5: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem23: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem3: TTBXItem
+ Visible = False
+ end
+ end
+ inherited tbxMenu: TTBXToolbar
+ DockPos = 0
+ ExplicitWidth = 632
+ inherited TBXSubmenuItem4: TTBXSubmenuItem
+ inherited TBXItem8: TTBXItem
+ Visible = False
+ end
+ inherited TBXSeparatorItem5: TTBXSeparatorItem
+ Visible = False
+ end
+ inherited TBXItem10: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem21: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem22: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem9: TTBXItem
+ Visible = False
+ end
+ end
+ inherited TBXSubmenuItem1: TTBXSubmenuItem
+ inherited TBXItem32: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem31: TTBXItem
+ Visible = False
+ end
+ inherited TBXSeparatorItem13: TTBXSeparatorItem
+ Visible = False
+ end
+ end
+ end
+ end
+ inherited pgPaginas: TPageControl
+ Width = 632
+ ExplicitWidth = 632
+ inherited pagGeneral: TTabSheet
+ ExplicitLeft = 4
+ ExplicitTop = 24
+ ExplicitWidth = 624
+ ExplicitHeight = 338
+ object dxLayoutControl1: TdxLayoutControl
+ Left = 0
+ Top = 0
+ Width = 624
+ Height = 338
+ Align = alClient
+ TabOrder = 0
+ AutoContentSizes = [acsWidth, acsHeight]
+ DesignSize = (
+ 624
+ 338)
+ object edtOrden: TcxDBSpinEdit
+ Left = 49
+ Top = 10
+ AutoSize = False
+ DataBinding.DataField = 'ORDEN'
+ DataBinding.DataSource = dsDataTable
+ ParentFont = False
+ Properties.Alignment.Horz = taRightJustify
+ Properties.DisplayFormat = '0'
+ Properties.ImmediatePost = True
+ Properties.MaxValue = 100.000000000000000000
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.Font.Charset = DEFAULT_CHARSET
+ Style.Font.Color = clWindowText
+ Style.Font.Height = -11
+ Style.Font.Name = 'Tahoma'
+ Style.Font.Style = []
+ Style.HotTrack = False
+ Style.LookAndFeel.NativeStyle = True
+ Style.TextColor = clWindowText
+ Style.ButtonStyle = bts3D
+ Style.IsFontAssigned = True
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 0
+ Height = 21
+ Width = 168
+ end
+ object edtFecha: TcxDBDateEdit
+ Left = 361
+ Top = 10
+ Anchors = [akLeft, akTop, akRight]
+ DataBinding.DataField = 'FECHA_ASIENTO'
+ DataBinding.DataSource = dsDataTable
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.Color = clInfoBk
+ Style.HotTrack = False
+ Style.LookAndFeel.NativeStyle = True
+ Style.Shadow = False
+ Style.ButtonStyle = bts3D
+ Style.ButtonTransparency = ebtNone
+ Style.PopupBorderStyle = epbsFrame3D
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 1
+ Width = 158
+ end
+ object dxLayoutControl1Group_Root: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ LayoutDirection = ldHorizontal
+ ShowBorder = False
+ object dxLayoutControl1Item1: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahClient
+ Caption = 'Orden:'
+ Control = edtOrden
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item2: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahClient
+ Caption = 'Fecha:'
+ Control = edtFecha
+ ControlOptions.ShowBorder = False
+ end
+ end
+ end
+ end
+ object pagApuntes: TTabSheet
+ Caption = 'Apuntes'
+ ImageIndex = 1
+ inline frViewApuntes1: TfrViewApuntes
+ Left = 0
+ Top = 0
+ Width = 624
+ Height = 338
+ Align = alClient
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 0
+ ReadOnly = False
+ ExplicitWidth = 624
+ ExplicitHeight = 338
+ inherited cxGrid: TcxGrid
+ Width = 624
+ Height = 313
+ ExplicitWidth = 624
+ ExplicitHeight = 313
+ inherited cxGridView: TcxGridDBTableView
+ DataController.Summary.FooterSummaryItems = <
+ item
+ Format = '0 ejercicios'
+ Kind = skCount
+ Column = frViewApuntes1.cxGridViewID_ASIENTO
+ end>
+ end
+ end
+ inherited ToolBar1: TToolBar
+ Width = 624
+ ExplicitWidth = 624
+ end
+ end
+ end
+ end
+ inherited StatusBar: TJvStatusBar
+ Width = 632
+ Panels = <
+ item
+ Width = 200
+ end>
+ ExplicitWidth = 632
+ end
+ inherited EditorActionList: TActionList
+ Top = 128
+ end
+ inherited SmallImages: TPngImageList
+ Top = 112
+ end
+ inherited dsDataTable: TDADataSource [6]
+ Left = 16
+ Top = 168
+ end
+ inherited LargeImages: TPngImageList [7]
+ Top = 112
+ end
+ inherited JvFormStorage: TJvFormStorage [8]
+ end
+ inherited StatusBarImages: TPngImageList
+ Left = 24
+ Top = 208
+ end
+ object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList
+ Left = 320
+ Top = 248
+ object dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel
+ GroupOptions.CaptionOptions.Font.Charset = DEFAULT_CHARSET
+ GroupOptions.CaptionOptions.Font.Color = clWindowText
+ GroupOptions.CaptionOptions.Font.Height = -11
+ GroupOptions.CaptionOptions.Font.Name = 'Tahoma'
+ GroupOptions.CaptionOptions.Font.Style = [fsBold]
+ GroupOptions.CaptionOptions.TextColor = clHighlight
+ GroupOptions.CaptionOptions.UseDefaultFont = False
+ end
+ end
+end
diff --git a/Source/Modulos/Contabilidad/Views/uEditorAsiento.pas b/Source/Modulos/Contabilidad/Views/uEditorAsiento.pas
new file mode 100644
index 00000000..1610e93b
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Views/uEditorAsiento.pas
@@ -0,0 +1,232 @@
+unit uEditorAsiento;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uEditorDBItem, ToolWin, ComCtrls, JvExControls, JvComponent,
+ uBizAsientos, JvNavigationPane, ActnList,
+ uEditorBase, StdActns, TB2Dock, TB2Toolbar, TBX, ImgList, PngImageList,
+ TB2Item, uEditorItem, DB, uDADataTable, uEditorDBBase, JvFormAutoSize,
+ uDAScriptingProvider, uDACDSDataTable, StdCtrls, pngimage, ExtCtrls,
+ TBXDkPanels, JvButton, AppEvnts, uCustomView, uViewBase,
+ JvAppStorage, JvAppRegistryStorage, JvFormPlacement, JvComponentBase,
+
+ uIEditorAsiento, uAsientosController, JvExComCtrls,
+ JvStatusBar, dxLayoutLookAndFeels, uDAInterfaces, uViewDetallesGenerico,
+ uViewApuntes, cxDropDownEdit, cxCalendar, cxDBEdit, dxLayoutControl,
+ cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxSpinEdit, cxControls, DBCtrls;
+
+type
+ TfEditorAsiento = class(TfEditorDBItem, IEditorAsiento)
+ dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
+ dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel;
+ pagApuntes: TTabSheet;
+ frViewApuntes1: TfrViewApuntes;
+ dxLayoutControl1Group_Root: TdxLayoutGroup;
+ dxLayoutControl1: TdxLayoutControl;
+ dxLayoutControl1Item1: TdxLayoutItem;
+ edtOrden: TcxDBSpinEdit;
+ dxLayoutControl1Item2: TdxLayoutItem;
+ edtFecha: TcxDBDateEdit;
+ procedure FormShow(Sender: TObject);
+ procedure dsDataTableDataChange(Sender: TObject; Field: TField);
+ procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction);
+ protected
+ FController : IAsientosController;
+ FAsiento: IBizAsiento;
+// FViewAsiento : IViewAsiento;
+
+ function GetController : IAsientosController;
+ procedure SetController (const Value : IAsientosController); virtual;
+ function GetAsiento: IBizAsiento; virtual;
+ procedure SetAsiento(const Value: IBizAsiento); virtual;
+// function GetViewAsiento: IViewAsiento;
+// procedure SetViewAsiento(const Value: IViewAsiento);
+// property ViewAsiento: IViewAsiento read GetViewAsiento write SetViewAsiento;
+
+ procedure GuardarInterno; override;
+ procedure EliminarInterno; override;
+
+ procedure PonerTitulos(const ATitulo: string = ''); override;
+
+ //Si queremos crear otra vista para el editor heredado solo tendriamos que
+ //sobreescribir este metodo
+// procedure AsignarVista; virtual;
+
+ public
+ property Asiento: IBizAsiento read GetAsiento write SetAsiento;
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+uses
+ uCustomEditor, uDataModuleBase, uFactuGES_App;
+
+function ShowEditorAsiento (ABizObject : TDADataTableRules): TModalResult;
+var
+ AEditor: TfEditorAsiento;
+begin
+ AEditor := TfEditorAsiento.Create(Application);
+ try
+ AEditor.Asiento := (ABizObject as IBizAsiento);
+ Result := AEditor.ShowModal;
+ finally
+ AEditor.Release;
+ end;
+end;
+
+{
+******************************* TfEditorAsiento *******************************
+}
+function TfEditorAsiento.GetAsiento: IBizAsiento;
+begin
+ Result := FAsiento;
+end;
+
+function TfEditorAsiento.GetController: IAsientosController;
+begin
+ Result := FController;
+end;
+
+{
+function TfEditorAsiento.GetViewAsiento: IViewAsiento;
+begin
+ Result := FViewAsiento;
+end;
+}
+
+procedure TfEditorAsiento.GuardarInterno;
+begin
+ inherited;
+ FController.Guardar(FAsiento);
+ Modified := False;
+end;
+
+procedure TfEditorAsiento.PonerTitulos(const ATitulo: string);
+var
+ FTitulo : String;
+begin
+ if Assigned(Asiento) then
+ begin
+ if Asiento.EsNuevo then
+ FTitulo := 'Nueva Asiento - ' + AppFactuGES.EjercicioActivo.NOMBRE
+ else
+ FTitulo := 'Asiento' + ' - ' + AppFactuGES.EjercicioActivo.NOMBRE; // + ' - ' + Asiento.DESCRIPCION;
+ end;
+
+ inherited PonerTitulos(FTitulo);
+end;
+
+procedure TfEditorAsiento.SetAsiento(const Value: IBizAsiento);
+begin
+ FAsiento := Value;
+
+ if Assigned(FAsiento) then
+ begin
+ dsDataTable.DataTable := FAsiento.DataTable;
+ frViewApuntes1.Apuntes := FAsiento.Apuntes
+ end
+ else
+ begin
+ dsDataTable.DataTable := Nil;
+ frViewApuntes1.Apuntes := Nil;
+ end;
+
+// if Assigned(FViewAsiento) and Assigned(Asiento) then
+// FViewAsiento.Asiento := Asiento;
+end;
+
+procedure TfEditorAsiento.SetController(const Value: IAsientosController);
+begin
+ FController := Value;
+// if Assigned(ViewAsiento) then
+// ViewAsiento.Controller := FController;
+end;
+
+{
+procedure TfEditorAsiento.SetViewAsiento(const Value: IViewAsiento);
+begin
+ FViewAsiento := Value;
+
+ if Assigned(FViewAsiento) and Assigned(Asiento) then
+ FViewAsiento.Asiento := Asiento;
+end;
+}
+
+procedure TfEditorAsiento.FormShow(Sender: TObject);
+begin
+ inherited;
+
+// if not Assigned(FViewAsiento) then
+// raise Exception.Create('No hay ninguna vista asignada');
+
+ if not Assigned(Asiento) then
+ raise Exception.Create('No hay ningún almacén asignado');
+
+ Asiento.DataTable.Active := True;
+end;
+
+destructor TfEditorAsiento.Destroy;
+begin
+ // Utilizar mejor OnClose;
+ inherited;
+end;
+
+{
+procedure TfEditorAsiento.AsignarVista;
+var
+ AViewAsiento: TfrViewAsiento;
+begin
+ AViewAsiento := TfrViewAsiento.create(Self);
+ with AViewAsiento do
+ begin
+ Parent := pagGeneral;
+ Align := alClient;
+// dxLayoutControlAsiento.LookAndFeel := dxLayoutOfficeLookAndFeel1;
+ end;
+ ViewAsiento := AViewAsiento;
+end;
+}
+
+constructor TfEditorAsiento.Create(AOwner: TComponent);
+begin
+ inherited;
+ pgPaginas.ActivePageIndex := 0;
+// AsignarVista;
+end;
+
+procedure TfEditorAsiento.CustomEditorClose(Sender: TObject; var Action: TCloseAction);
+begin
+ inherited;
+ dsDataTable.DataTable := NIL;
+// FViewAsiento := NIL;
+ FAsiento := NIL;
+end;
+
+procedure TfEditorAsiento.dsDataTableDataChange(Sender: TObject; Field: TField);
+begin
+ inherited;
+{
+ if Assigned(FAsiento) and (not (FAsiento.DataTable.Fetching) or
+ not (FAsiento.DataTable.Opening) or not (FAsiento.DataTable.Closing)) then
+ PonerTitulos;
+}
+end;
+
+procedure TfEditorAsiento.EliminarInterno;
+begin
+ if (Application.MessageBox('¿Desea borrar esta Asiento?', 'Atención', MB_YESNO) = IDYES) then
+ begin
+ inherited;
+ if not FController.Eliminar(FAsiento) then
+ actRefrescar.Execute;
+ end;
+end;
+
+end.
+
diff --git a/Source/Modulos/Contabilidad/Views/uEditorAsientos.pas b/Source/Modulos/Contabilidad/Views/uEditorAsientos.pas
deleted file mode 100644
index 88b4f6a0..00000000
Binary files a/Source/Modulos/Contabilidad/Views/uEditorAsientos.pas and /dev/null differ
diff --git a/Source/Modulos/Contabilidad/Views/uEditorCuenta.pas b/Source/Modulos/Contabilidad/Views/uEditorCuenta.pas
index 06edb097..0fab6c39 100644
--- a/Source/Modulos/Contabilidad/Views/uEditorCuenta.pas
+++ b/Source/Modulos/Contabilidad/Views/uEditorCuenta.pas
@@ -55,7 +55,7 @@ implementation
{$R *.dfm}
uses
- uCustomEditor, uDataModuleBase;
+ uCustomEditor, uDataModuleBase, uFactuGES_App;
function ShowEditorCuenta (ABizObject : TDADataTableRules): TModalResult;
var
@@ -102,9 +102,9 @@ begin
if Assigned(Cuenta) then
begin
if Cuenta.EsNuevo then
- FTitulo := 'Nueva cuenta'
+ FTitulo := 'Nueva cuenta - ' + AppFactuGES.EjercicioActivo.NOMBRE
else
- FTitulo := 'Cuenta' + ' - ' + Cuenta.DESCRIPCION;
+ FTitulo := 'Cuenta' + ' - ' + AppFactuGES.EjercicioActivo.NOMBRE + ' - ' + Cuenta.DESCRIPCION;
end;
inherited PonerTitulos(FTitulo);
diff --git a/Source/Modulos/Contabilidad/Views/uEditorCuentas.dfm b/Source/Modulos/Contabilidad/Views/uEditorCuentas.dfm
index ff55c656..d8c1249f 100644
--- a/Source/Modulos/Contabilidad/Views/uEditorCuentas.dfm
+++ b/Source/Modulos/Contabilidad/Views/uEditorCuentas.dfm
@@ -62,11 +62,14 @@ inherited fEditorCuentas: TfEditorCuentas
ParentFont = False
TabOrder = 3
ReadOnly = False
- ExplicitLeft = -11
- ExplicitTop = -150
+ ExplicitTop = 102
+ ExplicitWidth = 543
+ ExplicitHeight = 323
inherited cxGrid: TcxGrid
Width = 543
Height = 195
+ ExplicitWidth = 543
+ ExplicitHeight = 195
inherited cxGridView: TcxGridDBTableView
DataController.Summary.FooterSummaryItems = <
item
@@ -81,9 +84,12 @@ inherited fEditorCuentas: TfEditorCuentas
end
inherited frViewFiltroBase1: TfrViewFiltroBase
Width = 543
+ ExplicitWidth = 543
inherited TBXDockablePanel1: TTBXDockablePanel
+ ExplicitWidth = 543
inherited dxLayoutControl1: TdxLayoutControl
Width = 543
+ ExplicitWidth = 543
inherited txtFiltroTodo: TcxTextEdit
ExplicitWidth = 273
Width = 273
@@ -101,19 +107,24 @@ inherited fEditorCuentas: TfEditorCuentas
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 543
+ ExplicitWidth = 543
inherited tbxBotones: TTBXToolbar
Width = 533
+ ExplicitWidth = 533
end
end
end
end
inherited pnlAgrupaciones: TTBXDockablePanel
Top = 297
- ExplicitWidth = 554
+ ExplicitTop = 297
+ ExplicitWidth = 543
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 543
+ ExplicitWidth = 543
inherited TBXToolbar1: TTBXToolbar
Width = 533
+ ExplicitWidth = 533
end
end
end
diff --git a/Source/Modulos/Contabilidad/Views/uEditorCuentas.pas b/Source/Modulos/Contabilidad/Views/uEditorCuentas.pas
index 12e583c4..86d1a8b3 100644
Binary files a/Source/Modulos/Contabilidad/Views/uEditorCuentas.pas and b/Source/Modulos/Contabilidad/Views/uEditorCuentas.pas differ
diff --git a/Source/Modulos/Contabilidad/Views/uEditorAsientos.dfm b/Source/Modulos/Contabilidad/Views/uEditorDiario.dfm
similarity index 97%
rename from Source/Modulos/Contabilidad/Views/uEditorAsientos.dfm
rename to Source/Modulos/Contabilidad/Views/uEditorDiario.dfm
index 80526e3e..871568ed 100644
--- a/Source/Modulos/Contabilidad/Views/uEditorAsientos.dfm
+++ b/Source/Modulos/Contabilidad/Views/uEditorDiario.dfm
@@ -1,12 +1,12 @@
-inherited fEditorAsientos: TfEditorAsientos
+inherited fEditorDiario: TfEditorDiario
Left = 489
Top = 325
- Caption = 'Lista de epigrafes'
+ Caption = 'Libro de diario'
ExplicitHeight = 471
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
- Caption = 'Lista de epigrafes'
+ Caption = 'Libro de diario'
inherited Image1: TImage
Picture.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800
@@ -48,7 +48,7 @@ inherited fEditorAsientos: TfEditorAsientos
ExplicitLeft = 275
end
end
- inline frViewAsientos1: TfrViewAsientos [3]
+ inline frViewDiario1: TfrViewDiario [3]
Left = 0
Top = 102
Width = 543
@@ -62,17 +62,20 @@ inherited fEditorAsientos: TfEditorAsientos
ParentFont = False
TabOrder = 3
ReadOnly = False
- ExplicitLeft = -11
- ExplicitTop = -150
+ ExplicitTop = 102
+ ExplicitWidth = 543
+ ExplicitHeight = 323
inherited cxGrid: TcxGrid
Width = 543
Height = 195
+ ExplicitWidth = 543
+ ExplicitHeight = 195
inherited cxGridView: TcxGridDBTableView
DataController.Summary.FooterSummaryItems = <
item
Format = '0 ejercicios'
Kind = skCount
- Column = frViewAsientos1.cxGridViewREF_SUBCUENTA
+ Column = frViewDiario1.cxGridViewREF_SUBCUENTA
end>
inherited cxGridViewID_ASIENTO: TcxGridDBColumn
IsCaptionAssigned = True
@@ -81,52 +84,49 @@ inherited fEditorAsientos: TfEditorAsientos
end
inherited frViewFiltroBase1: TfrViewFiltroBase
Width = 543
+ ExplicitWidth = 543
inherited TBXDockablePanel1: TTBXDockablePanel
+ ExplicitWidth = 543
inherited dxLayoutControl1: TdxLayoutControl
Width = 543
- inherited txtFiltroTodo: TcxTextEdit
- ExplicitWidth = 273
- Width = 273
- end
- inherited edtFechaIniFiltro: TcxDateEdit
- ExplicitWidth = 121
- Width = 121
- end
+ ExplicitWidth = 543
inherited edtFechaFinFiltro: TcxDateEdit
Left = 337
ExplicitLeft = 337
- ExplicitWidth = 121
- Width = 121
end
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 543
+ ExplicitWidth = 543
inherited tbxBotones: TTBXToolbar
Width = 533
+ ExplicitWidth = 533
end
end
end
end
inherited pnlAgrupaciones: TTBXDockablePanel
Top = 297
- ExplicitWidth = 554
+ ExplicitTop = 297
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 543
+ ExplicitWidth = 543
inherited TBXToolbar1: TTBXToolbar
Width = 533
+ ExplicitWidth = 533
end
end
end
inherited dxComponentPrinter: TdxComponentPrinter
inherited dxComponentPrinterLink: TdxGridReportLink
- ReportDocument.CreationDate = 39426.815642349540000000
+ ReportDocument.CreationDate = 39428.774937233790000000
BuiltInReportLink = True
end
end
inherited cxViewGridPopupMenu: TcxGridPopupMenu
PopupMenus = <
item
- GridView = frViewAsientos1.cxGridView
+ GridView = frViewDiario1.cxGridView
HitTypes = [gvhtCell]
Index = 0
end>
diff --git a/Source/Modulos/Contabilidad/Views/uEditorDiario.pas b/Source/Modulos/Contabilidad/Views/uEditorDiario.pas
new file mode 100644
index 00000000..97c6faf4
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Views/uEditorDiario.pas
@@ -0,0 +1,156 @@
+unit uEditorDiario;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uEditorBase, ToolWin, ComCtrls, JvExControls, JvComponent,
+ JvNavigationPane, uViewDiario, uBizAsientos, 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, uIEditorDiario, uEditorGridBase,
+ JvComponentBase, uViewGridBase, uAsientosController, JvExComCtrls,
+ JvStatusBar, uDAInterfaces, uViewEpigrafes, uBizDiario;
+
+type
+ TfEditorDiario = class(TfEditorGridBase, IEditorDiario)
+ frViewDiario1: TfrViewDiario;
+ procedure FormShow(Sender: TObject);
+ private
+ FDiario: IBizDiario;
+ FController : IAsientosController;
+ protected
+ function GetDiario: IBizDiario;
+ procedure SetDiario(const Value: IBizDiario);
+ function GetController : IAsientosController; virtual;
+ procedure SetController (const Value : IAsientosController); virtual;
+
+ procedure NuevoInterno; override;
+ procedure EliminarInterno; override;
+ procedure ModificarInterno; override;
+ procedure DuplicarInterno; override;
+
+ public
+ procedure PonerTitulos(const ATitulo: string = ''); override;
+ property Diario: IBizDiario read GetDiario write SetDiario;
+ property Controller : IAsientosController read GetController write SetController;
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ end;
+
+implementation
+
+uses
+ uCustomEditor, uDataModuleUsuarios,
+// uEditorEpigrafe,
+ uEditorDBBase, uFactuGES_App,
+ cxGrid, cxGridCustomTableView; //, uListaAsientos;
+
+{$R *.dfm}
+
+{
+****************************** TfEditorAsientos *******************************
+}
+procedure TfEditorDiario.FormShow(Sender: TObject);
+begin
+ inherited;
+
+ if not Assigned(ViewGrid) then
+ raise Exception.Create('No hay ninguna vista asignada');
+
+ if not Assigned(Diario) then
+ raise Exception.Create('No hay ningún Diario asignado');
+
+ Diario.DataTable.Active := True;
+ ViewGrid.GotoFirst;
+end;
+
+function TfEditorDiario.GetDiario: IBizDiario;
+begin
+ Result := FDiario;
+end;
+
+function TfEditorDiario.GetController: IAsientosController;
+begin
+ Result := FController;
+end;
+
+procedure TfEditorDiario.ModificarInterno;
+begin
+ inherited;
+ FController.Ver(FController.Buscar(Diario.ID_ASIENTO));
+end;
+
+procedure TfEditorDiario.NuevoInterno;
+begin
+ inherited;
+ FController.Ver(FController.Anadir);
+end;
+
+procedure TfEditorDiario.PonerTitulos(const ATitulo: string);
+var
+ FTitulo : String;
+begin
+ FTitulo := 'Lista de Asientos - ' + AppFactuGES.EmpresaActiva.NOMBRE + ' - ' + AppFactuGES.EjercicioActivo.NOMBRE;
+ inherited PonerTitulos(FTitulo);
+end;
+
+procedure TfEditorDiario.SetDiario(const Value: IBizDiario);
+begin
+ FDiario := Value;
+ dsDataTable.DataTable := FDiario.DataTable;
+ if Assigned(ViewGrid) then
+ (ViewGrid as IViewDiario).Diario := Diario;
+end;
+
+procedure TfEditorDiario.SetController(const Value: IAsientosController);
+begin
+ FController := Value;
+end;
+
+destructor TfEditorDiario.Destroy;
+begin
+ FDiario := NIL;
+ inherited;
+end;
+
+procedure TfEditorDiario.DuplicarInterno;
+var
+ AEpigrafe : IBizAsiento;
+begin
+AppFactuGES.ShowCapado;
+{
+ inherited;
+ AEpigrafe := FController.Duplicar(Asientos);
+ try
+ FController.Ver(AEpigrafe);
+ finally
+ actRefrescar.Execute;
+ end;
+}
+end;
+
+procedure TfEditorDiario.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(Asientos) then
+ actRefrescar.Execute;
+ end;
+}
+end;
+
+constructor TfEditorDiario.Create(AOwner: TComponent);
+begin
+ inherited;
+ ViewGrid := frViewDiario1; //CreateView(TfrViewAsientos) as IViewAsientos;
+end;
+
+end.
diff --git a/Source/Modulos/Contabilidad/Views/uEditorElegirSubCuentas.dfm b/Source/Modulos/Contabilidad/Views/uEditorElegirSubCuentas.dfm
new file mode 100644
index 00000000..fe30d873
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Views/uEditorElegirSubCuentas.dfm
@@ -0,0 +1,256 @@
+inherited fEditorElegirSubCuentas: TfEditorElegirSubCuentas
+ Caption = 'Seleccionar pedido de cliente'
+ ClientWidth = 656
+ ExplicitWidth = 664
+ PixelsPerInch = 96
+ TextHeight = 13
+ object JvgWizardHeader1: TJvgWizardHeader [0]
+ Left = 0
+ Top = 27
+ Width = 656
+ Height = 60
+ CaptionFont.Charset = DEFAULT_CHARSET
+ CaptionFont.Color = clWindowText
+ CaptionFont.Height = -11
+ CaptionFont.Name = 'Tahoma'
+ CaptionFont.Style = [fsBold]
+ CommentFont.Charset = DEFAULT_CHARSET
+ CommentFont.Color = clWindowText
+ CommentFont.Height = -11
+ CommentFont.Name = 'Tahoma'
+ CommentFont.Style = []
+ SymbolFont.Charset = DEFAULT_CHARSET
+ SymbolFont.Color = clHighlightText
+ SymbolFont.Height = -35
+ SymbolFont.Name = 'Wingdings'
+ SymbolFont.Style = [fsBold]
+ Captions.Strings = (
+ 'Seleccione el pedido de proveedor')
+ Comments.Strings = (
+ ' ')
+ Gradient.FromColor = clHighlight
+ Gradient.ToColor = clWindow
+ Gradient.Active = False
+ Gradient.Orientation = fgdVertical
+ BufferedDraw = False
+ ExplicitTop = 16
+ end
+ inherited JvNavPanelHeader: TJvNavPanelHeader
+ Width = 656
+ Caption = 'Lista de pedidos de proveedor'
+ Visible = False
+ ExplicitWidth = 656
+ inherited Image1: TImage
+ Left = 629
+ ExplicitLeft = 629
+ end
+ end
+ inherited TBXDock: TTBXDock
+ Top = 87
+ Width = 656
+ ExplicitTop = 87
+ ExplicitWidth = 656
+ inherited tbxMain: TTBXToolbar
+ Align = alRight
+ ExplicitWidth = 126
+ inherited TBXItem2: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem5: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem4: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem6: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem36: TTBXItem
+ Action = actAnchoAuto2
+ end
+ end
+ inherited tbxFiltro: TTBXToolbar
+ Left = 126
+ Top = 23
+ DockPos = 115
+ DockRow = 1
+ ExplicitLeft = 126
+ ExplicitTop = 23
+ inherited TBXItem34: TTBXItem
+ Action = actQuitarFiltro2
+ end
+ end
+ inherited tbxMenu: TTBXToolbar
+ ExplicitWidth = 656
+ end
+ end
+ inherited StatusBar: TJvStatusBar
+ Width = 656
+ Visible = False
+ ExplicitWidth = 656
+ end
+ inline frViewBarraSeleccion1: TfrViewBarraSeleccion [4]
+ Left = 0
+ Top = 376
+ Width = 656
+ Height = 49
+ Align = alBottom
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 4
+ ReadOnly = False
+ ExplicitTop = 376
+ ExplicitWidth = 656
+ inherited JvFooter1: TJvFooter
+ Width = 656
+ ExplicitWidth = 656
+ inherited bSeleccionar: TJvFooterBtn
+ Left = 444
+ ExplicitLeft = 444
+ end
+ inherited bCancelar: TJvFooterBtn
+ Left = 548
+ ExplicitLeft = 548
+ end
+ end
+ inherited BarraSeleccionActionList: TActionList
+ inherited actSeleccionar: TAction
+ OnExecute = frViewBarraSeleccion1actSeleccionarExecute
+ OnUpdate = frViewBarraSeleccion1actSeleccionarUpdate
+ end
+ inherited actCancelar: TAction
+ OnExecute = frViewBarraSeleccion1actCancelarExecute
+ end
+ end
+ end
+ inherited frViewSubCuentas1: TfrViewSubCuentas [5]
+ Top = 162
+ Width = 656
+ Height = 214
+ ExplicitTop = 162
+ ExplicitWidth = 656
+ ExplicitHeight = 214
+ inherited cxGrid: TcxGrid
+ Width = 656
+ Height = 86
+ ExplicitWidth = 656
+ ExplicitHeight = 86
+ inherited cxGridView: TcxGridDBTableView
+ DataController.Summary.DefaultGroupSummaryItems = <
+ item
+ Format = ',0.00 '#8364';-,0.00 '#8364
+ Kind = skSum
+ Position = spFooter
+ end>
+ DataController.Summary.FooterSummaryItems = <
+ item
+ Format = '0 pedidos'
+ Kind = skCount
+ end>
+ inherited cxGridViewID: TcxGridDBColumn
+ IsCaptionAssigned = True
+ end
+ end
+ end
+ inherited frViewFiltroBase1: TfrViewFiltroBase
+ Width = 656
+ ExplicitWidth = 656
+ inherited TBXDockablePanel1: TTBXDockablePanel
+ ExplicitWidth = 656
+ inherited dxLayoutControl1: TdxLayoutControl
+ Width = 656
+ ExplicitWidth = 656
+ inherited edtFechaFinFiltro: TcxDateEdit
+ Left = 294
+ ExplicitLeft = 294
+ ExplicitWidth = 421
+ Width = 421
+ end
+ end
+ inherited TBXAlignmentPanel1: TTBXAlignmentPanel
+ Width = 656
+ ExplicitWidth = 656
+ inherited tbxBotones: TTBXToolbar
+ Width = 646
+ ExplicitWidth = 646
+ end
+ end
+ end
+ end
+ inherited pnlAgrupaciones: TTBXDockablePanel
+ Top = 188
+ ExplicitTop = 188
+ ExplicitWidth = 656
+ inherited TBXAlignmentPanel1: TTBXAlignmentPanel
+ Width = 656
+ ExplicitWidth = 656
+ inherited TBXToolbar1: TTBXToolbar
+ Width = 646
+ ExplicitWidth = 646
+ end
+ end
+ end
+ inherited dxComponentPrinter: TdxComponentPrinter
+ inherited dxComponentPrinterLink: TdxGridReportLink
+ BuiltInReportLink = True
+ end
+ end
+ inherited cxViewGridPopupMenu: TcxGridPopupMenu
+ PopupMenus = <
+ item
+ GridView = frViewSubCuentas1.cxGridView
+ HitTypes = [gvhtCell]
+ Index = 0
+ end>
+ end
+ inherited dxPrintStyleManager1: TdxPrintStyleManager
+ inherited dxPrintStyleManager1Style1: TdxPSPrintStyle
+ BuiltInStyle = True
+ end
+ end
+ end
+ inherited EditorActionList: TActionList [8]
+ Left = 112
+ Top = 192
+ inherited actDuplicar: TAction
+ Visible = False
+ end
+ end
+ inherited dsDataTable: TDADataSource
+ Left = 8
+ Top = 192
+ end
+ inherited JvFormStorage: TJvFormStorage [12]
+ end
+ inherited GridPopupMenu: TPopupMenu
+ Left = 80
+ Top = 192
+ end
+ object EditorSeleccionActionList: TActionList
+ Images = SmallImages
+ Left = 152
+ Top = 192
+ object actBuscar2: TAction
+ Category = 'Buscar'
+ Caption = 'Buscar'
+ ImageIndex = 10
+ ShortCut = 114
+ end
+ object actQuitarFiltro2: TAction
+ Category = 'Buscar'
+ Caption = 'Quitar filtro y ver todo'
+ ImageIndex = 19
+ OnExecute = actQuitarFiltro2Execute
+ end
+ object actAnchoAuto2: TAction
+ Category = 'Ver'
+ Caption = 'Ancho autom'#225'tico'
+ ImageIndex = 21
+ OnExecute = actAnchoAuto2Execute
+ end
+ end
+end
diff --git a/Source/Modulos/Contabilidad/Views/uEditorElegirSubCuentas.pas b/Source/Modulos/Contabilidad/Views/uEditorElegirSubCuentas.pas
new file mode 100644
index 00000000..ca871fa7
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Views/uEditorElegirSubCuentas.pas
@@ -0,0 +1,126 @@
+unit uEditorElegirSubCuentas;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, uDADataTable, Menus, JvAppStorage, JvAppRegistryStorage,
+ JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns,
+ ActnList, uCustomView, uViewBase, uViewGridBase, uViewGrid,
+ ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar,
+ pngimage, ExtCtrls, JvExControls, JvComponent,
+ JvNavigationPane, uViewBarraSeleccion, JvgWizardHeader, StdCtrls,
+ uBizSubCuentas, uIEditorElegirSubCuentas,
+ JvExComCtrls, JvStatusBar, uEditorSubCuentas, uViewSubCuentas,
+ JSDialog, uDAInterfaces;
+
+type
+ TfEditorElegirSubCuentas = class(TfEditorSubCuentas, IEditorElegirSubCuentas)
+ frViewBarraSeleccion1: TfrViewBarraSeleccion;
+ JvgWizardHeader1: TJvgWizardHeader;
+ EditorSeleccionActionList: TActionList;
+ actBuscar2: TAction;
+ actQuitarFiltro2: TAction;
+ actAnchoAuto2: TAction;
+ procedure frViewBarraSeleccion1actSeleccionarUpdate(Sender: TObject);
+ procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject);
+ procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ procedure actAnchoAuto2Execute(Sender: TObject);
+ procedure actQuitarFiltro2Execute(Sender: TObject);
+ protected
+ procedure SetMultiSelect (AValue : Boolean);
+ function GetMultiSelect : Boolean;
+ function GetSubCuentasSeleccionados: IBizSubCuenta;
+ procedure SetViewGrid(const Value: IViewGridBase); override;
+ procedure SetMensaje (const AValue: String);
+ function GetMensaje: String;
+ public
+ property Mensaje : String read GetMensaje write SetMensaje;
+ property SubCuentasSeleccionados: IBizSubCuenta read GetSubCuentasSeleccionados;
+ property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
+ end;
+
+implementation
+
+uses
+ uEditorGridBase, cxGridCustomTableView, uIntegerListUtils, uDBSelectionListUtils,
+ uGridUtils, uEditorBase, uSubCuentasController;
+
+{$R *.dfm}
+
+{ TfEditorElegirSubCuentas }
+
+procedure TfEditorElegirSubCuentas.actAnchoAuto2Execute(Sender: TObject);
+begin
+ inherited;
+ actAnchoAuto.Execute;
+end;
+
+procedure TfEditorElegirSubCuentas.actQuitarFiltro2Execute(Sender: TObject);
+begin
+ inherited;
+ actQuitarFiltro.Execute;
+end;
+
+procedure TfEditorElegirSubCuentas.FormShow(Sender: TObject);
+begin
+ inherited;
+ EditorActionList.State := asSuspended;
+end;
+
+procedure TfEditorElegirSubCuentas.frViewBarraSeleccion1actCancelarExecute(
+ Sender: TObject);
+begin
+ inherited;
+ Close;
+end;
+
+procedure TfEditorElegirSubCuentas.frViewBarraSeleccion1actSeleccionarExecute(
+ Sender: TObject);
+begin
+ inherited;
+ ModalResult := mrOk;
+end;
+
+procedure TfEditorElegirSubCuentas.frViewBarraSeleccion1actSeleccionarUpdate(
+ Sender: TObject);
+begin
+ inherited;
+ (Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0)
+end;
+
+function TfEditorElegirSubCuentas.GetSubCuentasSeleccionados: IBizSubCuenta;
+begin
+ SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (SubCuentas as ISeleccionable).SelectedRecords);
+ // En SelectedRecords tengo los ID de las filas seleccionadas del grid
+ Result := (Controller as ISubCuentasController).ExtraerSeleccionados(SubCuentas) as IBizSubCuenta;
+end;
+
+function TfEditorElegirSubCuentas.GetMensaje: String;
+begin
+ Result := JvgWizardHeader1.Comments.Text;
+end;
+
+function TfEditorElegirSubCuentas.GetMultiSelect: Boolean;
+begin
+ Result := ViewGrid.MultiSelect;
+end;
+
+procedure TfEditorElegirSubCuentas.SetMensaje(const AValue: String);
+begin
+ JvgWizardHeader1.Comments.Text := AValue;
+end;
+
+procedure TfEditorElegirSubCuentas.SetMultiSelect(AValue: Boolean);
+begin
+ ViewGrid.MultiSelect := AValue;
+end;
+
+procedure TfEditorElegirSubCuentas.SetViewGrid(const Value: IViewGridBase);
+begin
+ inherited;
+ ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute;
+end;
+
+end.
diff --git a/Source/Modulos/Contabilidad/Views/uEditorEpigrafe.pas b/Source/Modulos/Contabilidad/Views/uEditorEpigrafe.pas
index fb488c93..25c5fc95 100644
--- a/Source/Modulos/Contabilidad/Views/uEditorEpigrafe.pas
+++ b/Source/Modulos/Contabilidad/Views/uEditorEpigrafe.pas
@@ -55,7 +55,7 @@ implementation
{$R *.dfm}
uses
- uCustomEditor, uDataModuleBase;
+ uCustomEditor, uDataModuleBase, uFactuGES_App;
function ShowEditorEpigrafe (ABizObject : TDADataTableRules): TModalResult;
var
@@ -102,9 +102,9 @@ begin
if Assigned(Epigrafe) then
begin
if Epigrafe.EsNuevo then
- FTitulo := 'Nuevo epígrafe'
+ FTitulo := 'Nuevo epígrafe - ' + AppFactuGES.EjercicioActivo.NOMBRE
else
- FTitulo := 'Epígrafe' + ' - ' + Epigrafe.DESCRIPCION;
+ FTitulo := 'Epígrafe' + ' - ' + AppFactuGES.EjercicioActivo.NOMBRE + ' - ' + Epigrafe.DESCRIPCION;
end;
inherited PonerTitulos(FTitulo);
diff --git a/Source/Modulos/Contabilidad/Views/uEditorEpigrafes.dfm b/Source/Modulos/Contabilidad/Views/uEditorEpigrafes.dfm
index efdf279f..156a8806 100644
--- a/Source/Modulos/Contabilidad/Views/uEditorEpigrafes.dfm
+++ b/Source/Modulos/Contabilidad/Views/uEditorEpigrafes.dfm
@@ -2,7 +2,6 @@ inherited fEditorEpigrafes: TfEditorEpigrafes
Left = 489
Top = 325
Caption = 'Lista de epigrafes'
- ExplicitWidth = 320
ExplicitHeight = 471
PixelsPerInch = 96
TextHeight = 13
@@ -91,9 +90,19 @@ inherited fEditorEpigrafes: TfEditorEpigrafes
inherited dxLayoutControl1: TdxLayoutControl
Width = 543
ExplicitWidth = 543
+ inherited txtFiltroTodo: TcxTextEdit
+ ExplicitWidth = 273
+ Width = 273
+ end
+ inherited edtFechaIniFiltro: TcxDateEdit
+ ExplicitWidth = 121
+ Width = 121
+ end
inherited edtFechaFinFiltro: TcxDateEdit
Left = 337
ExplicitLeft = 337
+ ExplicitWidth = 121
+ Width = 121
end
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
@@ -109,7 +118,7 @@ inherited fEditorEpigrafes: TfEditorEpigrafes
inherited pnlAgrupaciones: TTBXDockablePanel
Top = 297
ExplicitTop = 297
- ExplicitWidth = 128
+ ExplicitWidth = 543
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 543
ExplicitWidth = 543
diff --git a/Source/Modulos/Contabilidad/Views/uEditorEpigrafes.pas b/Source/Modulos/Contabilidad/Views/uEditorEpigrafes.pas
index f54e854d..15f5ba52 100644
Binary files a/Source/Modulos/Contabilidad/Views/uEditorEpigrafes.pas and b/Source/Modulos/Contabilidad/Views/uEditorEpigrafes.pas differ
diff --git a/Source/Modulos/Contabilidad/Views/uEditorSubCuenta.pas b/Source/Modulos/Contabilidad/Views/uEditorSubCuenta.pas
index 659f3ba2..36fd2327 100644
--- a/Source/Modulos/Contabilidad/Views/uEditorSubCuenta.pas
+++ b/Source/Modulos/Contabilidad/Views/uEditorSubCuenta.pas
@@ -55,7 +55,7 @@ implementation
{$R *.dfm}
uses
- uCustomEditor, uDataModuleBase;
+ uCustomEditor, uDataModuleBase, uFactuGES_App;
function ShowEditorSubCuenta (ABizObject : TDADataTableRules): TModalResult;
var
@@ -102,9 +102,9 @@ begin
if Assigned(SubCuenta) then
begin
if SubCuenta.EsNuevo then
- FTitulo := 'Nuevo almacén'
+ FTitulo := 'Nuevo almacén - ' + AppFactuGES.EjercicioActivo.NOMBRE
else
- FTitulo := 'Almacén' + ' - ' + SubCuenta.DESCRIPCION;
+ FTitulo := 'Almacén' + ' - ' + AppFactuGES.EjercicioActivo.NOMBRE + ' - ' + SubCuenta.DESCRIPCION;
end;
inherited PonerTitulos(FTitulo);
diff --git a/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.dfm b/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.dfm
index bfbc36b9..966c493b 100644
--- a/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.dfm
+++ b/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.dfm
@@ -62,12 +62,14 @@ inherited fEditorSubCuentas: TfEditorSubCuentas
ParentFont = False
TabOrder = 3
ReadOnly = False
- ExplicitLeft = 312
- ExplicitTop = -150
- ExplicitWidth = 32
+ ExplicitTop = 102
+ ExplicitWidth = 543
+ ExplicitHeight = 323
inherited cxGrid: TcxGrid
Width = 543
Height = 195
+ ExplicitWidth = 543
+ ExplicitHeight = 195
inherited cxGridView: TcxGridDBTableView
DataController.Summary.FooterSummaryItems = <
item
@@ -82,9 +84,12 @@ inherited fEditorSubCuentas: TfEditorSubCuentas
end
inherited frViewFiltroBase1: TfrViewFiltroBase
Width = 543
+ ExplicitWidth = 543
inherited TBXDockablePanel1: TTBXDockablePanel
+ ExplicitWidth = 543
inherited dxLayoutControl1: TdxLayoutControl
Width = 543
+ ExplicitWidth = 543
inherited txtFiltroTodo: TcxTextEdit
ExplicitWidth = 273
Width = 273
@@ -102,18 +107,24 @@ inherited fEditorSubCuentas: TfEditorSubCuentas
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 543
+ ExplicitWidth = 543
inherited tbxBotones: TTBXToolbar
Width = 533
+ ExplicitWidth = 533
end
end
end
end
inherited pnlAgrupaciones: TTBXDockablePanel
Top = 297
+ ExplicitTop = 297
+ ExplicitWidth = 543
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 543
+ ExplicitWidth = 543
inherited TBXToolbar1: TTBXToolbar
Width = 533
+ ExplicitWidth = 533
end
end
end
diff --git a/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.pas b/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.pas
index c9c51ef4..f61510d3 100644
Binary files a/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.pas and b/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.pas differ
diff --git a/Source/Modulos/Contabilidad/Views/uViewApunte.dfm b/Source/Modulos/Contabilidad/Views/uViewApunte.dfm
new file mode 100644
index 00000000..795fa627
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Views/uViewApunte.dfm
@@ -0,0 +1,1064 @@
+inherited frViewApunte: TfrViewApunte
+ Width = 451
+ Height = 304
+ Align = alClient
+ AutoSize = True
+ ExplicitWidth = 451
+ ExplicitHeight = 304
+ object layoutApunte: TdxLayoutControl
+ Left = 0
+ Top = 0
+ Width = 451
+ Height = 304
+ Align = alClient
+ ParentBackground = True
+ TabOrder = 0
+ AutoContentSizes = [acsWidth, acsHeight]
+ ExplicitWidth = 411
+ ExplicitHeight = 256
+ DesignSize = (
+ 451
+ 304)
+ object eConcepto: TcxDBTextEdit
+ Left = 105
+ Top = 86
+ Anchors = [akLeft, akTop, akRight]
+ DataBinding.DataField = 'CONCEPTO'
+ DataBinding.DataSource = DADataSource
+ Properties.ValidateOnEnter = True
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.Color = 14745599
+ Style.HotTrack = False
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 3
+ Width = 204
+ end
+ object eDocumento: TcxDBTextEdit
+ Left = 105
+ Top = 113
+ Anchors = [akLeft, akTop, akRight]
+ DataBinding.DataField = 'DOCUMENTO'
+ DataBinding.DataSource = DADataSource
+ Properties.ValidateOnEnter = True
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.Color = 14745599
+ Style.HotTrack = False
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 4
+ Width = 344
+ end
+ object eRefSubCuenta: TcxDBTextEdit
+ Left = 105
+ Top = 28
+ Anchors = [akLeft, akTop, akRight]
+ DataBinding.DataField = 'REF_SUBCUENTA'
+ DataBinding.DataSource = DADataSource
+ Properties.ReadOnly = True
+ Properties.ValidateOnEnter = True
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.Color = 14745599
+ Style.HotTrack = False
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 0
+ Width = 346
+ end
+ object BitBtn3: TBitBtn
+ Left = 354
+ Top = 28
+ Width = 75
+ Height = 25
+ Action = actSubCuenta
+ Caption = 'Subcuenta'
+ TabOrder = 1
+ end
+ object eSubCuenta: TcxDBTextEdit
+ Left = 105
+ Top = 59
+ Anchors = [akLeft, akTop, akRight]
+ DataBinding.DataField = 'SUBCUENTA'
+ DataBinding.DataSource = DADataSource
+ Properties.ReadOnly = True
+ Properties.ValidateOnEnter = True
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.Color = 14745599
+ Style.HotTrack = False
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 2
+ Width = 265
+ end
+ object eDebe: TcxDBCurrencyEdit
+ Left = 105
+ Top = 140
+ AutoSize = False
+ DataBinding.DataField = 'DEBE'
+ DataBinding.DataSource = DADataSource
+ ParentFont = False
+ Properties.Alignment.Horz = taRightJustify
+ Properties.ReadOnly = True
+ Properties.UseLeftAlignmentOnEditing = False
+ Properties.UseThousandSeparator = True
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.Font.Charset = DEFAULT_CHARSET
+ Style.Font.Color = clWindowText
+ Style.Font.Height = -11
+ Style.Font.Name = 'Tahoma'
+ Style.Font.Style = [fsBold]
+ Style.HotTrack = False
+ Style.LookAndFeel.NativeStyle = True
+ Style.TextColor = clWindowText
+ Style.IsFontAssigned = True
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleDisabled.TextColor = clWindowText
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 5
+ Height = 21
+ Width = 100
+ end
+ object eHaber: TcxDBCurrencyEdit
+ Left = 295
+ Top = 140
+ AutoSize = False
+ DataBinding.DataField = 'HABER'
+ DataBinding.DataSource = DADataSource
+ ParentFont = False
+ Properties.Alignment.Horz = taRightJustify
+ Properties.ReadOnly = True
+ Properties.UseLeftAlignmentOnEditing = False
+ Properties.UseThousandSeparator = True
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.Font.Charset = DEFAULT_CHARSET
+ Style.Font.Color = clWindowText
+ Style.Font.Height = -11
+ Style.Font.Name = 'Tahoma'
+ Style.Font.Style = [fsBold]
+ Style.HotTrack = False
+ Style.LookAndFeel.NativeStyle = True
+ Style.TextColor = clWindowText
+ Style.IsFontAssigned = True
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleDisabled.TextColor = clWindowText
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 6
+ Height = 21
+ Width = 100
+ end
+ object layoutApunteGroup_Root: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ LayoutDirection = ldHorizontal
+ ShowBorder = False
+ object layoutApunteGroup1: TdxLayoutGroup
+ AutoAligns = [aaVertical]
+ AlignHorz = ahClient
+ Caption = 'Datos del apunte'
+ object layoutApunteGroup3: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ LayoutDirection = ldHorizontal
+ ShowBorder = False
+ object layoutApunteItem2: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahClient
+ Caption = 'Ref. subcuenta:'
+ Control = eRefSubCuenta
+ ControlOptions.ShowBorder = False
+ end
+ object layoutApunteItem4: TdxLayoutItem
+ ShowCaption = False
+ Control = BitBtn3
+ ControlOptions.ShowBorder = False
+ end
+ end
+ object layoutApunteItem5: TdxLayoutItem
+ Caption = 'Subcuenta:'
+ Control = eSubCuenta
+ ControlOptions.ShowBorder = False
+ end
+ object layoutApunteItem3: TdxLayoutItem
+ Caption = 'Concepto:'
+ Control = eConcepto
+ ControlOptions.ShowBorder = False
+ end
+ object layoutApunteItem1: TdxLayoutItem
+ Caption = 'Documento:'
+ Control = eDocumento
+ ControlOptions.ShowBorder = False
+ end
+ object layoutApunteGroup2: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ LayoutDirection = ldHorizontal
+ ShowBorder = False
+ object layoutApunteItem6: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahClient
+ Caption = 'Debe:'
+ Control = eDebe
+ ControlOptions.ShowBorder = False
+ end
+ object layoutApunteItem7: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahClient
+ Caption = 'Haber:'
+ Control = eHaber
+ ControlOptions.ShowBorder = False
+ end
+ end
+ end
+ end
+ end
+ object DADataSource: TDADataSource
+ Left = 24
+ Top = 184
+ end
+ object png: TActionList
+ Left = 64
+ Top = 184
+ object actSubCuenta: TAction
+ Caption = 'Subcuenta'
+ OnExecute = actSubCuentaExecute
+ end
+ end
+ object LargeImages: TPngImageList
+ Height = 24
+ Width = 24
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000003CD4944415478DA8D96ED4F53571CC7BF17EC9315
+ 11864234C607C6D4E9408621F88CBA88D0C64D48EA906C3E3459F40FD077666F
+ 7CEB62A2912C43F0A950A12A3001AD2613810908B46869E69E8B2FBA3087F499
+ B6F7B63BF7E0BDB6D2A79BDCDE73EEBDE7F339E7777EE7DC3248E1303C346BC9
+ A5812FDBED767AAF51D7B9C9F4A07E22595B2655F8DED202642D5E089F3F88B6
+ EE415CF8BE857F9C54C2A402DFBD651D7296C8C5FBD3336EE87F7C8206DDBDA4
+ 1226197C57493E96662D9A7BF9F810BD861A4BF1EFB4136D5DFDB8D2DC9550C2
+ 2482EF2161C9266111E00D470B611C015A75D7E11FD6E2F51B176EF7FC8CA696
+ F812261EFCC0F60D502AA451706DB902A7EB5F60D2F32195B8068EC1E5F1C1D0
+ CD4B62878B4904F7F8392C3A3922C2C361D280B438736900B6D94FA9E4D5FD5A
+ C8A46968E9E8C555FDFC9130EFC3856C8984A72F90E0E31C274AD767A3EBF138
+ 7A2D6E64AF2D82C99A4E257FDED320C4B1E87C34881BAD3D511226D1840A70E1
+ B09AE7269987FB021CBCE49C9C545089AD5B0387CB03E39351E80C0F44892008
+ 278207D830BE297F27FAB6DD41E182A4A9CF0698CDF8BDA31A334E2F7E7A6A42
+ F36D2395303C3C56B644F69C09BA3139C5E2ECE11C5AE727DA9791274AF8B3C3
+ 64A712ABE17338C9C4F70D3D4757DF2FA0829ACF8AE2C2BD410E013F0397C329
+ 0A4E9CEB059B5B4005B38110825C083EF25EDFAFFF518959AF86E5E55F387FB9
+ 19CCC5EB3D61AD661F14320915683616A2B24C22C2F9DE05FD0B10F4450B9C59
+ 6B299C070B23197FE5A082519D0AD6DFFEC677F56F0599194AA8CA8BB1848429
+ BDE40768EABEC6EE923431C6E1800C0C1B2D9852AE8E091FB959058F771643A6
+ 0974F7BF04535C716A236963D1D6A95173601B9128A1286BA4924DEB58DA98F5
+ C891217347096CD29531E16E12FFC1B109DC6A7F3837C9FCAF20397144854315
+ 5B91A15C88CC9DD7A864F90A2F8A729538B6F7DD662748C602B9F37AFE74D422
+ C2C5348D941CAF55A19A8C840B315855758B4A64996F909FEE84C7350D960D61
+ C6C7D1364D7FC829BCFF4A05A97118187901FD1DE3FC85365FA28646BD132E6F
+ 0005070DC0E6CD5015E6C58C390F9748D2D03F3C8E9B6DD1AB38E66627488E7E
+ A942D59E2D9090945DA36EA392B2FCEC28F8B31B9598251FA061B335263CEE76
+ 2D48BED25462DFF66228E4527CF4C55D2AA1C75B38CD16027F3F2C49059192BA
+ 9A0AEC2A2B2212193ED174D2673CDCED9DCB96D6F64771E109059192DAEAFDD8
+ 515A08B94C0A8EAC5A9A2D6396A4F0A48248C9113292BC651F807C1260FFE735
+ F4778D49E129090449E6B25516C7948DD64919A49CD2DF96FF0126B669571175
+ 682F0000000049454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000032A4944415478DA
+ BD95CD4F134118877F5B0A22D84205341E30087E24021A45893131F1E2C178F1
+ 2A26FE07C6C478319E8D9E8C8926EA49E217D1B328F142A24123070B2E6DB76C
+ 0B5DB6A585B614CA47BB1F6D7D772CDAD22DA0094C32997476F67966DE79F72D
+ 97CBE5B0958DDB1601C7719B7EE1D18B8F9768E8A17EB660FA2BF537D7AF5DEC
+ 2F5CCBD8FF22C8C3DF5FBED04D2F73882FAC40CF64114BA6E1F3F9797AC693E4
+ EA7F090AE1FB9AEAD9DCD24A1ABA9E81AA6510239920C530CABB71F7E615EE9F
+ 0425705A6E80753D4B27C8A0AAD24A630EFE5002E25494242E26D994A01C5C55
+ 7528AC6BC866B3A8B7D782B35830198A63C829E2D9BDDEFB4EE7F3DBEB0ACCE0
+ AAA617C155EA29458546D2867A1B72D90CDEF67F41DFD37E3709DACB0ACCE00C
+ AA680CAC685A5EA4B13B38D97E00B14412BC57C2C0E0777C7A37545E50166E80
+ F302E324EC37CD7775B4223EBF0861621AA35E19636322BE7D18361798C2159D
+ ED785550024F2C821F9F82673202419882382A221C0897DEC146F0D59014C213
+ 0B4BF0D0CE9D8244F020FC3CC127C31819E92DCE2233785AF90B53F360632E43
+ 1FD7098A79742E899F047691C0352621264F63C22D3178D177F0F8E540093C95
+ 568BE29EA64C512834468A9EEA6CC34C7C1E6E5F082EA3BBA71097C310F9893F
+ F0B582D7C78EECEFE9EA6883B5C2C2629C5EB373259F9EDDC70F6226364FE020
+ C6082E8E87200B0148A25C045F2B983C77FA684BE7E16696D3A9945A10EBBC48
+ FB0D8FC617081CA44B0D421483181F19C7AC3C5B023715B43637D109AC58585C
+ C64A4A29806B043F84394AC561DE4FE560165E418668C083E6F01281A3CED6D2
+ E4D8853D0D75D8595DC52ED2C89E2C8D5D14F34834C1B2E5873B00C123232147
+ E017A4B2F0B582C14C8E3B5FBDA30A95560BF6EEB6A3916486A4C16187DD5603
+ A77B025E2902371FC072740E9E51DFBAF0926A7AE7415FCE6677C052C1C1565D
+ 81C6FA5AAA2B39D45111CBD2627F7086761E424494E0F30436849B966B4362AD
+ AC84BDA69A5295C3F2D21295619D95E5C5E40ABC4E3F8B79FB99F68DD8ACBD7A
+ 728B332B153722B1F987E170181ADD81F1DCE8AECFDE4D410B1B950A6E7BFEF4
+ B7B2FD02BC08E5EFAAF547E00000000049454E44AE426082}
+ Name = 'PngImage2'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000022C4944415478DA
+ 63FCFFFF3F032D0123CC82D53BCF13655398871123B18683CC46B120D4DD10AF
+ 06A01A86F6FED90CE7774E27CA12922CF80754B776D7050651415E86A2BA3EA2
+ 2C21DA0290E17FFFFE63D8B0F712838DB12AC3CD7B2F88B284280BFEFDFBCFF0
+ 0768F89FBF7F19B61EBC0A0E2218A08A0520D0B3EA2131410E06A5E10A704BB1
+ 5AD0B2EA0186260E0646869230798286831CD2317B23C3DB3DF98C382D00F141
+ 610E0E963FFF18FEFEFBC7306BEB4BA22D3051F8CD1052BD0D6C098605216E06
+ D008FDCFF0FBCF5FB0E1A0C89DBBE335410B7EFDF9CF3069DD23866827617022
+ 0059F266771E238A0541AEFA0CED6B1E91144440FBC186FF02FA76F69627E020
+ 82010C0BFC1C7519DE7EF88661C8B203EFB15A806C388CDEB9FF2458AE6CC679
+ 4C0B3C6DB5C061FF179A2C81084CAF3AFC096E4144CB159CC1D49EA60AB6E4E8
+ F133D82D70B5D26098B2FD25C120C2E67264FAF4E9B3D82D70325763F8F8F907
+ 8605EB8E7F815B40C87010BE78FE1C760BEC4C5418FEFD852451502A82E4E07F
+ 0CDBCEFE005B00323CBA0D7710954629327CFBF997E1F6B58BD82DB0355261B8
+ FFF41D86C6A3B718180A43E419BEFFFA87D5C520F6CFDF08B187B72E61B760DE
+ 92B5E0B2071DB8FAA73164F8C912653888FDE2FE654C0B181971975BDD2B1FFC
+ 4FF292061B5030E5264E75715E32608BDE3DBE4ABA05316E52045DFE0B5CB430
+ 307C7C4A8605614E1244190E026459106027CE70E8E869066201C916209731C4
+ 02140B6805009C1383EFACA508270000000049454E44AE426082}
+ Name = 'PngImage3'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000E9C00000E9C01079453DD000004BF4944415478DA
+ B5D37B4C53571800F0737A5B6ECB4B2F2D2D2D2053408286870CD4C9C0B89989
+ 8ACEB041F035064CEB365800D93235C0EA40FD836D380C085B44C7C30993111E
+ 93199411DE844029B80908586094577B81963EE8E3EE82D311662A35DB97DCE4
+ 3CBE737EB9E77C07120401FECF802B010821A8ACACC7BAC453B54A95E6405AE2
+ E111631B7C9E7E331102E87431313C76B1FFAFFD9E071492C0A3A109218D8AD4
+ 68C68527040281E1799B9FCF2A738306439314971765244598060C3C9E1406FA
+ BA73EE36F6045E381DD6B672F39339393457C4BE748BFBFAE08AFBED572E9B04
+ 94D7B20647645D7111FB7805E58D359DF2817DB97CBE76795E7246717450E096
+ 5C7239E5C7AAA62B99C9260039F977B893B3AA9E84A8FD3603C313BA9FAA5B8F
+ 9C8F0B2D799A73F6AB627B77676E4750A0375BD43B0ACA6ADA7ECE4C8A085935
+ 9097574B1F56C89A2342767A6356E6A0AAB6E3E1AF1DFD5B6E0822D5A1A1C588
+ D71B66D7DF7B3BE0E862767BCF20A8691265647D1115BF6A6031522E9784B130
+ EB9BEF066DA72C68B5C4F5D2BACF5262DF493F935E78684F804FE9C6F53CF8E7
+ 040E6E57B7E04A9572DBB7C951FD26018BCDF8B4FCAC5DDB37F377F86C84AD5D
+ 0353F79A1FECD9ECC22B3EF8E6AB2EB25925B85327D4F70E8DC5640B22AF3E5D
+ 640A004EA7FCC046D7A06D216F6D73E230AD417E59BD243CF8353B081128FC43
+ 0C6A9BBBEF4BF48CBD2582B085970296904B45611C1BEB225F4F67848A40E0FA
+ 0A178C4864A0F46EEB2C3E33BF332735BA6B79BEC9C062BD5B482D8A5998D5A1
+ 0D8E6C60678B01D14331E81D94246509DE4F052BC26400B8FC821E0E5178D9D9
+ 326A5BC516E6737225F0B09BEB1892500FB688E7A5A02E52FD72C08E026F3B1E
+ 2B92CBC676D3E9664E23A313A85EA7910368A6B1E3602C3A1D5DA0D210B14422
+ BBFF6860FC3BD018DEB53AC03797C659E79062CF65C6418346AF981AD3E85438
+ 9C56D3692C864A6EE1E0A3D62AA6AD0787261A210D250044BCD45A832DB93413
+ A8E70544FB49AD5100DB5FF1D14667CE3732F103056A98EBA322C42D8D9ED239
+ 348725AEB39CF56438FA2E5066FAB893B8C27D4C4A1D279770C9DF3E09CCE831
+ 8002CF12F5C7B28C022E11BF89508DD489AA1ABE26421D12414998FEEF23BBEA
+ 6683EF46ED7D09BDACD756A61AE2492A05CAA539A73C3A60EB6F03338623D170
+ C4D328E01E5DAF21A47D5A864EE92FACFAE49F12F42F28DA84C93CA9F67E2832
+ 3FECA4C30739DD5567F067F3BEB9A90035FF9468388A1A053CF8CD7238FDFB3C
+ 55A7F2E92C8F1D7B329A42A1BCEE52ED8EC9AC11DE56E61A44EE3833DA13DC5D
+ 9E50B30CB848023124606514F03AD5D24F99E9B5D42B64FEDD5509834B837E37
+ 98660CD8E7B616BF2745DD985C267D977E52745D88D49F0025254F8ED0EFFB22
+ F21EFC48C0D52860B9B7347B2D9C896252E70E8B2AE24BC1CE142AD0B97ECD36
+ 577DCC3197F3BB71762B8FC3CAD8C0D46D958FF59DEA2A4F2804DED99B009D71
+ 0B204803D170EC43E3651A50E88F52F4D55C0B45E563B9F597900031185DF381
+ BD85A262DA801F5FBAD8C0020F1EDBA61ACE8D40E50225145722C1804AE39355
+ 7480A83FDAF8E287E69FCF275BE7C82EC7D152A1C650F5B529037EEE59D52C5D
+ 7AD166000C17C85610F94D904F2C0D341ECF79E143FBAFE32F16D672EF3D728C
+ 4A0000000049454E44AE426082}
+ Name = 'PngImage4'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A0000043D4944415478DA
+ B5956D6C535518C7FFB7B7ED36B66E5D47D67663731BECD5B18605D8504C084B
+ 74982DC16468D4F881AD0305E3870550D100EABE482246712A8AA00182BA9828
+ 84252006D7264AA2631B461325DD5C9ABDC0686B6F5FB7DEDEE373EF6869C736
+ B6189FE4A4A7E79EFBFFF5799EFFE9E11863F83F834BFCF211506AD6A7585DFE
+ A99E3611BD4B1553DE7FC0DC797B64FC9C13387B883149017C0064549A528F56
+ 5A2A9E31AE2CD00EDF700AB62B034DAD22EC8B117E07482B3019F61516E7ED15
+ 6F8DA6BB6F79D84D1F0E5A197B8BDB06F06D7A743F5C8827B4997A684A6A804C
+ 031C7F8D78ED97FA9B5BB130E4531E9B2A2D655D191AA9CAE570201C61CC15C0
+ D94911D60EC642DC4915DA9BCA714C97024E6E87C46BA029AE86DA5C08C79F4E
+ A1F7CAB566AB08DB3DC280C19CA77FBBA42877BB776C940F08018444B0DB3E1C
+ EE6178AD1B88CAFDE58E02797526D8561BB1324A00519A191A532174E535181A
+ 1A176C3FF42595EB6360836595E1AB1C9DB660CC39A1EC0F46204E06B0AF4DC2
+ BBB17D0A409E1C032AD6E7E3C7223D8C31803C54E999C8B1AC85F3A6CF6BBFFC
+ 4BB30C3995A2B2D696E6BC2F8602691E6F50D9E79F4298CAD2DE069C4ECC320E
+ 90E32450BF6605BE37A623231122A9782CAF5A0DF7B44618F869F0FC9A55D94F
+ BB275DAA6058549EFB66C45BACC085D9654C02C8F1058F268B09DF64A5429B08
+ 11A97419463304B707E1E014A669215696093F9EDB097C399701EE01C8714A83
+ D60773F1499A1A7C1264D6A0864A54F397A8E65DF3396C4E801C67B4D85F9683
+ 4EB50ADC5CE25351B04972CB76865716B2F0BC8083D4DFAA545C2DCEC6BA9868
+ 34011096ED18C4E1768657659D2501C8519A2C9DB6AB7A6DB955F8E3376EBE12
+ C959F8C238B003E85C3480C497E5E51BCE6C78AA79EBDF17CE21484D5DA80FD3
+ 049916B1872047EE0B20F1ACE212F3B71B5B1EDD343E781DA3D7FA93C4C88E1E
+ 8941CDABA04B5C8F48F289C58BCF2BE76F1E00D55C5DBF42FF5D43D3238F07C3
+ 115CEFB90831CAE222816984DD213446818954158E136463ECD413546E428446
+ FB2E72FA9C80AF759A37B734D4BC9E663070FDBD5721787C890D955C41B45119
+ 3E57F6D29FA31BE8500187E8F1B2B8D80CE459827427014EF0D8FC585DD1C53C
+ 935E3DEC9CC4B06334A9C6247EC4CAB06776FA1F02D5F4EB8ED3743D77F75EA1
+ DE63DB6EE07C1CD05791FB7B6D85B1CAE70FE1D7010722E2DDD2FC13823D1C45
+ 039DD4C83C76D61A8197497D3F8DD43B990428BBADF4CE6505602FCAEE7EA826
+ BFA56FD0018F371417F747E017A650FB027003F70932482D099FA0A9E5CE9240
+ A37127633F739FF16859579ADD3D36E1492A0DB176B72BB7E0E2E23D20450B1C
+ A0E95ECA86A7526DDEC5582F27A759A6852D330575316708615C1A91B0E50D32
+ C9620109BDA9A78F27A9D91D7117D19D6A58AEC6E9340D1AC9350295A796360C
+ 2D557C76241D34D97E5E4A8F9270ED506EC4FF1E32E05FC9675CEF0AFC725300
+ 00000049454E44AE426082}
+ Name = 'PngImage5'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000027F4944415478DA
+ 63FCFFFF3F032D0123CC02464646AC0A66243060B820630103230391006EC1C9
+ 898CEE406A07B2E4890B40C33AA6A268B8B8229761E9E67F0CD1BE4C1886FD67
+ F8E76151C0B0139705FF154C1A18045444212EAFC8061BFEE5C54D86A6E24970
+ 0D75BD790C770F4C015BD2B16802C3FFBFBF19FE01F1D7A7BF1836CC69C0F01D
+ 8A05061153510C7F7D7527032EF0ECF216B025AD73DAC016DCD8D2C870FEC23F
+ E22C787C6C21C3D64DA70886AFB79F1983988E07D8825B3B3B89B70066092100
+ 331C84EFECE923CD027430F9A037410B61A0345C016E095116FCFFFF8F61CA21
+ 5F869230798286F7AC7AC8D0317B23C3DB3DF98C445900321C9452A61E0D22DA
+ 021385DF0C21D5DBC096E0B50066F8BF3FBF18A69F8C2068C1AF3FFF1926AD7B
+ C410ED24CC70F3DE0BB025382D00451C03D00290E120F6CC33B1382DF8FB0F62
+ F8AF3FFF18666F79020E22BC71003210968160ECD91752B05A806C388CDEB9FF
+ 2458AE6CC6794C0BB0190EF2C5DC2B59700B225AAEE00CA6F63455B025478F9F
+ C1B4402F740256C341F4BCEBF9283EC0E67264FAF4E9B39816E8067563351CC4
+ 5F70AB046E0121C341F8E2F973981668FBB761351C8417DDAD045B00323CBA0D
+ 7710954629327CFBF997E1F6B58B981668FA346235FCFFBF3F0C8BEFD7321486
+ C8337CFFF50FAB8B41EC9FBF11620F6F5DC2B440C3B306ABE120FE92474D0C19
+ 7EB244190E62BFB87F19D302559712B8E1E8F4F2E75D0C495ED260030AA6DCC4
+ 1944715E32608BDE3DBE8A6981B45E00C3B34B9BB06A3C24798F21C64D8AA0CB
+ 416C503C7D7C8A6901B8CABC7001BBCB3E7B3E6008739220CA7010C0B00057A5
+ 0F03DD2B1FFC0FB013673874F43403B180640B90CB18620100261ED9D6E5FCF2
+ FA0000000049454E44AE426082}
+ Name = 'PngImage6'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000037C4944415478DA
+ B595DF4F5B6518C73F2DFD4191B66C6C4E8512618376DD28B485B1C126D90F36
+ 8D1B1726264B76B53BAF3431DE99F80F18BDD1449399254B644E1747743ADD94
+ 48169C428131268366832D631BC838FC687B0A057AEA7B0EB692B562417D9393
+ 9C93F33EDFCFFB7D9EE73C47974824F83F976E25A0E59BCE75D1DEFBF00CD72F
+ 7FA4CB0A70E268DD9AC4450C454F17F2E63BEF6784FC2780EAEDCFF3580A6784
+ FC2B403CAE70EEBB007BFD4E22D15846C8BA01AA783C9EE0FC956E0EECDEC1C2
+ E2524648D680E1FB9374760E119A95B1D99FA2AECEC5739BED5C68EBD58AFCE4
+ CA1A1096635CBC14D084B7941761CECB25321D66EAFE440A343032811C959124
+ 498B39DDF275760055BCE5B3761C9E321CDB1D42DC844EA7435114E6E57946FB
+ 4778187C44D3613F66B3414BDBC5B6AEEC0167CF77905FBC096F4D3936430EF7
+ C2301E5D7E67B5409E3EC648D720F353111A1ADC28A226DFB607B203A839FFE1
+ 4A0FF5C71B291169B1EBE14E086E882C0813E488E70D3630CA53F48B4EF2EE72
+ 512852F6FDD5EEEC00EAE973375AA93C50C55C04CC0A8C89D3CB4B5060165D24
+ C242E2DE4A98B1BE2114D1413E7F053FFEDC9B1DE0E34F2E535A5341597529C3
+ 63301703530E3C9B07361308034C2E08A09009DD1A606CE801FB1AABF8E9D7BE
+ 7F06A8C5FAFCC235AC22FFAE3D2E46C661711136E5C266711905A8C0080BC255
+ 707A9E4737832CCE84D95959C6D540FFEA80E32FD56A1FD0E8F8B45683FD279B
+ 90643D2191A62DA2B076215C201C6C109738070392CC2F5F75E0F26CC5969FCB
+ B59EDF5607BC7AB84673B0245A51EDFF925D4E0A859389591D46B1F519E1C022
+ F2633588B489E79B771E70B73B48B5AF428B09DC185C1DF0CA419FB651854833
+ B2E6C2DFBC1BEB461BB373A20E8A0EBB69B9931E4F4DD37BA90B5FA59D2F4F9F
+ E575DF755AF3DE5E1DD0BCBFFACF39B3EC22223EB6E488F01CF163C9B7109989
+ 30D0D6A7C544676EE1609CA6E2DB58BC47986CFF9463AD957F0F78F9054F4A3C
+ 098A2B097E17436C38389A9A455B9D0E0C7A3D5F7CF02E45917BD497C6707B8C
+ E4541DD320C5AF756406BCD8B0334D3C39399F0427EF4FBD518FD751AB419C6E
+ 03267F730A920638B4C7BD26F1E4BE336FED4B41563A490334D63AB52075AEA8
+ 814BF1BF84944422A37872AD846C739B18948CE980BDBE726D22AE77F59C3A99
+ 829C934AD201997E1E6B5D55D1560A771C659BC7CB1F1C73BA92B5793DE80000
+ 000049454E44AE426082}
+ Name = 'PngImage7'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000B3A00000B3A01647F570D000002724944415478DA
+ 63FCFFFF3F032D01235D2C606464C42AB978D3F10C0E76EEE9E4181CEAAE0731
+ 1B9F05AB775E3A1DE2A66B822E0EF2F3BF7FFF19FEFEFB8742FF03D217AE3F67
+ E89DB19261F3BC2AFC16C05C0FB480E1E0E97B0CAFDF7FC5E95A51416E067D0D
+ 49B02513E6AC66D0D3353A03F481295E0B40AEB73751341115E2818BFDFB0F72
+ 2DC4A5A82E87E0CBB75E3014D6F6309CDF391D6C204E0B905D4FACE120B9C9F3
+ D6C05D8FD70264D713133C5A2AE20CD7EEBC44713D4E0BD05D4F8CCB4172A965
+ 5318FC3C6C18EEDDBDCEC0C6C6CEA0A363C400348311C30264D7136BF88D7BAF
+ C129C7232C99C152959B61FDFA350C17AE3D63D834B712AB05FF41AE07197EF8
+ CC7D82C1A3A620C2905E3115C570297975866DDBF7A35A50DBB3E03F30821880
+ AE671012E0C69AC681086BFACFAE9ECED0589D07371C04502C689EB8E4FFEF3F
+ 7FC9C9B070C0CCCCC2202EA30C371C04E016D4F52EFCDF541C4FD0901FBFFE31
+ 7CFFFD1F4CFFF8FD8FE1CF5F18FB3FC3E68D88A0F1F27444F5013116A01B0EA6
+ A18683F0FE9DEBC0110B321C2388401650143EB060E2E063E0E6E165E0E1E621
+ DE07845CFE1D2A7EE1C82686EF7F9818787878C0961C3A749AB005840C5FF4D5
+ 8E61C1850B0C4BB5DE30DC38B585E10D304973F3F2822D397BEE067E0B8871B9
+ F76901B0DAB9AAAF181E9CDFC670FFD173065E5E3EB025376F3DC16D01B1C1E2
+ 9D21C43083D59481B5790BC38B2BDB192E5EB9C1C0C7C7CFF0F1CB7FD4FA0066
+ 0138D9C10C40321C268E6C3848FC75B127D841300B4E9FBBC8C0CA210A361C24
+ 8E62415D411CC3EC95BBC94E41CF9F3F07275398E12816C08A0A4A92A8B28621
+ 43828F3E4AB90FB7809600004F6ECDEFF6DCFB3B0000000049454E44AE426082}
+ Name = 'PngImage8'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000B3A00000B3A01647F570D000002954944415478DA
+ B5955F6852511CC7BF3E9882694B723D6450D4A21ED61FB3879EEA295CABA058
+ D1CB6A23A315C2A441AC4123368A82FE5011066D63D1ECAF6058291643AC8D60
+ 966EB5FE3E64D4966B7B1841B1997A4FF75CF14E773DFE1978E070EE3D1E3F9F
+ EF399C9FCA082190C964284523F73A88AC54020A8F9E3323A7E0B6EB558352A1
+ B2150BAF991C00852B0779742EC143EFDB40CDB64AA3241DDF398EC066F74ABE
+ 6399372AC2E93B53904ACF0BE00F7CC5C4E45FC99AB15FA3B054AD07ECE781C6
+ CB4084876FD743D1DC01D97E736E014DBFC5B8DCA8D3CE17E7387E6D824FCE71
+ 9CB083CE07BD387CA94AF84CE1FC88E8EE3550D45961F04411F2DAD882F4F42C
+ 78821FBB1D3E58E2EF10BD7A425CA7708FC0507F26B7203D3DEB78C423DABA12
+ 38DD8868D02D1C0DF6D4C2B0D3CA16CC4E9F2D3927BC13F43CF2C3526B02EE5E
+ 037E8401F34940AB83C1740C2DC78F0AB74922484F9F0B4EFB1DD70B74D95D59
+ 7717ACDF88AC75C00B084D4FE12F5F8799C7439B6EA10AAB962DC291E6EB30ED
+ 3B84CD152A389D0EB4E9E3D23A3875A19BACAD34804F0F6D994A4C3B939A8EC8
+ 987378FA9975B0D770168FBB5A9282F62B3D24164FA0D8565EBE985907BB9E8D
+ CF085A2FDE226D4D07F302A7FF71988A11619C8E7178EAF531EB40BF64697182
+ D9703AF6FAFCCC3A90088A3E9FD41131EAA0E01D644B9E7C267833D0C7AC8382
+ 04B9E0B4BF0FF533EB20AF201F7C8A7FAE0E94096B3B2BC6F12DE446F87B046A
+ B5062AB51A9FBF8CB00585C0E97C75831637E49B206F7F82B1610F86863F41A3
+ 5980DF7F8800A7AC0C413C91064883A7E6D3E1747EA2297945538240700872A5
+ 4E8467085AAD0770F3FEF3B95C26A14522110C7EF899011705A99F8A39D3F9B6
+ 62F506D4ED5827F9E71204A56CFF01E5E2820611E3A8010000000049454E44AE
+ 426082}
+ Name = 'PngImage9'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000029E4944415478DA
+ 63FCFFFF3F032D0123B2054BB79C24CBB6DE290B19CEEF9CCE882C063317C382
+ 681F73920C07EA619016136628AAEB43B184AA1618682A30BC7EFB19C512AA58
+ F0F7EF3F8615DB4F33D818AB337CF9F613C5128A2D0019FEF7EF7F86D5BBCE30
+ 38596833FCFAFD07C592733BA6319265C1FF7FFF19FE02F11FA00520F6BABDE7
+ C0918C0E48B2E0D687070C53AF4E62B8F0F6020348B59BB41F43A1661603EF12
+ 0E8637E15F188E9C7FC0F0F5DB5786B76FDF82D5CF5BBA89780BE6DC58C0B0FD
+ D9620C4B4F3FBFCFF0E4EB038697219FC0C1F5E7DF3F30BD79EF29E22D38FDEA
+ 0283F906230CC303551CC1F4FA3BFB199E057E801BFE0F18275B0F9C26DE0287
+ CD4E0C879E1F6028D56B606834AC021B62BEC582415D44106EC123FF7770C341
+ 71B3E3D019E22C38F5F20283FB7627860D6EFB18CC8575A0A9E61F83D5762B14
+ 0BEEFBBC811B0E8AF83D47CF116741FED12206676064BA49DAC00D1758CE8511
+ 5C773D5FC30D07A9D97FE202610B400A6BCEB430D4E95532FC03CA234722321B
+ E6F2B92FA631C408A581C50E9DBE84DF82084F5370068219C4BF9413C3D5F7BC
+ DFC033DAD467ED60B164E112B0FA6367AFE0B720D4CD04C595422BB8E1A9E6E6
+ 9BF70C5BACF7C00D7FCEFE942160971343B16E1D83277B3058CFE98BD7F15B10
+ E46C84121CA2AB79512CD868B10B6CF8DC97D319BA2F3530D8493A30F42A2E84
+ EB3977E5267E0BFC1C0D50C25A722D3FDC0274004A454DC67D0CAEAC81703D17
+ AFDFC66F81B79D1E4A10C96C106490E15600E75A74806E3828C2AFDCBC83DF02
+ 0F6B1D942092DF2CCC70DBE315C3F2D74B18763DDDC400D265206CC020CA2187
+ 61380810B4C0C5520B45132C4271255564C389B2C0DE541D258DC33210580C4B
+ 9E40369C280B6C8C54C125222500AF05D82A0F7200CC0200F191E9EFB5062090
+ 0000000049454E44AE426082}
+ Name = 'PngImage10'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300004E2000004E2001167D99DE0000035A4944415478DA
+ ED954D4C134114C7DFEC6E0B420B085A6A040DD88A45C0C4602D4A2D281F5589
+ F1AB6AA2094A4C5502DC34F160EAD11BF1E4498D462F1A43FC408BA052C11435
+ F8890AA222A2601B6B2D94B26DB73BEEB4168B16E1E2C1C4974C7627F37BFFFF
+ CB9B995D843186BF19E8BFC1940653012693897AF9CEAEA5696825732FE72B6B
+ 3877F2B6F01A982A77435595F48F0646A351E4E3E3342CE7BDFBD1F6F1E7024D
+ 957CE6BCED6FCC66EF6485D71D3DDE617FDFAD9ECC00E96B6BC5727FAC9A65DD
+ 41718EF795A6CBE6F9699A6925738F67ACE091A5A5235AB2C1502DA1E3F108E1
+ A219A0CA4A530C15CFE68F7986DB0814F0072AAC2DD71BC9A276FDA69D98E7CE
+ 7198DFDC616E6C8866A0D6EB13C448E48AB6078278A5209E22888F05C531E075
+ F76E5CBB11660B4AD716D30C732BC0F37A6B5363535403B56090F2BB01D209E2
+ 4AA96C99DB1D6A0BE251455BD395C6C8E4253A5D929491248F70CCD7A796CBDF
+ A219E495EE8A4F605CEE09060683412C92CED6F03CB64C26FE830F9F6B4A187C
+ D41D144EDECAFBF7D50889AC41039D4EC7C83354050850B0721FEB392441D892
+ 1827C62C93E892393F7F3863B1F822049142A110CB6473553C254AA431041806
+ 80E3001266A7D8ED036FFA3A3333F94237CB1103B4AD72DF0A0A51EDD18AE91F
+ EA3F2191CCBADA7CE9ECCD88EA614B556DC9E0A7B71BE7CF997FE0579E773B2E
+ 386C0EAB5CA962D1DE9A835AD273B25873B41E66C602385900DB28C0C008C0F3
+ 0127F49C3282D3ED2F7FD16626170C6FDB53534CE140F39FF8A10FB6D573E6A5
+ DE463B761FC061F17C39C0A03B34C209244892F9702924C5607DD6E2A501719C
+ A4793A7C863203D05C450ED6166AE1C8B17A9821F4718C9B5811097A580CC7AA
+ F38070E1980E1FDC2C7966567ED1AAD50F4945E1707943C3EE9998402A229196
+ 9A06D3E159AF6719D2EB6B63B20A942D19E5C6C2746908F0064209E449E0272E
+ 1BBC3D5F37D865BD6BCCC9CDE5E4694AB3667F3D4CC5B73E7EB020784CD76EDC
+ BE70C4EBE9D96ABA0831B470DC9CE2F1EA084CFAF9CDE95C33EAF8D49E9D9D0D
+ 0AC5224D5C72AA85984CC6B37E9FCAD1FFBA7BFCA269CACA14CB57569CEEEC68
+ 2EECEBED1B4F50E6A8067BBA7B770F753F89FC4453E5DB77AE1A1D1EBE13C986
+ F9AE675D455FDEBDEA0DEEC1BFFF47FBE70DBE03EC16D6DE8FAAF1BC00000000
+ 49454E44AE426082}
+ Name = 'PngImage11'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000003784944415478DA
+ B5566B48544114FE362D31A3C78F104C7B50145A902FECE15299D12668ADBA61
+ AE925AA405811585F4A31745FD308A0A42DB5EBBE96E56AE9AAF30CD2CC5C79A
+ BB998FCCEDA5640F15823233DC7B9BB9EBBDEEB65BAD5207863967E6CCF7CD39
+ 6766EE15B12C8BFF29224AA0CCAF89237DD63F051689E21323C5D91CC1F5BC6A
+ 96186302A0EB68EC0CC3C2C430309918B34E7A2AF2DD2751A23A21B22210F965
+ 9A17EB5304DD9ECD34256382FF25C11EA84D82DB8A6B9CDEFF301E771FE8A0D4
+ 94E0E1ED745B020A36F69DD39EC5F4552A7CAA88437155A37D02478421FE96E0
+ E6366293C610FD5E75D3F822A0E096B9363116E0C4765FA74677690CCA6B0D63
+ 23287EDC850B375BF0A4AD177D9FBF63DA94499086CCC1B15D0198E2EA2C44E1
+ 21D1E04DF16654D6373B4E702CF3098E663422FFAC049215B35050F5165BD22A
+ B8B9D0200FA84FAE11A2F00ACBC1CB42191EE99E395E03D76597F1FD8709BB36
+ FB207DEF320E689A58C9CD393B89D0551243C6F81A985357D3D4EA5804F47424
+ 1DA982BAD488C329FE48952FC6FDDA77901D28177C68CE79F0F91177D09E2B45
+ DDD3F6BF13F005A5EDC730C3919C57B7C063E6645434F40804AF8B64233B67B1
+ 28528B67B736A2B1A5E3F704F412D1313EDCEE8F0388492B87FE793FC2C45E50
+ 1C0A86A7E4A64060BC1B2D6CC447560083261CFAF64E5B82046930B7800233FC
+ 1927FADAE462E85A7BB9B9B6DC284C759B08CF0D390241475EA4E0CBF7CD1D46
+ FB04F4FA0F356CB75AE0BE2E1B43A4C854CA2E4AA02A3222ABE4A54060D044C0
+ 89149BFAFAC616A1E146185A3B5FD912C46F5C8989810A7C23EF8AC9E22229B4
+ 1D38AED07360625F77246E5A0065A111F7EB7AE03C4184D80DF3B047EE8D3A6F
+ 4F81D4455B694B200F5F0E97A02BF85293387A4B99D14233BF1C45ABB490A65B
+ 321B29CA73C84C48B54F10131664B573BB4056F3E6776778C447BF74EE9F09A2
+ D707622AB9407D95F1E6428F000D5B00FFFA06D5FB8CA685CA8E3307A1D877CA
+ 6A4C2090860660C66A1537D853160B8FF51AC1E9457E14164AB582AD5787C34F
+ 5E840CC34E6ED7ECE057B0FD1FC0F4BD0778BDD380EB060B8288103F3B69F8F3
+ EB49D36229DBB78A7145556D3F024A5058A973E89B604F86A242B02D7C01AE92
+ 636C5303FAD1CFD196667D1B1C1A3741EC9DD348F40597168D6C3F92E2A4A31F
+ 7DF207306E605E3200E1FF6727C90CAFFF0482645308AD8246DC000000004945
+ 4E44AE426082}
+ Name = 'PngImage12'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000E9C00000E9C01079453DD000003DC4944415478DA
+ BD947F4C1B6518C79F7BEF8EFBD56BAFC7951F33BA75E9822B88520C88D92C93
+ 05C410CA70986D3261B1DB3F261B24D3F92331F2A799C6B0F96B666668165D88
+ 12E7FE598CC14C639C43D0988D41B69974DD5A680B584A5B68EFFA7AAD81306C
+ 8D0BE2935CEE9E7B9FE7FB79DEF779DF97C018C35A1AF1BF020882C81978E004
+ A6EB6BA106236D0B42E4BD080045E3AA8A35ECA3587A607709717531F60ECD7F
+ 0378FFDBF806A9807E2734956898F027A94844054D03C86310701C02AB950B47
+ E3DA075D4EEEA5BB069CB898DCC671D03F3E1655BCDE0548A520F3A4D332DFFA
+ 9BA208D8B2D5047351B5EB48BDD09B13F0E27B41E7A580E5870B3D849AF64F5F
+ 49BA522AEE1B198E48B11806DE40416C4EBDA380A9192D03E278048D0DE61BDE
+ 49B2FAE5ED309515B0AFD7838D14FFEE3C6DE9AEAD559B6211AD7F642842A91A
+ B1243E3D1D85D999202416E2C08B0A30BC5907109999382A045C5E2674B6DAE0
+ 93AC8096377EC7452C8F79237DB6AC5CAC1BBA14165329B4243EE10B82DF3B06
+ 34237E93C2DA607C36F4B849595F67B26C22B03E0B399F82E626F9B3A76CB027
+ 27A0D0600235F9D7325034B5241E0C84E1E6F591A02E7870F058D599F4F87AE7
+ 295654882F8B37D434D08CA4C7226869967F7CA6143D9A1320911C305C5EC65F
+ 140F8713E0B9368C3535F5E4D069D7F9E53DB0EF38D526291BFB8DCAFD603090
+ B0C3257DB7A79474660534BF12C0884A81C9844056988C7824A24168D283FDDE
+ AB472F7FD17164E52EB3B77D7C1FCF291EB9F8613D8F84D656F3B95D25A83927
+ E076488375051498440C825E5178568399D0ED9F3DD7475CE35FB97D2B01B627
+ 3EB218154B405E570D160B05AD2D52DF4E1BDA97133039A3427AD714EA0D33EA
+ 907455A169350E40BA075EB37CBA12B0A9ADEF1E91C9BF251557C1462B03CEAD
+ E25BED65E8705640E5013F9E5767F553A4014AA9A07700B4E43CA49271482EC4
+ E7584172FD76A66E7039A0F2D9F35588CCFB49904BC1F1100F763B77F0390779
+ 3C2BA0F11830E274805EF4037F3BD731F5428F757EF91FC7DEAFBB04B3ED6D82
+ 12A0A9D1A4996554ED76D0C35901FF74D965B347BA6F725AD8F73D27592BD3B9
+ 9DED66DF956B0B9547DB8489FF0450D171712F6750FA106D440F3EC0E9CBC39C
+ 7CBE266FFF5DDFA6D9CCDE71B98867F02F2C5F50C43024EC6C312646C763F6E3
+ 9DD28D5503CADB7F1568160D7086C27A8AD42FB97A51CDB75087DD0EAA373DBE
+ 6A40C5FEB10F395674CB324B6C731A4010D09B7E0FF56ACFD34462D580C70E85
+ 369BCC7874730987CB4AD9D1C980FAFA0BDBD9CF97C7AC0AE03C3423EDDA2D9C
+ 5414FADCAD089CEDAE20FE58199313B016B6E6803F0192C0D6E065D4DD9D0000
+ 000049454E44AE426082}
+ Name = 'PngImage13'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A0000053A4944415478DA
+ AD956B50546518C79F73CE2ECB5ED9B3ECB22C48800A02CA45101BBCA005D9D4
+ 4C17758C6FD57899FAE0D4871AB3CC6B5FD2748CA91877600AB3A949CA4427E3
+ A65C1409729565B92CEEB2807B935DD80BECB2B773F6F4420A5841493D33E7D3
+ 7BDEDFEF39FFF799F760F058C5601F2BAB443E079B0C077DF250304086432117
+ CDC6AD3EA77FACAC6CAF77EAA5B93BB07F8B3EFD55A37872CC95C7E5725E6671
+ 584F4570D871188E7182815068D2E3354E38DC17273C8E2B9DC33A4D735599E7
+ B10495E76FC63B6CCED7F8A4708F58267A429620C5C4B1628C601310F006C06E
+ 1A656CF7ECA151B3ADDB366256EA07BB2EFEF4CD19FBF427FF13FCA4F29214A3
+ 88BD9218F2CDB4DCA531B1F1122C40B0C11B02A0C37F74C822502A011F63EA37
+ 33BACEBB8377BBD5A75B9B7EF956A3B9E15C50B063C77922AF20622B29979CC8
+ 29484D4C7F428647E038DCF703BC70E826681A34F0F9B15720398F0452C0000F
+ 0FC1B0C640AB9A3ABA55ED8DEFFD5C5D797541C1A7E5D5F2E024766C59CEB29D
+ F96B5388380E0BC351CFEE2040E187B3024516096C1680044958FE71467D4D1D
+ AAABAE52B65D6F38BAA0E0E8890B05B21871E5AAC28C94D8043926A601F80480
+ 651260DB47B382F47C12BC14008ED6A2793458D4FDE196CBB53D576BBE7B635E
+ C1543C2B32A8ED4B33932A5617670929161F761EB9396F330F6519EB49A06C56
+ 4655D3EA3A5B7162DF0282C3112969A9AFA7E7A794E61467478E072360FD66E5
+ CC7A6671E634746E4D0956AD2301BC4EE8ACFDD5AF2C3DF2C9BC824D9B0EB30A
+ 3624EF589EBDBC3CB7389B1F2004A06A76CEAC2B5BFA66BA9E5B1B3693601DB6
+ 30B7EB5B3D155F1C2B5DF00C0E1CAE2C8C8E8B399BFB744EA2302E16333B3020
+ D08E680EC09EE3B367B0BD98041A4D2A9A5AF08469E8EAE8635A2E5D19BCF07D
+ D9A90505EF1CA84814F1F92757ADCFDC96929F8A8F4DA2F9F7014421C1C62DCA
+ 9958B622C154518866754E80A6454D55559EA96F69AA3E3EAF40B57FCB726D50
+ C0D2466DD9268D4F7C376B6396589A28C7EC1E0218344D7DEDB371BD84040CC6
+ 80C31F64746A1DEABECE5873F9EBB33A9DFAB3BF15B41F78A690C7659A3D9152
+ D044AE8500AE08B1F83266C593692C91428A071836BA0470E0A2B1E4A10747E1
+ 38C6BD8C65C014EEBCFE9BA3B1EEC7DAB6EB57CA298A6AFB8BA0637FF18B3C11
+ 5D91B03A534684ECA0712583C61D0316271EE408E4DEA495295162B904E39242
+ 60B1D998DFE367D04507F6210BD577476DBD73BBF9467B5BED799FC7D38470EE
+ 47041D1F146D1788C22715B9EB92843C0A5CDA4EE8B708A163221E8C7E4269F3
+ B0FB2339FC2269AC224D1EAF904444B2591E97276C1A1A720E1B740383035DB7
+ 7A7B54F5341DB88D702E987BD94D752E10D3A58ABC8D4922AE7F1A6E30B2C130
+ 26048DD50A23E38EE7CBEB354D19196B93A3158A748C2696D1B43F0AC5002EF7
+ 98C334ACEFF47ADD030835821EDF432EF630733E9FFA217ECD3A998817828981
+ 2ED0E93130B824A0350D41B7590F6E7FF0B9BA2E67CD833DE8E6017410403CE0
+ 4C4D68706A90E0CF3F1CD5C1E2A24801D1B0243707F85C149AF60E188609E877
+ 4483D6A8875E8BDEE5F4516F35F6B8CEC1220AEB39FE2CB3247B25F0055C14CB
+ 2D1834B2C0E010836678007AAD7ABBCB1B3C78AD775CB918F8B4A0FE5409B366
+ 752A50860E1832A1CC4705A0351B416DEC7721F8FBD7FAC6CF2C163E2D38B4EF
+ 6D2647781F12682F82F3A0CF6C821EF3008C7A03AF2E36964704BB77EF629688
+ F9407A6CE01CB987E006704FFA76D575BBBFFCAFF06941494949915020688811
+ F1E15E4F2BD82CFA5D63DDEE732A80D0FF21F81D69327688E78891A000000000
+ 49454E44AE426082}
+ Name = 'PngImage14'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A000005234944415478DA
+ AD956B4C53671880DF7329BD9CB6B4A5174A454005112F205E16DCD46C3097ED
+ C7B2690CFFB665BAE80FB3FDD8E2DC8C739AFD984EE3C8326203D9702E5B069B
+ 139D8E9B82283299454AB9147B81DA9BB4D00BB4F476DAB3AF80896E02D3ED24
+ 5F4E4ECEF99EE7FDDEEF7DBF83C1135D0CF6B9BA4E18F2B0C4896848118B46C4
+ 8958CC1767E1CE90373C5E59B92F98FCE8E119D8BF459FFAB6553435EE5BC7E5
+ B25F23D9E4F3296C56068663EC6824169B0A04AD931EFFF9C980E7728FC5A0BB
+ 5657197822414DED4D95C7E57D93120BDE11C9848B6599524C942EC208160191
+ 6004DCB631C675CF1D1BB3BBFA5CA376B571B8F7FCAFDF9F764F2F7921F809F5
+ 05294613FB2472F1DEFCE225F27495048B102C08C600E2899908490265251262
+ 6C4376C6D07377F86E9FF65447DBEF3FE87437BCF30A76EEAC25D695A4BC2E56
+ 488E1795E465AD582CC353701CEE870106BD00D1F84C0E481C40CC678087C7C0
+ A233C7356D5D7D9A5BAD1F5EAAAFB932AFE0CBAA7A45740A3BBAB468E9DB1B36
+ E612196C12C311D11F05E81E07F044101F9B192C12408224647882D15ED5C69A
+ EAEBD49DD75B8ECC2B3872FC5C894C2EAA59B5A520373D53818950C41401E098
+ 0218F2CD940B8F35B38A200D80A37769BC3838B44389F68B8DFD571A7EDC33A7
+ 20999EE505F48E25ABB3ABD796AD11D024056EEFC2BBC6E502D02E27A369E8F0
+ 9DA93EBE7F1EC1E194DCFCBCB7566CC8AD282A2BE44C445360EF6737E704EB5A
+ 7470E9B73D4071D043D00B3D8D7F84D5159F7E31A760EBD6C364C973393B9715
+ 2EAB2A2E2BA422041F4AB6AAE78D3E295009019C1607D3DDDC11A8FEFA68C5BC
+ 0B3E78B8664B5A86FC4CF10B4559828C74ECBE77E1B6C9498D436FD720D37EE1
+ F2F0B99F2A4FCE3BE3FD83D559428A3AB1EAD9D5DB7337E4E1E353A8FE4300A9
+ 6C00394A059B98ED83590A8DEE4EEF24E8DAB5745DCDE9E6F6B6FA63730A3407
+ B62DD347F9A43E75DB76A92AEB83359BD788A4590ACC1D208041D5244896650A
+ 2A4FD4033896DC7C063CE12863D01A50F44DD6868BDF9D3118B45F3D5670EBE0
+ 8B5B785CE65A8023051D67234470658CA464CCF267F249A1528A4718549B0C0E
+ 5CB4021E1A3824C03311641C265BA2E7FA9F9ED6A65F1A3BAF5FAEA269BAF31F
+ 82AE0365AFF284F1EACCB5AB6544CC0D3A5F0EE8FC727078F1289BAF0866AFCC
+ 4D15292418572C0092C5C2C28130830E3A708F38E8C13B5AE79DEE6B376E7536
+ D68602813684F33F22E8FAB874075F9838A12CDE942DE0D1E0D3F7C09043005D
+ 932AB08609B52BC01AE2B0A95269BA325FA1524A52382C32E00B246C23235E8B
+ D9601A36F5DE1EE8D734C7E3916E8443ADF850DB2423E78BE215CA759BB385DC
+ F034DC6C6581795C003AA71346273CAF5435EBDA0A0A36E6A429952BB038B134
+ 1E0FA7A23480CF3FEEB1598C3DC1A0DF8450A368841E70B10739A728FA67D5FA
+ 4D32212F0693A65E30183130FB24A0B78D409FDD08FE70F4E5A65E6FC3EC1CB4
+ C5903C2488590E3A57219A2C24F8FB0F4773A8AC94C3275A1615170185DADCAF
+ BF03660B01439E34D05B8D30E030FABC21FADDD67EDFD9059BE03117D67FEC25
+ 6651E14AA0F85C9496DB306C25C1EC1181CE628201A7D1ED0B460F5D1D98503F
+ 0D7C5AD07CB29C59BF360F6873178CD850CEC7F8A0B75B416B1DF221F8475707
+ 274E3F2D7C5AF0C9FEF79822C17DC88C07119C0783761BF4DB4D30168CBCF1B4
+ 697944B07BF72E6691880271C005DED17B086E06FF546857539FFF9BFF0A9F16
+ 949797970AF8FC16B990827BFD1DE07218778DF7F9CF6A0062FF87E02F9F6855
+ 88E7298D620000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A000005A34944415478DA
+ 8D960B50546514C7CFBDFB625958DC455049C8074A3C44B490C67C8C5A098A8E
+ 8E61A0E68C363A4C884C5A3E7240D1F1C13496A58E634FCD0AABC9416DB29C18
+ D9626C542052234904158170A10576F7DEBBDF7D75BEBB0B3E82F49BF9CF7767
+ F7DCFFEF7CCF731918B8E950C1283B6AB8D96C8C62F5AC4994149EF0A4197F6B
+ 4575A13894D29F81AAAAC00C601EA6D3416A5090F9F9509B65AA2D3C74C490E8
+ C121C19620D6E316E4F616678FCBD973C3E5723B445E2CC7F81A94F7710034EB
+ B17ABD7E516C42744E424AECA8F8F1234D23C63CC10C8D8900539001BC5E1E5A
+ 6EFD0DF57537D53F6A1BF9FADAC66B6D8D1DC7144529C3776F51DF8100D43CCD
+ 1E11B626754A52C69CACA9831252464358B815581DA305CB8A028AAA804F26E0
+ 1638686DBBAB5EB9F417549EAA71D6573595096E72103DAEF442EE07B0A8F1B6
+ 48EB96CC97A6A72F58362B3866F43046A763FBD2A1C6C5F90ED8F8EEB3C0893C
+ 78509C28809BF74243FD6DF5E7D2AA9ECB3F5DFF9678C91E0C6FF0FBDF034418
+ 0CBA4DF397CE5CBD7CCD7C4B544C24A36391C930BDB940D19A735AE0EB7B9F06
+ 0FE1347935103EFB38B8D3D0AE3A3EAD72D59737BD8361FB513DBD0093C1C02E
+ 9B38257157DE9625914F258F445F06588645E1D46048515E399C2E3D08F372F2
+ 20B7244933778B5EF05210422888230234D5DC81F3876B9B3AEA5DEBD1F73402
+ 240A181E3ED476287BD5EC3959AFA6B366B34903E8581DF66C9F396D14B0724F
+ 3CB87D1E70138F96B936020471124E57B7176A8F5F93AE7F7FFB33C9236D4440
+ 07CE33A4C7A5C41ECDDF9A13999C1AA7654DB3A7806DF9157DE6BD80FE5AD4AA
+ 0EE071148244A0F9421B5C3DD2D0E469E65620C0C1982C86E21973D336BF5698
+ 6D1844774C20FB9D05950F98D31D24490A88921C90FF39B7E02DB0AF6C418080
+ 001F74B5F640DD478DA2EBF79E4259944B98109BE5544E6E46E6E2D5E98CDEA0
+ 031617F7ED75171ECB9C2A7F7D21985FB901BCE407705E011A4BEFA8CE739D47
+ 245E59C9D822C2AAF28AB3274E9FFB0C43E77EDF869AC736F71109DED85C0CCC
+ 92BAC0088876465ACF38D5B613CE5F658FFC1C631F32A8A660D7D209A93393B4
+ 1D7968F3953E407FA6D243CF9B0A77009F558D009F66EE9345E83CD705EDDF74
+ D6CA6E790263B5592A96AD9B37EDC5ECC98C04321045842FB7DE8413C7DE7FA4
+ 39ED0B8B77C13F0BCE6BD3A3017C22749C76A9DD673DD58AA0A432C1A1410766
+ 2C9A949BB576B60E8218201844213FEC76C1E71FEEFD5F73AAED3B4BA0655E05
+ F81040307BA18B40676997CAFF269C54457521C31AD8E58993461F78796346A8
+ 2DC61A18A61F72699F0A1FECDFDD6758F06651BFDBB431E34704F8DFE11A04E8
+ FECACD49B7E5125556B7D383161F1963FB62F6EA2929492FC4323E55BC079125
+ 683C6C85F7DEDEAE01E8822AD957B5E9E051DAB468BDDF5CC445F73838953B2B
+ FCA276AB5BF01C545240A8C1ACDB903C2B6EFDF455A966A3DD0082ECD3168B42
+ 44EC5D47A361CF8E426D41DD8B2EF6ED169A756FE634195F1B016F19D72DD5C9
+ 5B41828F11E0E9BDECE22DB6A092B4A5E3D3C7A63FA9978D0AC35388F6B27F67
+ E8BF4ED602DB321D81D1899A4445F2F76E51E52A0442CAC5E340A010439BEFBF
+ 4D8DA8CCC1636D45E316C4260E993458279914C6171809096CBFF09393E166C6
+ 59CDD01730A72324682E54119138C845F52E6C432F074A7AB8E0846255586C1F
+ 655D1B3D6D5842449A5DCFD870573DB026FE7511E994507311FF6B2720541322
+ 568BD56A3BD0ABFA3B943050C9B4A266996C8615F6C4B099D6849060D3082303
+ 363CD1264583116AEA45E05DEC9B7C2AA9177BA4EBF2192CFD9FE0BB9528FE51
+ 45DF801AC31AD9857AAB3ED318AE8F3344E843749178EF5A8021DDA24ADA4549
+ 724A3DB24BF95375AB65B8A02703F5587A54D1EF6DF477FAC91285953A99D1C3
+ 38303276BC074D8A0CBC4A54271EFACBA8AB18D30EFE4F97FF340AF8172272E4
+ FE66E507F40000000049454E44AE426082}
+ Name = 'PngImage16'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A000005A14944415478DA
+ 8D960B50546514C7CFBD771FC0C2E22E026A8A2F140145B490C65047AC0445D3
+ F111A463A38DE608CA949A1A83864C2AD5E8543A4D33659AD360E3E8A036D958
+ 069B943D80C8576E12A8BCC28559D8C7DDBBDF7D75BECB2EBE60F49BF9CFBD77
+ F7DCFFEF7CE77B5D06066E1C2A0C65450D0F0D350C6375AC5194141FF19166FC
+ AD0DD58DE2514A7F06AAAA0233807924C7415A4848E8F31116D30C4B54C4A8D8
+ 1183C3C34C21ACC72DC81DAD0E97D3E1FAD7E974DB449F7801E3EB50DE2701D0
+ ACC7EB74BA25F14923F29252E3C7244E1E6D1C35EE2966485C341843F4E0F5FA
+ A0F5F67F60BF7E4BBD56DFE8B3D737DE686FEC3CA6284A05BE7B9BFA0E04A0E6
+ E9D6E8C882B48C89D9F396CD1894943A1622A3CCC0728C162C2B0A28AA027E99
+ 805BE0A1ADFDAE7AE58F7FA0FA4C9DC35ED35421B8C921F4B81284DC0F605193
+ 2D31E6A29CA5B3B216AD9C1316377628C3716C5F3AD4B864A30DB61D781678D1
+ 071E142F0AE0F679A1C17E47FDA9BCC675F9879B278997ECC3F0865EFF7B8068
+ BD9EDBBE7045E6BA55050B4DC3E262188E4526C30473D12EBB0A2AB5E0B57B13
+ C14378F06A201E3C7E1E5A1A3A54DB17354EFB85A6FD18F231CA150418F57A76
+ E5D48CE43DF945AFC44C48198DBE0CB00C8BC2D260888A5192224169810DCE96
+ 1F820579F9F0D2CE58F02284F68482782240535D0BFCF2697D53A7DDB9197DCF
+ 2240A280E151432C9FE4AE9D3B6FD96B596C68A85103702C87572C11CB8084CF
+ 7E4584F736546900DA2824638BB1B70708E2252C578F17EA8FDF906E7E7BE74B
+ C9236D434027D619B21252E38F6EDC9517939296A0654DB32F2DBCD8EFFCA500
+ 3AD892A4C0D2570B21219F0737027CD80B4122D0FC5B3B5C3DD2D0E469E65723
+ C0C6184DFA92D9F3D3776C28CED50FA2332690FDBB85D57DD9DEDF82E6A2246B
+ 5AF5FA56B0AE69458080003F74B7B9E0FA678DA2F32F57B12CCA654CB8C57426
+ 6F7D76CEF275598C4ECF01CBB25A0FCADEB8F408E061733170BFBEF06D80BC6B
+ 1A80F70AD058DEA23A2ABB8E483E650D63898EACC92FC99D3A6BFE338C36B808
+ A0A37F606BED038081CCA9FC44822D3B4AA07BF1AFDA1A693BE750DB4F392EC9
+ 1EF939C61A3BA8AE70CF8A29699913B5A9884B09449C31878BEC7D80FE4CA587
+ EEB7179742FB822A0488D055D90D1D27BAEA65B73C85315B4C552BDF5C30F3C5
+ DCE98C0432109C2DA22CC189DD2D1AE049CDDB722AB5ECFD7E113ACF3AD59EF3
+ 9E5A4550D298B0889083B3974C5BBF6CD35C0E421820184421DFED75C2A9631F
+ 3D91792BCD1CEB4F307BA19B405779B7EAFB5338AD8AEA6286D5B3AB92A78D3D
+ F8F2B6EC084B9CB9370BD4CFFB49BFD3F4C3F7773F98399AD3C1F54BBD89F10D
+ 02F47CEDE6A53B72992AABBBE9424B8C89B37C35775D46EAC417E219BF2AF641
+ 08968ABE4402CF3D4747C2077B77DDCB9C9605CD8580B98883EDB1F12A7F5EB8
+ A8F6A8453859AA2920421FCABD95322761F3ACB569A106AB1E04D9AF0D163515
+ E5205004B97C02EC2B2DD6CC5B727ED4B20E664E93F1B713F056F03DD27519B3
+ 80CF11E0096E7689264B4859FA8AC959E3B346EA6483C2F8E460B77BCD697DC3
+ 4E3EAD05DFCAFE5E7BA6A2334EBBBA4595AF1208B9201E0702C518D67CFF6E6A
+ 40E50C1E6FD93969517C72ECB4C19C6454187FA02724D083A8D3D3D1FCBC66E8
+ 0F98D31E1234176A88486CE477F52EBC835E3694F4F0811381A7C272EB18F3A6
+ 1133872645A75B758C0567D50363D23B2E222D093517F1BF0E02422D2162AD58
+ AB7600DDAABF4109031D9966D41CA345BFDA9A1C99694E0A0F338E323060C195
+ 6C543418A1A65E04DEC56B935F2576D125DD94CFE1D17F18DFAD46F91E77E8EB
+ 51E35803BB5867D6E518A27409FA685D381783FBAE0918D223AAA443942487E4
+ 929DCADFAA5BADC0013D1D388FA5C71DFAC1467FA79F2CC3F0A44E617430090C
+ 8C15B729A322834F25AA0317FD65D4558CE980DE4F97471A05FC0F622CD6FE88
+ 2F15D20000000049454E44AE426082}
+ Name = 'PngImage15'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000002814944415478DA
+ 63FCFFFF3F032D0123C8822F5C7FFED767DC625876E301458645692830B0B2FF
+ 67E8ECD06184391CCC282EBAF6DFC7478B21AA671BC3F36D5E040DFAF3E71FC3
+ EFBF7F19FEFDFB0F66FF01B275A20E32AC28E766F0F2F26250538B63387F7E3A
+ 235E0B3AD73F25CAD571D6BC60DA28E108C3A783A160365116E07339C4D540FC
+ 07C1364B3EC6D0E0AFCDF0EBD72F8679F3FA48B7009FE1206C957682A1CA5395
+ E1E7AFDF0C4B974CA65E10051AB28169FBACD30CC5CE0A401FFC6658BD6A06F1
+ 3E20E4F2DF50BE73DE59862C2B09A0057F18B66C9E4F9C05C41A0E4A45EE8517
+ 18524C44C03ED8B573097E0B40C9AF7BE333A282C8550D92DEBD4B2F31C4E9F1
+ 03E3E017C3C1FDAB705BF0748B2786EB103EC04CFF3039FF8A2B0CE11A9C601F
+ 1C3FBA1EB7050F37BAE3351C3DB8FE41732CC882402516B005674F6FC16E0138
+ BB032D2107C00C07E583CB1777E1B6E02FD07520853F7FFE82D0504DE86C506A
+ 8188C1F81039909A5BD7F763B7006678754D0159BE5056B303EB7FFCE038A605
+ 6E6EC05CF813E292D6B60A9002AC86FCFEF593E1F7CF9F0CBF8018C4CE2E3A0A
+ 16BF7DF30083AC822558FFCB6767302DB0B757807BB3BBA70E6C0137373758B3
+ 868605C3D9B37B310CFFF3FB17437EF969B805E252266033DEBFB9886981A5A5
+ 343C0C274D6A065B2025A5C42029A9C8A0AB6BCD307B563586E1BF81EA4B6A2F
+ C22D1014D107B3B15A606C2C0A8DC4DF0C336674802D303676061BAEA666C450
+ 90EB8461F81F20AE68BE4E9C053ABA02F0208216B70C09097560C385852519C2
+ 8395300C07D1B59D77095BC0C8C8C8505478F5BF82222B72718B35CC910DFF07
+ CC78F53D0F88B300040C0C32A8D202B87061066A9D4C4B40730B0038C31BFE85
+ 5838D40000000049454E44AE426082}
+ Name = 'PngImage17'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000026D4944415478DA
+ B5966D48535118C7FF138A455F84588C0A7A27AA1163CDB69168929851CB5806
+ 81D5878A7C29412428484264A85006814342E805112DE8436F94F43E74393775
+ ABC1552C87B5EA6286B7B01AB4BBD3CE8D0DC57976B7D9038773B8F79CDFEF9C
+ F33C17AE821082FF198AE982F607CE946C4DCD3731D8D5A2A063FFDA73E4C9FB
+ 469C8CB0E30A4AF61A928247D660F9D225A8BE7019366F0B0CD595C8186B43AB
+ 4D9024F322D06E5C8521F75D2CAB2A85E94026E010C00533D1CD09E99D4014C3
+ E87CE482F2A717D93B8A305AA381A97F4282D3484B40E1A248F0BAE33486825A
+ 188D464C0A5FF1A3AA002A9EC0C7837D457957C7124A6A958DD896AF4146C08D
+ 1B1E23D46A35789E87D56A452010483EC9244C20465A28B27B6767650CFEE5D7
+ 38BE8F7F46AF5026C1559BCDB1AA922D48040F0A1E145B57E06C7D2BAEB5DF4B
+ 4E20176E7778F0F0A54B9E205E0EA6DF793C38DDC463BB5BFE0992D97974DED3
+ 9E01798254E0B4745FF47A120BA2354EFB70E47D435D09FE902294177630E1B4
+ D95D6FD88243BBB324F8AEEB01E95959A8166F3F4E4137F509CEC515B0AC3922
+ C1D7D574CFC8CF95DC050885C370F4FBD88283057A69277432ED2FD51FC5999C
+ 85F03FE7E00F2A71E7C322D435DF8A9D303A2F3A767939B6C0B253175BD4D556
+ 0197E3154EE95663D0FF1B8E491EE50D7D73C2693FE01B660BF6E569638B8E9F
+ 3886D1110E2B5504872D7AE8CD179970DABCDC085BB027678B34B1F8F604BED9
+ CC385FBA1586FD4D33123F179C26DC37FC8E2D28DCAE99B5482E9C464241BE69
+ 53CA705982DCAC0DFFEA5F24B36A9C7E132CB82C41B66E3DEE3FEB433AC114D0
+ 3F84F988A8E02F75743575B8E251160000000049454E44AE426082}
+ Name = 'PngImage18'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300004E2000004E2001167D99DE000004124944415478DA
+ ED955F4C5B551CC77FF7DEFE61D0C204D7758139C15684752C1A565A47D7A983
+ 1664449D75337301A7D68D8CBD69F4C11463627858427C30DD8B3A0C8B0FBA10
+ 71B8F247470706A6996E93617173C060A56D645DD7526EDBDB7BBCE75E6F2D5A
+ 46E2E29BBFE4E49ED3F33DDFCFEFFCEE39B7044208FECB20FE07AC0A584DE070
+ 38C889EB011345C1101EC798786D77D747DF72DDE46A6B1B0F1E54DE1560B7DB
+ A57136DB4033B17373FEB9BF262872978F898D5C73B9622B257EB4ED83B1C0B4
+ 47BF1280B0B6B6CAD4892C3D4D477873868DD76C543D90A028C9101E47A34BC6
+ 1FDD83639916DB6C2D0A2A0785B12E1380686A72C8C91CBA72297A67188B9289
+ 64C3E8E0D7BD78D2F4F4B3FB11CB7431887D6ECCD5DB9D09A0B75A7365843494
+ E91D70E64D9C790167BEC49B2340F5DF9D397D46D41A6BEA9EA024926F922C6B
+ 1DEDEBEDCB08D07380827F02083367AE55AAB64522425908966818EEEBE94D5F
+ BCD56C5EAB9428F2C38CE4D625F797B733012A6A5ECAC9958422CB00369B4D26
+ 55AE33B02C72AF64FEA75E3CD724D7D88C6F903B79DBCF9FD7138474940798CD
+ 6689BAB8CC4800C1671EA7A36F2A08E4CECB96215A921752057D373ADDEE789A
+ 21A1D168642A5561194B4AF3280449890480610072D7150402B3D7A62E9494B0
+ D5119AC100E285A6D71F27097224533233F3334E85E2FEAF064E7DDA2F663F57
+ 21DC01DB867AE7A60D9B0EA7EBF3E6273EFB708DFF45DF758F90C9AB47DE30E1
+ 9AE3C191B60EB82F0B204803F8170166C3003FCF0661F2633B042309CB956117
+ BE60E83897EC6B4E07CC3BDF85503F9DD2FB16A2606F7F14C8DDCDFCDCE9CB1C
+ 605FF361249A57AA01BC11A189001C18E27ABB06D6CA91B574F3634959B66260
+ E709278890E91E9AD737BE550E64FD81947957DD6E200A353A64AA36C13BED1D
+ B086ABE312B37C0738A83B32686FA900AC1303EB87D5592988BAA41408CBBE94
+ F97B1A9D50226EA272E78E277FC03B102314135A20BA1C50AC2DE6C745EB8B40
+ D48F3F9805AF580BF9BEDF7B93374FF4B3BC9E8E45B711566BABBCD4A81D2CB6
+ D8AB372A05C3585200E02736BF18F2C36F278F7AC747CFD9755BB630EA22ADCB
+ 70A803B05E1EFE1D2C6D55BC398EEE636C4A3FF4D3F70FF1C7B4EE99BD0F8763
+ D1C9E71D9F839CE2DE605096DA0D16E3FADF0E069F5A5CB839525E5E0E1ACD23
+ 86ECFCF56EA3FD18B4BCBF19FC37A6F9CCF14E30A82AAA033A112F5B98F9D593
+ BA6886DA5A4DD5F6864F2E8C0D544F5D9D4A01B4BA32EFA4E76AF3BCE762FA27
+ 9AB4ECDDBFE340E897B37B923EE81CF0420F57B646EE0E8990A2CBC2255EF5FF
+ 60A548580BF7708F2FB0399344CD87003AF1EFDC1146E9907B01A0D1F1004CCC
+ 254E70E62FA7CFA543FE3560726B3E3A7BE916EE2A38C0E2DFE731A4A1E21E4A
+ 745CF86CE838F32B77D3FC01CF05F8A9B438C37F0000000049454E44AE426082}
+ Name = 'PngImage19'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000001B74944415478DA
+ B5943D2C044114C7DF6A5CA150894204052AD14B7C14D7701D9D44EB4A854434
+ BE3A89E28A0BD128080DA7388ABB444E88904B705710111FA5467D91DB9D9D31
+ 6F6677CFB9B998DD75AFD8F9DCFF6FDEBCFDAFC118834686810063BB3CC9FB47
+ 8AF52988475241C585B6036089C1DA0D7345FE88478C7F030841FF5137CB0A60
+ F5395C2156FA95597A80D3F377161BEBF953C7223694BE4C20361563D324109B
+ 598442762B3800D75110C54DCB167D14C638CEDEC0CE7E3A3800D76C14E4E284
+ C81641160761A4CFF2C100388745213617B628942DC2019801952D9180ECE55D
+ 30804D2950CAE0F0D586E98BDAFA27064A106D3321775DD4074C8C763B93F2E4
+ 16BF92965D06F5FC5118FE84ABDB077DC0F88804C8821271E7AD074D10C61F6C
+ B639E501A2439D62567E2D4464D09EFC08A4EC65B0DC6754D520B997A9DAD0D5
+ D10B61FC719FD9AC0096D6376A5E5C5B988730FEF00086A1FE9F9DE4DE42F9C3
+ 37C0AF3F7C035C7FE049F1C41240C518A1652703D71F5A00953F4C47D86BC555
+ 71805303D71F5A00953F4C2703B7B5BCB104E48B4FFA00953F7E9E5C05283EBE
+ F8ABC16F7FE8843640E50FDDF0008D8C6F397A5EEFE9EAF0950000000049454E
+ 44AE426082}
+ Name = 'PngImage20'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000018C4944415478DA
+ 63FCFFFF3F032D01E3A8054459C0C8C8C860E091F0FFC28E058C843490AA8E3E
+ 16187A26D22C9C864910812CA079102DD87000251E40E23F7FFE62F8F90B827F
+ C0D8405A47439528753D15A98C2816C4FBDBA3D8FEFBCF5F08FEFD17CEEE98B1
+ 9461626D1651EA26D565E3B6009BA64BB75E306CD8B183617A733E51EA66B414
+ 60B7009BA6DF7FFE315CBFF78A61F9860D0C0BBACB8952B7B0A70261C1FCF5FB
+ FF270438E0D404A2EF3C7ACB307FC54A861593EB8852B7724A3DC282192B76FE
+ 4F0A76C6A9E91750ECD1F30F0CD3162C625833BD8928759BE6B4212C98B868F3
+ FF9450379C9A40F8C59BCF0C7D336633AC9FDD4694BA5D4B7A111674CD59FB3F
+ 2DCC13A7A65FBFFF30BCFBF89DA175E21486CD73BB88527778F51484054D5397
+ FFCF8CF4C1A9E9D7AFBF0C5FBEFF62A8EDEC61D8B6B09F2875A737CF415850DD
+ BFF07F76B43F3889E103152D1D0CDB164D204A1D4A5151D231FBFF2F600EFCF5
+ EB37C3F71F3F187EFCF809A47F42E89F20FA0730DCFF8035DB599912A50E6E01
+ 2DC1D0B7000029AD9AF9DFD03E1F0000000049454E44AE426082}
+ Name = 'PngImage21'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000002694944415478DA
+ B594CB6B134118C0BFB9743D6841A48A1E5A1FF1502A5AA555A3584544BDE829
+ 1E04C58B87E4A247FF84EAA168AD90A017C17A908882082A8A50A15AAD448B0F
+ D0F8A8252D4A1A2D096477670DE37C3B997D249B6636E007C37C330BBFDF3CBE
+ 59C21803F305615A9411E061E75F7972C233AE7E6B25080A60943073031F4492
+ C0BE240005F4909B4B59CB029A4FB1B64709400906423197A28BA7072137F72B
+ 347C64D22062073C50823D6B4F08733169F7083F9BBA0385D96F502E2EF0F607
+ F4D2028CDDBE09EBD7AD8223E792F6BC5EFAEDFB3E742F0BE9749A10E3393067
+ D5C704B8AD230EA6C94F25E3AE6646BFAA0CBF3E320885AE9810B01B42605F28
+ 17689A18A2404BBB82A9A51794E1AB97AF84F7ED0355419323CAFF5801F3B9EF
+ A1E0183E01C2B162B08AF0B29D1D552B2BF3704609BEB1732D509302A57FFD02
+ 59FBDED2C45C56D6A5F39D4DE1DB36F5D870D3B4EC3EB36497E788F83BC05A8F
+ 6F276C78585C78FCB2D845EA8C9B378A81683F58D472E0D84F903EFF1D600C9D
+ 24ECF0C1534DEBBB52A9701007EA149E3C18879ECD117E2C964F3246B7B426F0
+ C211F4ECE924F4F675DB70AFE471A93BBCA0168EA097E36F21BA672BE8BAE193
+ DC9F8F841304C1B17FF3FA23EC3BB0838FA94F7277AE4B5DD0088E731FDE656D
+ 81789CAEE4D6F41A35C162705C69F6D3B423F04A463F773417D4C2CB6543801D
+ 9105B3B99F3E81945C9B5AB6B8C0811862B5A65CB5078E2D9F2FD409AEBCD26C
+ 38E681025538CE178B259FC00B0F14ECDF7B5C198E7760188623A885070A76EF
+ 8C29C331A420081E28E8EF3DAA0C9702F9E70C7A3F758209230661A311BC4EF0
+ 3FE21F497E40FE838101750000000049454E44AE426082}
+ Name = 'PngImage22'
+ Background = clWindow
+ end>
+ PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
+ Left = 99
+ Top = 184
+ Bitmap = {}
+ end
+end
diff --git a/Source/Modulos/Contabilidad/Views/uViewApunte.pas b/Source/Modulos/Contabilidad/Views/uViewApunte.pas
new file mode 100644
index 00000000..fc182ff2
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Views/uViewApunte.pas
@@ -0,0 +1,108 @@
+unit uViewApunte;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uViewBase, ExtCtrls, StdCtrls, Buttons, DB, uDADataTable,
+ DBCtrls, Grids, DBGrids, uBizApuntes, uApuntesController, Mask, ComCtrls, uCustomView,
+ JvComponent, JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit,
+ cxDBEdit, dxLayoutControl, uDAInterfaces, cxGraphics, cxDropDownEdit,
+ cxImageComboBox, cxMaskEdit, cxCalendar, ImgList, PngImageList, ActnList,
+ cxCurrencyEdit;
+
+type
+ IViewApunte = interface(IViewBase)
+ ['{F44F8AEF-CB9C-44D5-93DA-53D6AB6A2D29}']
+// function GetController : IApuntesController;
+// procedure SetController (const Value : IApuntesController);
+// property Controller : IApuntesController read GetController write SetController;
+
+ function GetApunte: IBizApunte;
+ procedure SetApunte(const Value: IBizApunte);
+ property Apunte: IBizApunte read GetApunte write SetApunte;
+ end;
+
+ TfrViewApunte = class(TfrViewBase, IViewApunte)
+ DADataSource: TDADataSource;
+ layoutApunteGroup_Root: TdxLayoutGroup;
+ layoutApunte: TdxLayoutControl;
+ layoutApunteGroup1: TdxLayoutGroup;
+ layoutApunteItem3: TdxLayoutItem;
+ eConcepto: TcxDBTextEdit;
+ layoutApunteItem1: TdxLayoutItem;
+ eDocumento: TcxDBTextEdit;
+ layoutApunteItem2: TdxLayoutItem;
+ eRefSubCuenta: TcxDBTextEdit;
+ layoutApunteItem4: TdxLayoutItem;
+ BitBtn3: TBitBtn;
+ png: TActionList;
+ actSubCuenta: TAction;
+ LargeImages: TPngImageList;
+ layoutApunteItem5: TdxLayoutItem;
+ eSubCuenta: TcxDBTextEdit;
+ layoutApunteGroup3: TdxLayoutGroup;
+ layoutApunteItem6: TdxLayoutItem;
+ eDebe: TcxDBCurrencyEdit;
+ layoutApunteItem7: TdxLayoutItem;
+ eHaber: TcxDBCurrencyEdit;
+ layoutApunteGroup2: TdxLayoutGroup;
+ procedure actSubCuentaExecute(Sender: TObject);
+ protected
+ FApunte: IBizApunte;
+// FController : IApuntesController;
+ function GetApunte: IBizApunte;
+ procedure SetApunte(const Value: IBizApunte);
+// function GetController : IApuntesController;
+// procedure SetController (const Value : IApuntesController);
+
+ public
+// property Controller : IApuntesController read GetController write SetController;
+ property Apunte: IBizApunte read GetApunte write SetApunte;
+ end;
+
+implementation
+{$R *.dfm}
+
+{ TfrViewApuntes }
+
+{
+******************************* TfrViewApuntes ********************************
+}
+
+procedure TfrViewApunte.actSubCuentaExecute(Sender: TObject);
+begin
+ inherited;
+// Controller.ElegirCuenta(Apunte);
+end;
+
+{
+function TfrViewApunte.GetController: IApuntesController;
+begin
+ Result := FController;
+end;
+}
+
+function TfrViewApunte.GetApunte: IBizApunte;
+begin
+ Result := FApunte;
+end;
+
+{
+procedure TfrViewApunte.SetController(const Value: IApuntesController);
+begin
+ FController := Value;
+end;
+}
+
+procedure TfrViewApunte.SetApunte(const Value: IBizApunte);
+begin
+ FApunte := Value;
+ if Assigned(FApunte) then
+ DADataSource.DataTable := FApunte.DataTable
+ else
+ DADataSource.DataTable := NIL;
+end;
+
+end.
+
diff --git a/Source/Modulos/Contabilidad/Views/uViewApuntes.dfm b/Source/Modulos/Contabilidad/Views/uViewApuntes.dfm
new file mode 100644
index 00000000..b95856e6
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Views/uViewApuntes.dfm
@@ -0,0 +1,133 @@
+inherited frViewApuntes: TfrViewApuntes
+ inherited cxGrid: TcxGrid
+ inherited cxGridView: TcxGridDBTableView
+ DataController.Summary.FooterSummaryItems = <
+ item
+ Format = '0 ejercicios'
+ Kind = skCount
+ Column = cxGridViewREF_SUBCUENTA
+ end>
+ OptionsBehavior.PullFocusing = True
+ inherited cxGridViewID: TcxGridDBColumn
+ Visible = True
+ end
+ object cxGridViewID_ASIENTO: TcxGridDBColumn
+ DataBinding.FieldName = 'ID_ASIENTO'
+ end
+ object cxGridViewREF_SUBCUENTA: TcxGridDBColumn
+ Caption = 'Referencia'
+ DataBinding.FieldName = 'REF_SUBCUENTA'
+ PropertiesClassName = 'TcxButtonEditProperties'
+ Properties.Buttons = <
+ item
+ Default = True
+ Kind = bkEllipsis
+ end>
+ Properties.ReadOnly = True
+ Properties.OnButtonClick = cxGridViewREF_SUBCUENTAPropertiesButtonClick
+ SortIndex = 0
+ SortOrder = soAscending
+ Width = 119
+ end
+ object cxGridViewSUBCUENTA: TcxGridDBColumn
+ Caption = 'SubCuenta'
+ DataBinding.FieldName = 'SUBCUENTA'
+ PropertiesClassName = 'TcxTextEditProperties'
+ Properties.ReadOnly = True
+ Width = 86
+ end
+ object cxGridViewCONCEPTO: TcxGridDBColumn
+ Caption = 'Concepto'
+ DataBinding.FieldName = 'CONCEPTO'
+ PropertiesClassName = 'TcxTextEditProperties'
+ Width = 109
+ end
+ object cxGridViewDOCUMENTO: TcxGridDBColumn
+ DataBinding.FieldName = 'DOCUMENTO'
+ Width = 58
+ end
+ object cxGridViewDEBE: TcxGridDBColumn
+ Caption = 'Debe'
+ DataBinding.FieldName = 'DEBE'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.OnEditValueChanged = cxGridViewDEBEPropertiesEditValueChanged
+ Width = 59
+ end
+ object cxGridViewHABER: TcxGridDBColumn
+ Caption = 'Haber'
+ DataBinding.FieldName = 'HABER'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.OnEditValueChanged = cxGridViewHABERPropertiesEditValueChanged
+ Width = 58
+ end
+ end
+ end
+ inherited ToolBar1: TToolBar
+ inherited ToolButton1: TToolButton
+ Top = 0
+ ExplicitTop = 0
+ ExplicitWidth = 62
+ end
+ inherited ToolButton4: TToolButton
+ Top = 0
+ ExplicitTop = 0
+ ExplicitWidth = 74
+ end
+ inherited ToolButton5: TToolButton
+ Top = 0
+ ExplicitTop = 0
+ end
+ inherited ToolButton2: TToolButton
+ Top = 0
+ ExplicitTop = 0
+ ExplicitWidth = 67
+ end
+ inherited ToolButton6: TToolButton
+ Top = 0
+ ExplicitTop = 0
+ end
+ inherited ToolButton7: TToolButton
+ Top = 0
+ ExplicitTop = 0
+ ExplicitWidth = 117
+ end
+ end
+ inherited ActionListContenido: TActionList
+ object actElegirSubCuenta: TAction
+ Category = 'Operaciones'
+ Caption = 'Elegir Subcuenta'
+ OnExecute = actElegirSubCuentaExecute
+ end
+ end
+ object PngImageList: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000022E4944415478DA
+ 8D93CF6BD36018C7BF6997A45DD376EA70CA18D31D44981741280C44119DA83D
+ C87619781A1EFD1BC49B2028B28353141111A43BE8CD934E65A8D4A1686B61B5
+ A31DD8CCBAFEDAACEDF226B389EFFB26CBCC54E6030FEFCB4B3E9FE79B9744B0
+ 2C0B8220E0F7BA3AB2D75A282DE07F4AD82C60F0851B8F50530BF85EF98A6236
+ 8DCCAB69B0B366BD8C95B24ACF4BB877FD226AFD635EC13A5CF99243A356869A
+ 4D51F8398799EC476D09E5621E0F6F5EC6C8D938EE7C503604EB7055CDA34127
+ A8B90C3ECD3CE570A35AA2FD0DCB4B2AEE4F5CC29953C35094102667655B706D
+ 7480C3F97412AD951AAAC502E6DEBCE47031974673B942BB8AA9DB57103F7D12
+ 9D9D413ED4154C8C0BD6FCE7AD2F6C2816C3CE9E6E8862077C3E9F57307CE2FC
+ 1F80655A308C35E844C7B3273318D8D78FE8B6282449A41211B7DE05FE2D304D
+ 13866EC34433F0FAC55BF4EDE945A42B0C910A6459C6DD94F27781D936F964B2
+ AADB02DAEF9329ECEEED4138A240944548B2840773DBBD02B637596C6238205D
+ 352AD175643E66B1A3BB0B0A15489204292061AAB0CB2B68D3C96B34367120BE
+ 3AB2F96C01E1A8825028083920F35778BCD8B721387E6C9C42060788465C50A3
+ 12B24AB0582C2110946907282C61BA3588442221B882C343E75C50A30093B104
+ 84D849EAD53AFC1D7E0ECFFA631C76FF0526387470D4135977405B62A0D56CB2
+ C791891C71618FE0C0FEB873618623B2E33361FB679B4A340A1FF5C01E41928C
+ 6DF9256E8659FD02D3B7960923D6946A0000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end>
+ Left = 160
+ Top = 32
+ Bitmap = {}
+ end
+end
diff --git a/Source/Modulos/Contabilidad/Views/uViewApuntes.pas b/Source/Modulos/Contabilidad/Views/uViewApuntes.pas
new file mode 100644
index 00000000..2fc39dee
--- /dev/null
+++ b/Source/Modulos/Contabilidad/Views/uViewApuntes.pas
@@ -0,0 +1,166 @@
+unit uViewApuntes;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uViewDetallesGenerico, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
+ cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel,
+ cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
+ cxGridTableView, cxGridDBTableView, cxGrid, uBizApuntes, ActnList, Menus,
+ cxGridBandedTableView, cxGridDBBandedTableView, JvComponent,
+ JvFormAutoSize, PngImageList, ImgList, dxPSGlbl, dxPSUtl, dxPSEngn,
+ dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
+ dxPSEdgePatterns, cxIntlPrintSys3, dxPSCore, dxPScxCommon, dxPScxGridLnk,
+ cxGridCustomPopupMenu, cxGridPopupMenu, uViewFiltroBase, TB2Item, TBX,
+ TB2Toolbar, TBXDkPanels, TB2Dock, dxPgsDlg, uDAInterfaces, cxCalendar,
+ cxImageComboBox, cxTextEdit, cxCurrencyEdit, ComCtrls, ToolWin, cxButtonEdit,
+ uApuntesController;
+
+type
+ IViewApuntes = interface
+ ['{BEEA820D-80E5-4B7F-8659-A9C37BAFECFF}']
+ function GetApuntes: IBizApunte;
+ procedure SetApuntes(const Value: IBizApunte);
+ property Apuntes: IBizApunte read GetApuntes write SetApuntes;
+ end;
+
+ TfrViewApuntes = class(TfrViewDetallesGenerico, IViewApuntes)
+ cxGridViewCONCEPTO: TcxGridDBColumn;
+ cxGridViewREF_SUBCUENTA: TcxGridDBColumn;
+ PngImageList: TPngImageList;
+ cxGridViewSUBCUENTA: TcxGridDBColumn;
+ cxGridViewDEBE: TcxGridDBColumn;
+ cxGridViewHABER: TcxGridDBColumn;
+ cxGridViewDOCUMENTO: TcxGridDBColumn;
+ cxGridViewID_ASIENTO: TcxGridDBColumn;
+ actElegirSubCuenta: TAction;
+ procedure cxGridViewIDCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
+ AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
+ procedure cxGridViewREF_SUBCUENTAPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure actElegirSubCuentaExecute(Sender: TObject);
+ procedure cxGridViewDEBEPropertiesEditValueChanged(Sender: TObject);
+ procedure cxGridViewHABERPropertiesEditValueChanged(Sender: TObject);
+ protected
+ FApuntes: IBizApunte;
+ FController : IApuntesController;
+ function GetApuntes: IBizApunte; virtual;
+ procedure SetApuntes(const Value: IBizApunte); virtual;
+ procedure AnadirInterno; override;
+ procedure ModificarInterno; override;
+ public
+ property Apuntes: IBizApunte read GetApuntes write SetApuntes;
+
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ end;
+
+implementation
+{$R *.dfm}
+
+
+{ TfrViewApuntes }
+{
+******************************* TfrViewApuntes *******************************
+}
+function TfrViewApuntes.GetApuntes: IBizApunte;
+begin
+ Result := FApuntes;
+end;
+
+procedure TfrViewApuntes.ModificarInterno;
+begin
+ inherited;
+{
+ with TDireccionesContactoController.Create do
+ Ver((dsDetalles.DataTable) as IBizDireccionesContacto);
+}
+end;
+
+procedure TfrViewApuntes.SetApuntes(const Value: IBizApunte);
+begin
+ FApuntes := Value;
+ if Assigned(FApuntes) then
+ dsDetalles.DataTable := FApuntes.DataTable;
+end;
+
+
+procedure TfrViewApuntes.actElegirSubCuentaExecute(Sender: TObject);
+begin
+ inherited;
+ FController.ElegirSubCuenta(Apuntes);
+end;
+
+procedure TfrViewApuntes.AnadirInterno;
+begin
+ inherited;
+// try
+// with TApuntesController.Create do
+// begin
+// Anadir(Apuntes);
+// Ver(Apuntes);
+// end;
+// finally
+// if (dsDetalles.DataTable.State in dsEditModes) then
+// dsDetalles.DataTable.Post;
+// end;
+end;
+
+constructor TfrViewApuntes.Create(AOwner: TComponent);
+begin
+ inherited;
+ FController := TApuntesController.Create;
+end;
+
+procedure TfrViewApuntes.cxGridViewDEBEPropertiesEditValueChanged(Sender: TObject);
+begin
+ inherited;
+{
+ //Tengo que hacer esto para que se haga un post del apunte y pueda ver el nuevo valor
+ if cxGridView.Controller.EditingController.IsEditing then
+ cxGridView.Controller.EditingController.Edit.PostEditValue;
+
+ FController.AsignarDEBE(Apuntes);
+}
+end;
+
+procedure TfrViewApuntes.cxGridViewHABERPropertiesEditValueChanged(
+ Sender: TObject);
+begin
+ inherited;
+ //Tengo que hacer esto para que se haga un post del apunte y pueda ver el nuevo valor
+{ if cxGridView.Controller.EditingController.IsEditing then
+ cxGridView.Controller.EditingController.Edit.PostEditValue;
+
+ FController.AsignarHABER(Apuntes);
+}
+end;
+
+procedure TfrViewApuntes.cxGridViewIDCustomDrawCell(
+ Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
+ AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
+var
+ R : TRect;
+begin
+ inherited;
+{
+ R := AViewInfo.ContentBounds;
+ ACanvas.FillRect(R);
+ ACanvas.DrawImage(PngImageList, R.Left, R.Top, 0);
+ ADone := True;
+}
+end;
+
+procedure TfrViewApuntes.cxGridViewREF_SUBCUENTAPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ inherited;
+ actElegirSubCuenta.Execute;
+end;
+
+destructor TfrViewApuntes.Destroy;
+begin
+ FController := Nil;
+ inherited;
+end;
+
+end.
diff --git a/Source/Modulos/Contabilidad/Views/uViewAsientos.dfm b/Source/Modulos/Contabilidad/Views/uViewDiario.dfm
similarity index 92%
rename from Source/Modulos/Contabilidad/Views/uViewAsientos.dfm
rename to Source/Modulos/Contabilidad/Views/uViewDiario.dfm
index c83616e7..a173c52c 100644
--- a/Source/Modulos/Contabilidad/Views/uViewAsientos.dfm
+++ b/Source/Modulos/Contabilidad/Views/uViewDiario.dfm
@@ -1,7 +1,7 @@
-inherited frViewAsientos: TfrViewAsientos
+inherited frViewDiario: TfrViewDiario
inherited cxGrid: TcxGrid
inherited cxGridView: TcxGridDBTableView
- DataController.KeyFieldNames = 'ID'
+ DataController.KeyFieldNames = 'ID_ASIENTO;ID_APUNTE'
DataController.Summary.FooterSummaryItems = <
item
Format = '0 ejercicios'
@@ -12,13 +12,16 @@ inherited frViewAsientos: TfrViewAsientos
object cxGridViewID_ASIENTO: TcxGridDBColumn
DataBinding.FieldName = 'ID_ASIENTO'
Visible = False
- OnCustomDrawCell = cxGridViewID_ASIENTOCustomDrawCell
BestFitMaxWidth = 22
MinWidth = 22
Options.HorzSizing = False
Width = 22
IsCaptionAssigned = True
end
+ object cxGridViewID_APUNTE: TcxGridDBColumn
+ DataBinding.FieldName = 'ID_APUNTE'
+ Visible = False
+ end
object cxGridViewFECHA_ASIENTO: TcxGridDBColumn
DataBinding.FieldName = 'FECHA_ASIENTO'
end
diff --git a/Source/Modulos/Contabilidad/Views/uViewAsientos.pas b/Source/Modulos/Contabilidad/Views/uViewDiario.pas
similarity index 60%
rename from Source/Modulos/Contabilidad/Views/uViewAsientos.pas
rename to Source/Modulos/Contabilidad/Views/uViewDiario.pas
index 8400e31e..6963f0e2 100644
--- a/Source/Modulos/Contabilidad/Views/uViewAsientos.pas
+++ b/Source/Modulos/Contabilidad/Views/uViewDiario.pas
@@ -1,4 +1,4 @@
-unit uViewAsientos;
+unit uViewDiario;
interface
@@ -7,7 +7,7 @@ uses
Dialogs, uViewGrid, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
- cxGridTableView, cxGridDBTableView, cxGrid, uBizAsientos, ActnList, Menus,
+ cxGridTableView, cxGridDBTableView, cxGrid, uBizDiario, ActnList, Menus,
cxGridBandedTableView, cxGridDBBandedTableView, JvComponent,
JvFormAutoSize, PngImageList, ImgList, dxPSGlbl, dxPSUtl, dxPSEngn,
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
@@ -17,14 +17,14 @@ uses
cxImageComboBox, cxTextEdit, cxCurrencyEdit;
type
- IViewAsientos = interface(IViewGrid)
+ IViewDiario = interface(IViewGrid)
['{5CA170E3-5552-4EF5-A2C0-02E4C9052045}']
- function GetAsientos: IBizAsiento;
- procedure SetAsientos(const Value: IBizAsiento);
- property Asientos: IBizAsiento read GetAsientos write SetAsientos;
+ function GetDiario: IBizDiario;
+ procedure SetDiario(const Value: IBizDiario);
+ property Diario: IBizDiario read GetDiario write SetDiario;
end;
- TfrViewAsientos = class(TfrViewGrid, IViewAsientos)
+ TfrViewDiario = class(TfrViewGrid, IViewDiario)
cxGridViewCONCEPTO: TcxGridDBColumn;
cxGridViewREF_SUBCUENTA: TcxGridDBColumn;
cxGridViewID_ASIENTO: TcxGridDBColumn;
@@ -34,38 +34,39 @@ type
cxGridViewHABER: TcxGridDBColumn;
cxGridViewFECHA_ASIENTO: TcxGridDBColumn;
cxGridViewORDEN: TcxGridDBColumn;
- procedure cxGridViewID_ASIENTOCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
+ cxGridViewID_APUNTE: TcxGridDBColumn;
+ procedure cxGridViewID_AsientoCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
protected
- FAsientos: IBizAsiento;
- function GetAsientos: IBizAsiento; virtual;
- procedure SetAsientos(const Value: IBizAsiento); virtual;
+ FDiario: IBizDiario;
+ function GetDiario: IBizDiario; virtual;
+ procedure SetDiario(const Value: IBizDiario); virtual;
public
- property Asientos: IBizAsiento read GetAsientos write SetAsientos;
+ property Diario: IBizDiario read GetDiario write SetDiario;
end;
implementation
{$R *.dfm}
-{ TfrViewAsientos }
+{ TfrViewDiario }
{
-******************************* TfrViewAsientos *******************************
+******************************* TfrViewDiario *******************************
}
-function TfrViewAsientos.GetAsientos: IBizAsiento;
+function TfrViewDiario.GetDiario: IBizDiario;
begin
- Result := FAsientos;
+ Result := FDiario;
end;
-procedure TfrViewAsientos.SetAsientos(const Value: IBizAsiento);
+procedure TfrViewDiario.SetDiario(const Value: IBizDiario);
begin
- FAsientos := Value;
- if Assigned(FAsientos) then
- dsDataSource.DataTable := FAsientos.DataTable;
+ FDiario := Value;
+ if Assigned(FDiario) then
+ dsDataSource.DataTable := FDiario.DataTable;
end;
-procedure TfrViewAsientos.cxGridViewID_ASIENTOCustomDrawCell(
+procedure TfrViewDiario.cxGridViewID_ASIENTOCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var