diff --git a/Build/Build.fbl6 b/Build/Build.fbl6
index 3040ec1..10d86ef 100644
Binary files a/Build/Build.fbl6 and b/Build/Build.fbl6 differ
diff --git a/Resources/Iconos/Generales/16x16/Aumentar_letra.png b/Resources/Iconos/Generales/16x16/Aumentar_letra.png
new file mode 100644
index 0000000..141ebc4
Binary files /dev/null and b/Resources/Iconos/Generales/16x16/Aumentar_letra.png differ
diff --git a/Resources/Iconos/Generales/16x16/Disminuir_letra.png b/Resources/Iconos/Generales/16x16/Disminuir_letra.png
new file mode 100644
index 0000000..2febedb
Binary files /dev/null and b/Resources/Iconos/Generales/16x16/Disminuir_letra.png differ
diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj
index a059afb..1d93673 100644
--- a/Source/Base/Base.dproj
+++ b/Source/Base/Base.dproj
@@ -65,56 +65,56 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
TForm
diff --git a/Source/Base/Utiles/uStringsUtils.pas b/Source/Base/Utiles/uStringsUtils.pas
index 5b8c59b..6cb3354 100644
--- a/Source/Base/Utiles/uStringsUtils.pas
+++ b/Source/Base/Utiles/uStringsUtils.pas
@@ -132,7 +132,7 @@ function CadLimpiaCar(NIF: String): String;
delete(NIF,pos('-',NIF),1);
while (pos('/',NIF)>0) do
delete(NIF,pos('/',NIF),1);
- Result:=NIF;
+ Result:=UpperCase(NIF);
end;
end.
diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj
index 181d8fd..181cf4e 100644
--- a/Source/Cliente/FactuGES.dproj
+++ b/Source/Cliente/FactuGES.dproj
@@ -52,7 +52,7 @@
Delphi.Personality
VCLApplication
-FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse2260FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.2.6.0FactuGES v2FactuGES v22.2.6.0
+FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse2300FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.3.0.0FactuGES v2FactuGES v22.3.0.0
File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found
FactuGES.dprFalse
diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res
index 2e52eae..5fcd81d 100644
Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ
diff --git a/Source/GUIBase/GUIBase.dproj b/Source/GUIBase/GUIBase.dproj
index 0edfe47..84e7139 100644
--- a/Source/GUIBase/GUIBase.dproj
+++ b/Source/GUIBase/GUIBase.dproj
@@ -58,34 +58,34 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Informes/1/InfContratoCliente.fr3 b/Source/Informes/1/InfContratoCliente.fr3
index 0274323..4159fd0 100644
--- a/Source/Informes/1/InfContratoCliente.fr3
+++ b/Source/Informes/1/InfContratoCliente.fr3
@@ -1,34 +1,34 @@
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
@@ -38,7 +38,7 @@
-
+
@@ -58,14 +58,14 @@
-
-
+
+
-
-
+
+
@@ -76,7 +76,7 @@
-
+
diff --git a/Source/Informes/1/InfFacturaCliente.fr3 b/Source/Informes/1/InfFacturaCliente.fr3
index fa87018..9000840 100644
--- a/Source/Informes/1/InfFacturaCliente.fr3
+++ b/Source/Informes/1/InfFacturaCliente.fr3
@@ -1,5 +1,5 @@
-
+
@@ -38,14 +38,14 @@
-
+
-
+
-
+
diff --git a/Source/Lib/ApplicationBase.dcp b/Source/Lib/ApplicationBase.dcp
index 682d342..9e37f8c 100644
Binary files a/Source/Lib/ApplicationBase.dcp and b/Source/Lib/ApplicationBase.dcp differ
diff --git a/Source/Lib/Base.dcp b/Source/Lib/Base.dcp
index eda01be..31bffcb 100644
Binary files a/Source/Lib/Base.dcp and b/Source/Lib/Base.dcp differ
diff --git a/Source/Lib/GUIBase.dcp b/Source/Lib/GUIBase.dcp
index 268bbfa..d1907fd 100644
Binary files a/Source/Lib/GUIBase.dcp and b/Source/Lib/GUIBase.dcp differ
diff --git a/Source/Modulos/Contratos de cliente/Controller/View/uIEditorContratosClientePreview.pas b/Source/Modulos/Contratos de cliente/Controller/View/uIEditorContratosClientePreview.pas
index 0f08fda..d690c03 100644
--- a/Source/Modulos/Contratos de cliente/Controller/View/uIEditorContratosClientePreview.pas
+++ b/Source/Modulos/Contratos de cliente/Controller/View/uIEditorContratosClientePreview.pas
@@ -8,6 +8,12 @@ uses
type
IEditorContratosClientePreview = interface(IEditorPreview)
['{475D47DE-2A04-4D85-9D3C-6201B7EF2F29}']
+ function getTamLetra: Integer;
+ function getVerCondiciones: Boolean;
+ procedure setTamLetra(const Value: Integer);
+ procedure setVerCodiciones(const Value: Boolean);
+ property Vercondiciones: Boolean read getVerCondiciones write setVerCodiciones;
+ property TamLetra: Integer read getTamLetra write setTamLetra;
end;
diff --git a/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas b/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas
index 34a1ef4..ac06b98 100644
--- a/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas
+++ b/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas
@@ -8,7 +8,7 @@ uses
uControllerBase, uIDataModuleContratosCliente, uClientesController,
uDetallesContratoClienteController, uGestorDocumentosController,
uBizContratosCliente, uBizDireccionesContacto, uBizDetallesContratoCliente,
- uIntegerListUtils;
+ uIntegerListUtils, uDataModuleContratosCliente;
type
TEnumTiposContrato = (teCocina, teArmario, teBano, teElectrodomestico, teObra, teVarios);
@@ -55,8 +55,8 @@ type
function EsModificable(AContrato : IBizContratoCliente): Boolean;
function EsEliminable(AContrato : IBizContratoCliente): Boolean;
- procedure Preview(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false);
- procedure Print(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false);
+ procedure Preview(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
+ procedure Print(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
procedure EnviarContratoPorEMail(AContrato : IBizContratoCliente);
function CambiarSituacion(AContrato : IBizContratoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean;
function AsignarLOPD(AContratos: IBizContratoCliente): Boolean;
@@ -68,6 +68,7 @@ type
procedure VerFacturasProveedor(AContrato : IBizContratoCliente);
procedure CopiarDireccion (const ADireccion: IBizDireccionesContacto; AContrato: IBizContratoCliente);
+ procedure FechaUltimaActualizacionToday (AContrato: IBizContratoCliente);
end;
TContratosClienteController = class(TControllerBase, IContratosClienteController)
@@ -133,8 +134,8 @@ type
function EsModificable(AContrato : IBizContratoCliente): Boolean;
function EsEliminable(AContrato : IBizContratoCliente): Boolean;
- procedure Preview(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false);
- procedure Print(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false);
+ procedure Preview(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
+ procedure Print(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
procedure EnviarContratoPorEMail(AContrato : IBizContratoCliente);
function CambiarSituacion(AContrato : IBizContratoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean;
function AsignarLOPD(AContratos: IBizContratoCliente): Boolean;
@@ -146,13 +147,14 @@ type
procedure VerFacturasProveedor(AContrato : IBizContratoCliente);
procedure CopiarDireccion (const ADireccion: IBizDireccionesContacto; AContrato: IBizContratoCliente);
+ procedure FechaUltimaActualizacionToday (AContrato: IBizContratoCliente);
end;
implementation
uses
Controls, cxControls, DB, uEditorRegistryUtils, uEditorPreview, DateUtils,
- uIEditorContratosCliente, uDataModuleContratosCliente, Variants,
+ uIEditorContratosCliente, Variants,
uBizContactos, uDataTableUtils, uDataModuleUsuarios, uFactuGES_App,
schContratosClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorContratoCliente,
uIEditorElegirContratosCliente, uIEditorDireccionEntregaContratoCliente,
@@ -987,6 +989,32 @@ begin
Result := ASeleccionados;
end;
+procedure TContratosClienteController.FechaUltimaActualizacionToday(AContrato: IBizContratoCliente);
+var
+ bEnEdicion : Boolean;
+begin
+ if not Assigned(AContrato) then
+ raise Exception.Create ('Contrato no asignado (CopiarDireccion)');
+
+ if AContrato.DataTable.Active then
+ AContrato.DataTable.Active := True;
+
+ bEnEdicion := (AContrato.DataTable.State in dsEditModes);
+ if not bEnEdicion then
+ AContrato.Edit;
+
+ ShowHourglassCursor;
+ AContrato.Edit;
+ try
+ AContrato.FECHA_ULT_PRESENTACION_CLIENTE := DateOf(Date);
+
+ if not bEnEdicion then
+ AContrato.Post;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
procedure TContratosClienteController.FiltrarAno(AContrato: IBizContratoCliente; ADynWhereDataTable: WideString;const Ano: String);
var
Condicion: TDAWhereExpression;
@@ -1115,7 +1143,7 @@ begin
Result := AContrato;
end;
-procedure TContratosClienteController.Preview(AContrato: IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false);
+procedure TContratosClienteController.Preview(AContrato: IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
var
AReportController : IContratosClienteReportController;
ID_Contratos: TIntegerList;
@@ -1141,14 +1169,14 @@ begin
else
ID_Contratos.Add(AContrato.ID);
- AReportController.Preview(ID_Contratos, AVerCondiciones);
+ AReportController.Preview(ID_Contratos, AVerCondiciones, TamLetra);
finally
AReportController := NIL;
FreeAndNil(ID_Contratos);
end;
end;
-procedure TContratosClienteController.Print(AContrato: IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false);
+procedure TContratosClienteController.Print(AContrato: IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
var
AReportController : IContratosClienteReportController;
ID_Contratos: TIntegerList;
@@ -1173,7 +1201,7 @@ begin
else
ID_Contratos.Add(AContrato.ID);
- AReportController.Print(ID_Contratos, AVerCondiciones);
+ AReportController.Print(ID_Contratos, AVerCondiciones, TamLetra);
finally
AReportController := NIL;
diff --git a/Source/Modulos/Contratos de cliente/Controller/uContratosClienteReportController.pas b/Source/Modulos/Contratos de cliente/Controller/uContratosClienteReportController.pas
index 80ac488..10d470b 100644
--- a/Source/Modulos/Contratos de cliente/Controller/uContratosClienteReportController.pas
+++ b/Source/Modulos/Contratos de cliente/Controller/uContratosClienteReportController.pas
@@ -5,26 +5,31 @@ interface
uses
Classes, SysUtils, uDADataTable, uControllerBase, uIDataModuleContratosClienteReport,
uClientesController, uContratosClienteController, uDetallesContratoClienteController,
- uBizContratosCliente, uIntegerListUtils;
+ uBizContratosCliente, uIntegerListUtils, uDataModuleContratosCliente;
type
IContratosClienteReportController = interface(IControllerBase)
['{FEF47B69-26A3-462A-AF6D-4B2073D4F9DC}']
- procedure Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false);
- procedure Print(const AListaID : TIntegerList; AVerCondiciones: Boolean = false);
+ procedure Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
+ procedure Print(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
+ function getDataModule: IDataModuleContratosClienteReport;
+ property DataModule: IDataModuleContratosClienteReport read getDataModule;
end;
TContratosClienteReportController = class(TControllerBase, IContratosClienteReportController)
private
FDataModule : IDataModuleContratosClienteReport;
function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
+ function getDataModule: IDataModuleContratosClienteReport;
public
+ property DataModule: IDataModuleContratosClienteReport read getDataModule;
+
constructor Create; override;
destructor Destroy; override;
- procedure Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false);
- procedure Print(const AListaID : TIntegerList; AVerCondiciones: Boolean = false);
+ procedure Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
+ procedure Print(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
end;
@@ -33,7 +38,7 @@ implementation
uses
uROTypes, uEditorRegistryUtils, uIEditorContratosClientePreview,
- uEditorPreview, uDataModuleContratosCliente, uEditorBase,
+ uEditorPreview, uEditorBase,
cxControls, uFactuGES_App, uStringsUtils, uSistemaFunc;
{ TContratosClienteReportController }
@@ -80,7 +85,12 @@ begin
end;
end;
-procedure TContratosClienteReportController.Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false);
+function TContratosClienteReportController.getDataModule: IDataModuleContratosClienteReport;
+begin
+ Result := FDataModule;
+end;
+
+procedure TContratosClienteReportController.Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
var
AStream: Binary;
AEditor : IEditorContratosClientePreview;
@@ -89,7 +99,7 @@ begin
ShowHourglassCursor;
try
- AStream := FDataModule.GetRptContratos(AListaID, AVerCondiciones);
+ AStream := FDataModule.GetRptContratos(AListaID, AVerCondiciones, TamLetra);
try
CreateEditor('EditorContratosClientePreview', IEditorContratosClientePreview, AEditor);
if Assigned(AEditor) then
@@ -97,6 +107,8 @@ begin
try
AEditor.Controller := Self;
AEditor.ListaID := AListaID;
+ AEditor.Vercondiciones := AVerCondiciones;
+ AEditor.TamLetra := TamLetra;
AEditor.Title := 'Presupuesto - ' + AppFactuGES.EmpresaActiva.NOMBRE;
AEditor.LoadFromStream(AStream);
AEditor.Preview;
@@ -113,7 +125,7 @@ begin
end;
end;
-procedure TContratosClienteReportController.Print(const AListaID : TIntegerList; AVerCondiciones: Boolean = false);
+procedure TContratosClienteReportController.Print(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
var
AStream: Binary;
AEditor : IEditorContratosClientePreview;
@@ -122,7 +134,7 @@ begin
ShowHourglassCursor;
try
- AStream := FDataModule.GetRptContratos(AListaID, AVerCondiciones);
+ AStream := FDataModule.GetRptContratos(AListaID, AVerCondiciones, TamLetra);
try
CreateEditor('EditorContratosClientePreview', IEditorContratosClientePreview, AEditor);
if Assigned(AEditor) then
@@ -130,6 +142,8 @@ begin
try
AEditor.Controller := Self;
AEditor.ListaID := AListaID;
+ AEditor.Vercondiciones := AVerCondiciones;
+ AEditor.TamLetra := TamLetra;
AEditor.Title := 'Presupuesto - ' + AppFactuGES.EmpresaActiva.NOMBRE;
AEditor.LoadFromStream(AStream);
AEditor.Print;
diff --git a/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.dfm b/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.dfm
index db76633..43679e5 100644
--- a/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.dfm
+++ b/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.dfm
@@ -373,6 +373,15 @@ inherited DataModuleContratosCliente: TDataModuleContratosCliente
Name = 'PROCEDENCIA_CLIENTE'
DataType = datString
Size = 255
+ end
+ item
+ Name = 'EMAIL_1'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
+ DataType = datDateTime
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
diff --git a/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.pas b/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.pas
index 7d1dad0..4504df5 100644
--- a/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.pas
+++ b/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.pas
@@ -13,6 +13,7 @@ uses
uRODynamicRequest, uDADataStreamer, uDARemoteDataAdapter, uDABin2DataStreamer,
uDAMemDataTable, uIntegerListUtils;
+
type
TDataModuleContratosCliente = class(TDataModuleBase, IDataModuleContratosCliente, IDataModuleContratosClienteReport)
RORemoteService: TRORemoteService;
@@ -45,7 +46,7 @@ type
function NewItem : IBizContratoCliente;
// Report
- function GetRptContratos(const AListaID: TIntegerList; AVerCondiciones: Boolean = false): Binary;
+ function GetRptContratos(const AListaID: TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = 9): Binary;
function GetRptPDFContrato(const AID: Integer; AVerCondiciones: Boolean = false): Binary;
function GetAnosItems : TStringList;
@@ -86,13 +87,13 @@ begin
end;
end;
-function TDataModuleContratosCliente.GetRptContratos(const AListaID: TIntegerList; AVerCondiciones: Boolean = false): Binary;
+function TDataModuleContratosCliente.GetRptContratos(const AListaID: TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = 9): Binary;
var
AParam : TIntegerArray;
begin
AParam := AListaID.ToIntegerArray;
try
- Result := (RORemoteService as IsrvContratosCliente).GenerarInforme(AParam, AVerCondiciones)
+ Result := (RORemoteService as IsrvContratosCliente).GenerarInforme(AParam, AVerCondiciones, TamLetra)
finally
FreeANDNIL(AParam)
end;
diff --git a/Source/Modulos/Contratos de cliente/Model/Data/uIDataModuleContratosClienteReport.pas b/Source/Modulos/Contratos de cliente/Model/Data/uIDataModuleContratosClienteReport.pas
index 21af9f1..31375eb 100644
--- a/Source/Modulos/Contratos de cliente/Model/Data/uIDataModuleContratosClienteReport.pas
+++ b/Source/Modulos/Contratos de cliente/Model/Data/uIDataModuleContratosClienteReport.pas
@@ -8,7 +8,7 @@ uses
type
IDataModuleContratosClienteReport = interface
['{6AB7469B-842A-413E-AF33-9506477A9666}']
- function GetRptContratos(const AListaID: TIntegerList; AVerCondiciones: Boolean = false): Binary;
+ function GetRptContratos(const AListaID: TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = 9): Binary;
function GetRptPDFContrato(const AID: Integer; AVerCondiciones: Boolean = false): Binary;
end;
diff --git a/Source/Modulos/Contratos de cliente/Model/schContratosClienteClient_Intf.pas b/Source/Modulos/Contratos de cliente/Model/schContratosClienteClient_Intf.pas
index 5aeb510..531c1df 100644
--- a/Source/Modulos/Contratos de cliente/Model/schContratosClienteClient_Intf.pas
+++ b/Source/Modulos/Contratos de cliente/Model/schContratosClienteClient_Intf.pas
@@ -9,13 +9,13 @@ 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_Valores = '{AEE43CFA-1BB9-4CAC-8556-BFFC8FCEC733}';
- RID_Propiedades = '{B0855CF2-8ED5-4024-AEF7-D177FF322892}';
- RID_ListaAnosContratos = '{7E058AD2-196F-4A8A-AC1D-8DE9CBA5C393}';
- RID_ContratosClienteBeneficios = '{0EFEC438-3D7F-4359-BCCA-04AB52950321}';
- RID_ContratosCliente = '{00CCC87B-31E8-4640-BD5A-80EA152531B1}';
- RID_TiposCapitulos = '{FDAC7B98-87A1-41D6-A1C8-1FF22B060EBD}';
- RID_ContratosCliente_Detalles = '{68294EF3-4491-4A62-BCB2-E2FCE40EC48F}';
+ RID_Valores = '{8E9C5E5F-B1C4-40D2-844C-6818E0A71C41}';
+ RID_Propiedades = '{10423127-9855-44C6-84D5-C2F5F30ABADC}';
+ RID_ListaAnosContratos = '{EBCE4D2B-EED3-4477-AFB1-B628241320DE}';
+ RID_ContratosClienteBeneficios = '{EDA1E900-8EED-454E-BDF5-4D354D61EBB5}';
+ RID_ContratosCliente = '{C60CEDC1-9427-4DCE-821A-627672FAD176}';
+ RID_TiposCapitulos = '{84075DE8-633F-4B18-A39B-B453DE08D5FD}';
+ RID_ContratosCliente_Detalles = '{47A199B6-78E6-42EC-A6EF-C3A4A8939855}';
{ Data table names }
nme_Valores = 'Valores';
@@ -142,6 +142,8 @@ const
fld_ContratosClienteFECHA_PREVISTA_MONTAJE = 'FECHA_PREVISTA_MONTAJE';
fld_ContratosClienteCAMPO_LIBRE = 'CAMPO_LIBRE';
fld_ContratosClientePROCEDENCIA_CLIENTE = 'PROCEDENCIA_CLIENTE';
+ fld_ContratosClienteEMAIL_1 = 'EMAIL_1';
+ fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE = 'FECHA_ULT_PRESENTACION_CLIENTE';
{ ContratosCliente field indexes }
idx_ContratosClienteID = 0;
@@ -199,6 +201,8 @@ const
idx_ContratosClienteFECHA_PREVISTA_MONTAJE = 52;
idx_ContratosClienteCAMPO_LIBRE = 53;
idx_ContratosClientePROCEDENCIA_CLIENTE = 54;
+ idx_ContratosClienteEMAIL_1 = 55;
+ idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE = 56;
{ TiposCapitulos fields }
fld_TiposCapitulosID = 'ID';
@@ -257,7 +261,7 @@ const
type
{ IValores }
IValores = interface(IDAStronglyTypedDataTable)
- ['{B7DEBA9E-BCE7-44A0-A0D2-208F8F26EC42}']
+ ['{DE9A011D-6704-41A5-8170-8E1023E028A9}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -316,7 +320,7 @@ type
{ IPropiedades }
IPropiedades = interface(IDAStronglyTypedDataTable)
- ['{6063DDB1-1BC1-4242-A704-513F0F3137A7}']
+ ['{75D8A850-AAAA-4A89-80D7-C3E1A0628CD2}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -375,7 +379,7 @@ type
{ IListaAnosContratos }
IListaAnosContratos = interface(IDAStronglyTypedDataTable)
- ['{7AE79F64-046B-478B-A184-60A42E6CEC14}']
+ ['{82CA0D96-396B-4640-A127-3A92D6D876E0}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@@ -410,7 +414,7 @@ type
{ IContratosClienteBeneficios }
IContratosClienteBeneficios = interface(IDAStronglyTypedDataTable)
- ['{CA71E23E-0E59-4812-BD81-DD1B8C7F72F9}']
+ ['{1ADAB916-C891-4BAE-9322-2FD39A6EAE85}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -613,7 +617,7 @@ type
{ IContratosCliente }
IContratosCliente = interface(IDAStronglyTypedDataTable)
- ['{57FF1442-BB37-430E-B945-F2BD12A522F4}']
+ ['{A40F5D4D-74B4-40B9-8AC3-36562B7A0880}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -829,6 +833,14 @@ type
procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String);
function GetPROCEDENCIA_CLIENTEIsNull: Boolean;
procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean);
+ function GetEMAIL_1Value: String;
+ procedure SetEMAIL_1Value(const aValue: String);
+ function GetEMAIL_1IsNull: Boolean;
+ procedure SetEMAIL_1IsNull(const aValue: Boolean);
+ function GetFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime;
+ procedure SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime);
+ function GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean;
+ procedure SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean);
{ Properties }
@@ -942,6 +954,10 @@ type
property CAMPO_LIBREIsNull: Boolean read GetCAMPO_LIBREIsNull write SetCAMPO_LIBREIsNull;
property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue;
property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
+ property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value;
+ property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull;
+ property FECHA_ULT_PRESENTACION_CLIENTE: DateTime read GetFECHA_ULT_PRESENTACION_CLIENTEValue write SetFECHA_ULT_PRESENTACION_CLIENTEValue;
+ property FECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean read GetFECHA_ULT_PRESENTACION_CLIENTEIsNull write SetFECHA_ULT_PRESENTACION_CLIENTEIsNull;
end;
{ TContratosClienteDataTableRules }
@@ -1175,6 +1191,14 @@ type
procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual;
function GetPROCEDENCIA_CLIENTEIsNull: Boolean; virtual;
procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
+ function GetEMAIL_1Value: String; virtual;
+ procedure SetEMAIL_1Value(const aValue: String); virtual;
+ function GetEMAIL_1IsNull: Boolean; virtual;
+ procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual;
+ function GetFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime; virtual;
+ procedure SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime); virtual;
+ function GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean; virtual;
+ procedure SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@@ -1287,6 +1311,10 @@ type
property CAMPO_LIBREIsNull: Boolean read GetCAMPO_LIBREIsNull write SetCAMPO_LIBREIsNull;
property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue;
property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
+ property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value;
+ property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull;
+ property FECHA_ULT_PRESENTACION_CLIENTE: DateTime read GetFECHA_ULT_PRESENTACION_CLIENTEValue write SetFECHA_ULT_PRESENTACION_CLIENTEValue;
+ property FECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean read GetFECHA_ULT_PRESENTACION_CLIENTEIsNull write SetFECHA_ULT_PRESENTACION_CLIENTEIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@@ -1299,7 +1327,7 @@ type
}
{ ITiposCapitulos }
ITiposCapitulos = interface(IDAStronglyTypedDataTable)
- ['{A289CB54-D71E-428B-9B81-18A5A7D546DE}']
+ ['{E54DDB32-6949-47BA-95C2-5AB4013DFA97}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -1394,7 +1422,7 @@ type
{ IContratosCliente_Detalles }
IContratosCliente_Detalles = interface(IDAStronglyTypedDataTable)
- ['{DABADFCD-EEA9-4ACB-919D-9F2239F1912B}']
+ ['{D020E94C-7500-49D4-8605-8A0CD2F05A3F}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -3331,6 +3359,48 @@ begin
DataTable.Fields[idx_ContratosClientePROCEDENCIA_CLIENTE].AsVariant := Null;
end;
+function TContratosClienteDataTableRules.GetEMAIL_1Value: String;
+begin
+ result := DataTable.Fields[idx_ContratosClienteEMAIL_1].AsString;
+end;
+
+procedure TContratosClienteDataTableRules.SetEMAIL_1Value(const aValue: String);
+begin
+ DataTable.Fields[idx_ContratosClienteEMAIL_1].AsString := aValue;
+end;
+
+function TContratosClienteDataTableRules.GetEMAIL_1IsNull: boolean;
+begin
+ result := DataTable.Fields[idx_ContratosClienteEMAIL_1].IsNull;
+end;
+
+procedure TContratosClienteDataTableRules.SetEMAIL_1IsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_ContratosClienteEMAIL_1].AsVariant := Null;
+end;
+
+function TContratosClienteDataTableRules.GetFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime;
+begin
+ result := DataTable.Fields[idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE].AsDateTime;
+end;
+
+procedure TContratosClienteDataTableRules.SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime);
+begin
+ DataTable.Fields[idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE].AsDateTime := aValue;
+end;
+
+function TContratosClienteDataTableRules.GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE].IsNull;
+end;
+
+procedure TContratosClienteDataTableRules.SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE].AsVariant := Null;
+end;
+
{ TTiposCapitulosDataTableRules }
constructor TTiposCapitulosDataTableRules.Create(aDataTable: TDADataTable);
diff --git a/Source/Modulos/Contratos de cliente/Model/schContratosClienteServer_Intf.pas b/Source/Modulos/Contratos de cliente/Model/schContratosClienteServer_Intf.pas
index 68ed916..5301d8c 100644
--- a/Source/Modulos/Contratos de cliente/Model/schContratosClienteServer_Intf.pas
+++ b/Source/Modulos/Contratos de cliente/Model/schContratosClienteServer_Intf.pas
@@ -9,18 +9,18 @@ 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_ValoresDelta = '{7C597F28-9CAB-4563-AB03-5109CCD1E4FD}';
- RID_PropiedadesDelta = '{AEAD2B1C-5693-4333-B72F-D7FCB996C77C}';
- RID_ListaAnosContratosDelta = '{5420790C-645C-4AAD-84FB-8194E39EC4DC}';
- RID_ContratosClienteBeneficiosDelta = '{C92FEDD1-D568-4200-A088-37BAFD5C3BBE}';
- RID_ContratosClienteDelta = '{026E716F-C412-4A7B-BA3A-1D689117FC73}';
- RID_TiposCapitulosDelta = '{3515E5DD-2CF2-4ED9-A717-1FE908B2D252}';
- RID_ContratosCliente_DetallesDelta = '{04D0B422-F0D9-4FF9-8BFA-67148A8EA383}';
+ RID_ValoresDelta = '{B18B1C54-C567-4E9D-9F1C-EBF356EB9306}';
+ RID_PropiedadesDelta = '{C1C489D2-F6B5-4233-8739-4BF728F9D0C8}';
+ RID_ListaAnosContratosDelta = '{19C544EC-0104-4464-8453-55603B3A5316}';
+ RID_ContratosClienteBeneficiosDelta = '{27648BA2-1AB1-47C4-93E4-148BE96C60FB}';
+ RID_ContratosClienteDelta = '{B08191A8-1651-495D-82EB-4A90C31C4D2B}';
+ RID_TiposCapitulosDelta = '{A3BF1E30-4BE1-4DBC-94A1-0EA20C2BD85E}';
+ RID_ContratosCliente_DetallesDelta = '{FF4E0A9B-4339-4B2F-B1FF-D09CE86D6D01}';
type
{ IValoresDelta }
IValoresDelta = interface(IValores)
- ['{7C597F28-9CAB-4563-AB03-5109CCD1E4FD}']
+ ['{B18B1C54-C567-4E9D-9F1C-EBF356EB9306}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_PROPIEDADValue : Integer;
@@ -78,7 +78,7 @@ type
{ IPropiedadesDelta }
IPropiedadesDelta = interface(IPropiedades)
- ['{AEAD2B1C-5693-4333-B72F-D7FCB996C77C}']
+ ['{C1C489D2-F6B5-4233-8739-4BF728F9D0C8}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldDESCRIPCIONValue : String;
@@ -136,7 +136,7 @@ type
{ IListaAnosContratosDelta }
IListaAnosContratosDelta = interface(IListaAnosContratos)
- ['{5420790C-645C-4AAD-84FB-8194E39EC4DC}']
+ ['{19C544EC-0104-4464-8453-55603B3A5316}']
{ Property getters and setters }
function GetOldANOValue : String;
@@ -170,7 +170,7 @@ type
{ IContratosClienteBeneficiosDelta }
IContratosClienteBeneficiosDelta = interface(IContratosClienteBeneficios)
- ['{C92FEDD1-D568-4200-A088-37BAFD5C3BBE}']
+ ['{27648BA2-1AB1-47C4-93E4-148BE96C60FB}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldREFERENCIAValue : String;
@@ -372,7 +372,7 @@ type
{ IContratosClienteDelta }
IContratosClienteDelta = interface(IContratosCliente)
- ['{026E716F-C412-4A7B-BA3A-1D689117FC73}']
+ ['{B08191A8-1651-495D-82EB-4A90C31C4D2B}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -429,6 +429,8 @@ type
function GetOldFECHA_PREVISTA_MONTAJEValue : DateTime;
function GetOldCAMPO_LIBREValue : String;
function GetOldPROCEDENCIA_CLIENTEValue : String;
+ function GetOldEMAIL_1Value : String;
+ function GetOldFECHA_ULT_PRESENTACION_CLIENTEValue : DateTime;
{ Properties }
property OldID : Integer read GetOldIDValue;
@@ -486,6 +488,8 @@ type
property OldFECHA_PREVISTA_MONTAJE : DateTime read GetOldFECHA_PREVISTA_MONTAJEValue;
property OldCAMPO_LIBRE : String read GetOldCAMPO_LIBREValue;
property OldPROCEDENCIA_CLIENTE : String read GetOldPROCEDENCIA_CLIENTEValue;
+ property OldEMAIL_1 : String read GetOldEMAIL_1Value;
+ property OldFECHA_ULT_PRESENTACION_CLIENTE : DateTime read GetOldFECHA_ULT_PRESENTACION_CLIENTEValue;
end;
{ TContratosClienteBusinessProcessorRules }
@@ -829,6 +833,18 @@ type
function GetOldPROCEDENCIA_CLIENTEIsNull: Boolean; virtual;
procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual;
procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
+ function GetEMAIL_1Value: String; virtual;
+ function GetEMAIL_1IsNull: Boolean; virtual;
+ function GetOldEMAIL_1Value: String; virtual;
+ function GetOldEMAIL_1IsNull: Boolean; virtual;
+ procedure SetEMAIL_1Value(const aValue: String); virtual;
+ procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual;
+ function GetFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime; virtual;
+ function GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean; virtual;
+ function GetOldFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime; virtual;
+ function GetOldFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean; virtual;
+ procedure SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime); virtual;
+ procedure SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@@ -1051,6 +1067,14 @@ type
property PROCEDENCIA_CLIENTEIsNull : Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
property OldPROCEDENCIA_CLIENTE : String read GetOldPROCEDENCIA_CLIENTEValue;
property OldPROCEDENCIA_CLIENTEIsNull : Boolean read GetOldPROCEDENCIA_CLIENTEIsNull;
+ property EMAIL_1 : String read GetEMAIL_1Value write SetEMAIL_1Value;
+ property EMAIL_1IsNull : Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull;
+ property OldEMAIL_1 : String read GetOldEMAIL_1Value;
+ property OldEMAIL_1IsNull : Boolean read GetOldEMAIL_1IsNull;
+ property FECHA_ULT_PRESENTACION_CLIENTE : DateTime read GetFECHA_ULT_PRESENTACION_CLIENTEValue write SetFECHA_ULT_PRESENTACION_CLIENTEValue;
+ property FECHA_ULT_PRESENTACION_CLIENTEIsNull : Boolean read GetFECHA_ULT_PRESENTACION_CLIENTEIsNull write SetFECHA_ULT_PRESENTACION_CLIENTEIsNull;
+ property OldFECHA_ULT_PRESENTACION_CLIENTE : DateTime read GetOldFECHA_ULT_PRESENTACION_CLIENTEValue;
+ property OldFECHA_ULT_PRESENTACION_CLIENTEIsNull : Boolean read GetOldFECHA_ULT_PRESENTACION_CLIENTEIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@@ -1060,7 +1084,7 @@ type
{ ITiposCapitulosDelta }
ITiposCapitulosDelta = interface(ITiposCapitulos)
- ['{3515E5DD-2CF2-4ED9-A717-1FE908B2D252}']
+ ['{A3BF1E30-4BE1-4DBC-94A1-0EA20C2BD85E}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldPOSICIONValue : Integer;
@@ -1154,7 +1178,7 @@ type
{ IContratosCliente_DetallesDelta }
IContratosCliente_DetallesDelta = interface(IContratosCliente_Detalles)
- ['{04D0B422-F0D9-4FF9-8BFA-67148A8EA383}']
+ ['{FF4E0A9B-4339-4B2F-B1FF-D09CE86D6D01}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_CONTRATOValue : Integer;
@@ -3867,6 +3891,68 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClientePROCEDENCIA_CLIENTE] := Null;
end;
+function TContratosClienteBusinessProcessorRules.GetEMAIL_1Value: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteEMAIL_1];
+end;
+
+function TContratosClienteBusinessProcessorRules.GetEMAIL_1IsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteEMAIL_1]);
+end;
+
+function TContratosClienteBusinessProcessorRules.GetOldEMAIL_1Value: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContratosClienteEMAIL_1];
+end;
+
+function TContratosClienteBusinessProcessorRules.GetOldEMAIL_1IsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContratosClienteEMAIL_1]);
+end;
+
+procedure TContratosClienteBusinessProcessorRules.SetEMAIL_1Value(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteEMAIL_1] := aValue;
+end;
+
+procedure TContratosClienteBusinessProcessorRules.SetEMAIL_1IsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteEMAIL_1] := Null;
+end;
+
+function TContratosClienteBusinessProcessorRules.GetFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE];
+end;
+
+function TContratosClienteBusinessProcessorRules.GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE]);
+end;
+
+function TContratosClienteBusinessProcessorRules.GetOldFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE];
+end;
+
+function TContratosClienteBusinessProcessorRules.GetOldFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE]);
+end;
+
+procedure TContratosClienteBusinessProcessorRules.SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE] := aValue;
+end;
+
+procedure TContratosClienteBusinessProcessorRules.SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE] := Null;
+end;
+
{ TTiposCapitulosBusinessProcessorRules }
constructor TTiposCapitulosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
diff --git a/Source/Modulos/Contratos de cliente/Model/uBizContratosCliente.pas b/Source/Modulos/Contratos de cliente/Model/uBizContratosCliente.pas
index 0a2bc31..fd849fd 100644
--- a/Source/Modulos/Contratos de cliente/Model/uBizContratosCliente.pas
+++ b/Source/Modulos/Contratos de cliente/Model/uBizContratosCliente.pas
@@ -15,6 +15,12 @@ const
SITUACION_CONTRATO_ACEPTADO = 'ACEPTADO';
SITUACION_CONTRATO_RECHAZADO = 'RECHAZADO';
+ CTE_TamLetraIni = 8;
+ CTE_TamLetraMin = 5;
+ CTE_TamLetraMax = 16;
+ CTE_Aumento = 1;
+
+
type
IBizContratoCliente = interface(IContratosCliente)
@@ -261,6 +267,7 @@ begin
ID_TIPO_IVA := AppFactuGES.EmpresaActiva.ID_TIPO_IVA;
FECHA_CONTRATO := DateOf(Date);
+ FECHA_ULT_PRESENTACION_CLIENTE := DateOf(Date);
INCIDENCIAS_ACTIVAS := 0;
RE := 0;
@@ -270,7 +277,7 @@ begin
ID_TIENDA := AppFactuGES.TiendaActiva.ID;
TIENDA := AppFactuGES.TiendaActiva.NOMBRE;
- Self.DataTable.FieldByName(fld_ContratosClienteFORMA_PAGO).AsString := AppFactuGES.FormaPagoDocumentos;
+// Self.DataTable.FieldByName(fld_ContratosClienteFORMA_PAGO).AsString := AppFactuGES.FormaPagoDocumentos;
Self.DataTable.FieldByName(fld_ContratosClienteOBSERVACIONES).AsString := AppFactuGES.ObservacionesDocumentos;
Self.DataTable.FieldByName(fld_ContratosClienteCONDICIONES).AsString := AppFactuGES.CondicionesDocumentos;
diff --git a/Source/Modulos/Contratos de cliente/Reports/uRptContratosCliente_Server.dfm b/Source/Modulos/Contratos de cliente/Reports/uRptContratosCliente_Server.dfm
index d96fae8..90b9c1c 100644
--- a/Source/Modulos/Contratos de cliente/Reports/uRptContratosCliente_Server.dfm
+++ b/Source/Modulos/Contratos de cliente/Reports/uRptContratosCliente_Server.dfm
@@ -205,8 +205,10 @@ object RptContratosCliente: TRptContratosCliente
'IENTE.IMPORTE_TOTAL,'#10' V_CONTRATOS_CLIENTE.PERSONA_CONTACTO,'#10' ' +
' V_CONTRATOS_CLIENTE.VENDEDOR,'#10' V_CONTRATOS_CLIENTE.TIPO_CO' +
'NTRATO,'#10' V_CONTRATOS_CLIENTE.CONDICIONES,'#10' V_CONTRATOS_CLI' +
- 'ENTE.LOPD'#10'FROM'#10' V_CONTRATOS_CLIENTE'#10'WHERE'#10' V_CONTRATOS_CLI' +
- 'ENTE.ID = :ID'#10
+ 'ENTE.LOPD,'#10' V_CONTRATOS_CLIENTE.REFERENCIA_CLIENTE,'#10' V_CON' +
+ 'TRATOS_CLIENTE.EMAIL_1,'#10' V_CONTRATOS_CLIENTE.FECHA_ULT_PRESEN' +
+ 'TACION_CLIENTE'#10'FROM'#10' V_CONTRATOS_CLIENTE'#10'WHERE'#10' V_CONTRATO' +
+ 'S_CLIENTE.ID = :ID'#10
StatementType = stSQL
ColumnMappings = <
item
@@ -340,6 +342,18 @@ object RptContratosCliente: TRptContratosCliente
item
DatasetField = 'LOPD'
TableField = 'LOPD'
+ end
+ item
+ DatasetField = 'REFERENCIA_CLIENTE'
+ TableField = 'REFERENCIA_CLIENTE'
+ end
+ item
+ DatasetField = 'EMAIL_1'
+ TableField = 'EMAIL_1'
+ end
+ item
+ DatasetField = 'FECHA_ULT_PRESENTACION_CLIENTE'
+ TableField = 'FECHA_ULT_PRESENTACION_CLIENTE'
end>
end>
Name = 'Informe_Cabecera'
@@ -488,6 +502,20 @@ object RptContratosCliente: TRptContratosCliente
item
Name = 'LOPD'
DataType = datSmallInt
+ end
+ item
+ Name = 'REFERENCIA_CLIENTE'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'EMAIL_1'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
+ DataType = datDateTime
end>
ReadOnly = True
end
@@ -1034,7 +1062,7 @@ object RptContratosCliente: TRptContratosCliente
PrintOptions.Printer = 'Por defecto'
PrintOptions.PrintOnSheet = 0
ReportOptions.CreateDate = 39065.872423495400000000
- ReportOptions.LastChange = 44126.785023055560000000
+ ReportOptions.LastChange = 45425.422046400460000000
ScriptLanguage = 'PascalScript'
ShowProgress = False
StoreInDFM = False
@@ -1206,6 +1234,20 @@ object RptContratosCliente: TRptContratosCliente
item
Name = 'LOPD'
DataType = datSmallInt
+ end
+ item
+ Name = 'REFERENCIA_CLIENTE'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'EMAIL_1'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
+ DataType = datDateTime
end>
Params = <
item
diff --git a/Source/Modulos/Contratos de cliente/Reports/uRptContratosCliente_Server.pas b/Source/Modulos/Contratos de cliente/Reports/uRptContratosCliente_Server.pas
index 75b63cf..7727d25 100644
--- a/Source/Modulos/Contratos de cliente/Reports/uRptContratosCliente_Server.pas
+++ b/Source/Modulos/Contratos de cliente/Reports/uRptContratosCliente_Server.pas
@@ -87,6 +87,7 @@ type
FVerPrecios: Boolean;
FVerTotales: Boolean;
FVerCondiciones: Boolean;
+ FTamLetra: Integer;
procedure _GenerarContrato(const AID : Integer);
@@ -97,7 +98,7 @@ type
procedure IniciarParametrosInforme;
procedure RecuperarNombresClientes;
public
- function GenerarContrato(const ListaID : TIntegerArray; const VerCondiciones: Boolean): Binary;
+ function GenerarContrato(const ListaID : TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary;
function GenerarContratoEnPDF(const ListaID : TIntegerArray; const VerCondiciones: Boolean): Binary;
function GenerarInformeListadoContratos(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
end;
@@ -490,7 +491,7 @@ begin
end;
end;
-function TRptContratosCliente.GenerarContrato(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary;
+function TRptContratosCliente.GenerarContrato(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary;
var
i: Integer;
begin
@@ -502,6 +503,7 @@ begin
FVerPrecios := True;
FVerTotales := True;
FVerCondiciones := VerCondiciones;
+ FTamLetra := TamLetra;
try
//Vamos generando todos y cada uno de los Contratos recibidos
@@ -533,6 +535,7 @@ end;
procedure TRptContratosCliente._GenerarContrato(const AID: Integer);
var
AInforme: Variant;
+ AStyle: TfrxStyleItem;
begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try
@@ -568,6 +571,11 @@ begin
frxReport.AddFunction('function PONERJUSTIFICACIONCOMPLETA(ARTFText : String): String', 'User Function','');
frxReport.ReportOptions.Name := 'Presupuesto ' + tbl_Cabecera.FieldByName('REFERENCIA').AsString;
+//Prueba para ver si se puede reducir tamaño de letra
+ AStyle := frxReport.Styles.Find('Concepto');
+ AStyle.Font.Size := FTamLetra;
+ frxReport.Styles.Apply;
+
frxReport.PrepareReport(False);
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
diff --git a/Source/Modulos/Contratos de cliente/Servidor/srvContratosCliente_Impl.dfm b/Source/Modulos/Contratos de cliente/Servidor/srvContratosCliente_Impl.dfm
index 3c58783..7989afb 100644
--- a/Source/Modulos/Contratos de cliente/Servidor/srvContratosCliente_Impl.dfm
+++ b/Source/Modulos/Contratos de cliente/Servidor/srvContratosCliente_Impl.dfm
@@ -502,6 +502,14 @@ object srvContratosCliente: TsrvContratosCliente
item
DatasetField = 'PROCEDENCIA_CLIENTE'
TableField = 'PROCEDENCIA_CLIENTE'
+ end
+ item
+ DatasetField = 'EMAIL_1'
+ TableField = 'EMAIL_1'
+ end
+ item
+ DatasetField = 'FECHA_ULT_PRESENTACION_CLIENTE'
+ TableField = 'FECHA_ULT_PRESENTACION_CLIENTE'
end>
end>
Name = 'ContratosCliente'
@@ -803,6 +811,15 @@ object srvContratosCliente: TsrvContratosCliente
Name = 'PROCEDENCIA_CLIENTE'
DataType = datString
Size = 255
+ end
+ item
+ Name = 'EMAIL_1'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
+ DataType = datDateTime
end>
end
item
@@ -1283,6 +1300,11 @@ object srvContratosCliente: TsrvContratosCliente
DataType = datString
Size = 255
Value = ''
+ end
+ item
+ Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
+ DataType = datDateTime
+ Value = ''
end>
Statements = <
item
@@ -1300,17 +1322,18 @@ object srvContratosCliente: TsrvContratosCliente
' PERSONA_CONTACTO,'#10' RE, IMPORTE_RE, RECARGO_EQUIVALENCIA, TE' +
'LEFONO, MOVIL, TIPO_CONTRATO, CONDICIONES,'#10' CALIDADES, REFER' +
'ENCIA_CLIENTE, FECHA_DECISION, FECHA_PREVISTA_MONTAJE, CAMPO_LIB' +
- 'RE)'#10' VALUES'#10' (:ID, :ID_CLIENTE, :NIF_CIF, :NOMBRE, :ID_DIREC' +
- 'CION, :CALLE, :POBLACION, :PROVINCIA,'#10' :CODIGO_POSTAL, :REFE' +
- 'RENCIA, :FECHA_CONTRATO, :SITUACION, :FORMA_PAGO,'#10' :PLAZO_EN' +
- 'TREGA, :OBSERVACIONES, :INCIDENCIAS, :INCIDENCIAS_ACTIVAS, CURRE' +
- 'NT_TIMESTAMP,'#10' :USUARIO, :IMPORTE_NETO, :IMPORTE_PORTE, :DES' +
- 'CUENTO, :IMPORTE_DESCUENTO,'#10' :BASE_IMPONIBLE, :ID_TIPO_IVA, ' +
- ':IVA, :IMPORTE_IVA, :IMPORTE_TOTAL, :ID_FORMA_PAGO,'#10' :ID_TIE' +
- 'NDA, :ID_VENDEDOR, :PERSONA_CONTACTO, :RE, :IMPORTE_RE, :RECARGO' +
- '_EQUIVALENCIA,'#10' :TELEFONO, :MOVIL, :TIPO_CONTRATO, :CONDICIO' +
- 'NES, :CALIDADES, :REFERENCIA_CLIENTE,'#10' :FECHA_DECISION, :FEC' +
- 'HA_PREVISTA_MONTAJE, :CAMPO_LIBRE)'#10#10
+ 'RE,'#10' FECHA_ULT_PRESENTACION_CLIENTE)'#10' VALUES'#10' (:ID, :ID_' +
+ 'CLIENTE, :NIF_CIF, :NOMBRE, :ID_DIRECCION, :CALLE, :POBLACION, :' +
+ 'PROVINCIA,'#10' :CODIGO_POSTAL, :REFERENCIA, :FECHA_CONTRATO, :S' +
+ 'ITUACION, :FORMA_PAGO,'#10' :PLAZO_ENTREGA, :OBSERVACIONES, :INC' +
+ 'IDENCIAS, :INCIDENCIAS_ACTIVAS, CURRENT_TIMESTAMP,'#10' :USUARIO' +
+ ', :IMPORTE_NETO, :IMPORTE_PORTE, :DESCUENTO, :IMPORTE_DESCUENTO,' +
+ #10' :BASE_IMPONIBLE, :ID_TIPO_IVA, :IVA, :IMPORTE_IVA, :IMPORT' +
+ 'E_TOTAL, :ID_FORMA_PAGO,'#10' :ID_TIENDA, :ID_VENDEDOR, :PERSONA' +
+ '_CONTACTO, :RE, :IMPORTE_RE, :RECARGO_EQUIVALENCIA,'#10' :TELEFO' +
+ 'NO, :MOVIL, :TIPO_CONTRATO, :CONDICIONES, :CALIDADES, :REFERENCI' +
+ 'A_CLIENTE,'#10' :FECHA_DECISION, :FECHA_PREVISTA_MONTAJE, :CAMPO' +
+ '_LIBRE, :FECHA_ULT_PRESENTACION_CLIENTE)'#10#10
StatementType = stSQL
ColumnMappings = <>
end>
@@ -1566,6 +1589,11 @@ object srvContratosCliente: TsrvContratosCliente
Size = 255
Value = ''
end
+ item
+ Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
+ DataType = datDateTime
+ Value = ''
+ end
item
Name = 'OLD_ID'
Value = ''
@@ -1597,8 +1625,9 @@ object srvContratosCliente: TsrvContratosCliente
'NTRATO,'#10' CONDICIONES = :CONDICIONES,'#10' CALIDADES = :CALIDAD' +
'ES,'#10' REFERENCIA_CLIENTE = :REFERENCIA_CLIENTE,'#10' FECHA_DECI' +
'SION = :FECHA_DECISION,'#10' FECHA_PREVISTA_MONTAJE = :FECHA_PREV' +
- 'ISTA_MONTAJE,'#10' CAMPO_LIBRE = :CAMPO_LIBRE'#10' WHERE'#10' (ID = :' +
- 'OLD_ID)'#10#10
+ 'ISTA_MONTAJE,'#10' CAMPO_LIBRE = :CAMPO_LIBRE,'#10' FECHA_ULT_PRES' +
+ 'ENTACION_CLIENTE = :FECHA_ULT_PRESENTACION_CLIENTE'#10' WHERE'#10' (' +
+ 'ID = :OLD_ID)'#10#10
StatementType = stSQL
ColumnMappings = <>
end>
diff --git a/Source/Modulos/Contratos de cliente/Servidor/srvContratosCliente_Impl.pas b/Source/Modulos/Contratos de cliente/Servidor/srvContratosCliente_Impl.pas
index bfa7bd7..63b08e1 100644
--- a/Source/Modulos/Contratos de cliente/Servidor/srvContratosCliente_Impl.pas
+++ b/Source/Modulos/Contratos de cliente/Servidor/srvContratosCliente_Impl.pas
@@ -33,7 +33,7 @@ type
procedure DARemoteServiceCreate(Sender: TObject);
protected
{ IsrvContratosCliente methods }
- function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary;
+ function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary;
end;
@@ -78,13 +78,13 @@ begin
ConnectionName := dmServer.ConnectionName;
end;
-function TsrvContratosCliente.GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary;
+function TsrvContratosCliente.GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary;
var
AReportGenerator : TRptContratosCliente;
begin
AReportGenerator := TRptContratosCliente.Create(nil);
try
- Result := AReportGenerator.GenerarContrato(ListaID, VerCondiciones);
+ Result := AReportGenerator.GenerarContrato(ListaID, VerCondiciones, TamLetra);
finally
FreeAndNIL(AReportGenerator);
end;
diff --git a/Source/Modulos/Contratos de cliente/Views/uEditorContratoCliente.dfm b/Source/Modulos/Contratos de cliente/Views/uEditorContratoCliente.dfm
index 4fa10b2..18c8f0a 100644
--- a/Source/Modulos/Contratos de cliente/Views/uEditorContratoCliente.dfm
+++ b/Source/Modulos/Contratos de cliente/Views/uEditorContratoCliente.dfm
@@ -201,15 +201,17 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
ExplicitWidth = 858
ExplicitHeight = 445
inherited edtFechaContrato: TcxDBDateEdit
+ Left = 155
Top = 84
+ ExplicitLeft = 155
ExplicitTop = 84
ExplicitWidth = 129
Width = 129
end
inherited memObservaciones: TcxDBMemo
- Left = 464
+ Left = 474
Top = 330
- ExplicitLeft = 464
+ ExplicitLeft = 474
ExplicitTop = 330
ExplicitWidth = 404
ExplicitHeight = 139
@@ -217,25 +219,30 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
Width = 404
end
inherited eReferencia: TcxDBTextEdit
+ Left = 155
Top = 30
+ ExplicitLeft = 155
ExplicitTop = 30
ExplicitWidth = 122
Width = 122
end
inherited cbFormaPago: TcxDBLookupComboBox
- Top = 192
- ExplicitTop = 192
+ Left = 155
+ Top = 219
+ ExplicitLeft = 155
+ ExplicitTop = 219
ExplicitWidth = 122
Width = 122
end
inherited bFormasPago: TButton
- Left = 304
- Top = 192
- ExplicitLeft = 304
- ExplicitTop = 192
+ Left = 314
+ Top = 219
+ ExplicitLeft = 314
+ ExplicitTop = 219
end
inherited cbSituacion: TcxDBImageComboBox
- Top = 138
+ Left = 155
+ Top = 165
Properties.Items = <
item
Description = 'PENDIENTE'
@@ -250,51 +257,54 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
Description = 'RECHAZADO'
Value = 'RECHAZADO'
end>
- ExplicitTop = 138
+ ExplicitLeft = 155
+ ExplicitTop = 165
ExplicitWidth = 260
Width = 260
end
inherited memFormaPago: TcxDBMemo
- Top = 270
- ExplicitTop = 270
+ Top = 297
+ ExplicitTop = 297
ExplicitWidth = 396
ExplicitHeight = 100
Height = 100
Width = 396
end
inherited memPlazoEntrega: TcxDBMemo
- Top = 365
- ExplicitTop = 365
+ Top = 378
+ ExplicitTop = 378
ExplicitWidth = 396
ExplicitHeight = 100
Height = 100
Width = 396
end
inherited cbVendedor: TcxDBLookupComboBox
- Top = 219
- ExplicitTop = 219
+ Left = 155
+ Top = 246
+ ExplicitLeft = 155
+ ExplicitTop = 246
ExplicitWidth = 27
Width = 27
end
inherited cbTipoContrato: TcxDBComboBox
- Left = 339
Top = 84
- ExplicitLeft = 339
ExplicitTop = 84
ExplicitWidth = 113
Width = 113
end
inherited edtlREF_CLIENTE: TcxDBTextEdit
+ Left = 155
Top = 57
+ ExplicitLeft = 155
ExplicitTop = 57
ExplicitWidth = 335
Width = 335
end
inherited frViewClienteContrato1: TfrViewClienteContrato
- Left = 464
+ Left = 474
Top = 30
Width = 357
- ExplicitLeft = 464
+ ExplicitLeft = 474
ExplicitTop = 30
ExplicitWidth = 357
inherited dxLayoutControl1: TdxLayoutControl
@@ -357,10 +367,10 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
Width = 707
end
inherited edtCodigoPostal: TcxDBTextEdit
- Left = 279
+ Left = 269
Top = 176
DataBinding.DataSource = dsDataTable
- ExplicitLeft = 279
+ ExplicitLeft = 269
ExplicitTop = 176
end
inherited Button1: TBitBtn
@@ -376,9 +386,9 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
ExplicitTop = 11
end
inherited Button3: TBitBtn
- Left = 169
+ Left = 159
Top = 230
- ExplicitLeft = 169
+ ExplicitLeft = 159
ExplicitTop = 230
end
inherited cxDBTextEdit1: TcxDBTextEdit
@@ -392,26 +402,43 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
end
end
inherited edtFechaDecision: TcxDBDateEdit
- Top = 111
- ExplicitTop = 111
+ Left = 155
+ Top = 138
+ ExplicitLeft = 155
+ ExplicitTop = 138
ExplicitWidth = 115
Width = 115
end
inherited edtFechaPrevMontaje: TcxDBDateEdit
- Top = 165
- ExplicitTop = 165
+ Left = 155
+ Top = 192
+ ExplicitLeft = 155
+ ExplicitTop = 192
ExplicitWidth = 295
Width = 295
end
+ inherited edtFechaUltPresentacion: TcxDBDateEdit
+ Left = 155
+ Top = 111
+ ExplicitLeft = 155
+ ExplicitTop = 111
+ ExplicitWidth = 106
+ Width = 106
+ end
inherited dxLayoutControl1Group_Root: TdxLayoutGroup
inherited dxLayoutControl1Group8: TdxLayoutGroup
inherited dxLayoutControl1Group1: TdxLayoutGroup
inherited dxLayoutControl1Group11: TdxLayoutGroup
- inherited dxLayoutControl1Item2: TdxLayoutItem
- Caption = 'Fecha:'
+ inherited dxLayoutControl1Group10: TdxLayoutGroup
+ inherited dxLayoutControl1Item2: TdxLayoutItem
+ Caption = 'Fecha:'
+ end
+ inherited dxLayoutControl1Item7: TdxLayoutItem
+ Caption = 'Tipo presupuesto:'
+ end
end
- inherited dxLayoutControl1Item7: TdxLayoutItem
- Caption = 'Tipo presupuesto:'
+ inherited dxLayoutControl1Item15: TdxLayoutItem
+ Caption = 'Fecha '#250'ltima actualizaci'#243'n:'
end
end
end
@@ -454,19 +481,19 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
ExplicitLeft = 334
ExplicitTop = 0
end
- inherited FontSize: TEdit [5]
+ inherited FontName: TJvFontComboBox
Left = 0
- Width = 110
ExplicitLeft = 0
+ end
+ inherited FontSize: TEdit
+ Left = 145
+ Width = 110
+ ExplicitLeft = 145
ExplicitWidth = 110
end
- inherited UpDown1: TUpDown [6]
- Left = 110
- ExplicitLeft = 110
- end
- inherited FontName: TJvFontComboBox [7]
- Left = 127
- ExplicitLeft = 127
+ inherited UpDown1: TUpDown
+ Left = 255
+ ExplicitLeft = 255
end
inherited ToolButton13: TToolButton
Left = 272
diff --git a/Source/Modulos/Contratos de cliente/Views/uEditorContratoCliente.pas b/Source/Modulos/Contratos de cliente/Views/uEditorContratoCliente.pas
index 3cd361a..7071b99 100644
--- a/Source/Modulos/Contratos de cliente/Views/uEditorContratoCliente.pas
+++ b/Source/Modulos/Contratos de cliente/Views/uEditorContratoCliente.pas
@@ -277,6 +277,12 @@ begin
frViewDetallesContratoCliente1.BeginUpdate;
try
bEsNuevo := FContrato.EsNuevo;
+
+ if not bEsNuevo then
+ if (FContrato.FECHA_ULT_PRESENTACION_CLIENTE < Date) then
+ if ShowConfirmMessage('Cambio fecha actualización', '¿Desea cambiar la fecha de última actualización del presupuesto por la de hoy?') = IDYES then
+ Controller.FechaUltimaActualizacionToday(FContrato);
+
//GESTION_DOCUMENTOS
if FController.Guardar(FContrato) then
frViewDocumentosContratoCliente1.actActualizarServidor.Execute;
@@ -286,6 +292,7 @@ begin
frViewDetallesContratoCliente1.RestoreGridStatus;
HideHourglassCursor;
end;
+
if bEsNuevo then
ShowInfoMessage('El Contrato se ha dado de alta con el código ' + FContrato.REFERENCIA);
diff --git a/Source/Modulos/Contratos de cliente/Views/uEditorContratosCliente.dfm b/Source/Modulos/Contratos de cliente/Views/uEditorContratosCliente.dfm
index 1f93191..e061a3f 100644
--- a/Source/Modulos/Contratos de cliente/Views/uEditorContratosCliente.dfm
+++ b/Source/Modulos/Contratos de cliente/Views/uEditorContratosCliente.dfm
@@ -3,7 +3,7 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
ClientHeight = 551
ClientWidth = 1119
ExplicitWidth = 1127
- ExplicitHeight = 585
+ ExplicitHeight = 595
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
@@ -126,7 +126,7 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
Width = 1119
ExplicitWidth = 1119
inherited tbxMain: TTBXToolbar
- ExplicitWidth = 894
+ ExplicitWidth = 1119
object TBXSubmenuItem3: TTBXSubmenuItem [0]
Caption = 'Nuevo'
DisplayMode = nbdmImageAndText
@@ -157,7 +157,7 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
end
end
inherited tbxFiltro: TTBXToolbar
- ExplicitWidth = 481
+ ExplicitWidth = 535
inherited lblAno: TTBXLabelItem
Visible = True
end
@@ -194,11 +194,11 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
end
end
inherited TBXTMain2: TTBXToolbar
- Left = 481
+ Left = 535
DockPos = 343
Visible = True
- ExplicitLeft = 481
- ExplicitWidth = 430
+ ExplicitLeft = 535
+ ExplicitWidth = 543
object TBXItem50: TTBXItem
Action = actLOPD
DisplayMode = nbdmImageAndText
@@ -255,10 +255,6 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
inherited actImprimir: TAction
Visible = True
end
- inherited actExportarExcel: TAction
- Enabled = True
- Visible = True
- end
object actGenerarAlbaranCli: TAction
Category = 'Acciones'
Caption = 'Generar albar'#225'n de cliente'
diff --git a/Source/Modulos/Contratos de cliente/Views/uEditorContratosCliente.pas b/Source/Modulos/Contratos de cliente/Views/uEditorContratosCliente.pas
index 48589c8..485aa70 100644
--- a/Source/Modulos/Contratos de cliente/Views/uEditorContratosCliente.pas
+++ b/Source/Modulos/Contratos de cliente/Views/uEditorContratosCliente.pas
@@ -676,7 +676,14 @@ end;
procedure TfEditorContratosCliente.ModificarInterno;
begin
inherited;
- FController.Ver(Contratos);
+
+ if (Length(Trim(Contratos.FACTURA_ASOCIADA)) > 0) then
+ begin
+ if (ShowConfirmMessage('¡Atención!, el presupuesto tiene al menos una factura asociada, "no debería modificar nada", antes hablar con Mónica.', '¿Desea continuar?') = IDYES) then
+ FController.Ver(Contratos);
+ end
+ else
+ FController.Ver(Contratos);
end;
procedure TfEditorContratosCliente.NuevoInterno;
diff --git a/Source/Modulos/Contratos de cliente/Views/uEditorContratosClienteReport.dfm b/Source/Modulos/Contratos de cliente/Views/uEditorContratosClienteReport.dfm
index bfaf51d..a362d4b 100644
--- a/Source/Modulos/Contratos de cliente/Views/uEditorContratosClienteReport.dfm
+++ b/Source/Modulos/Contratos de cliente/Views/uEditorContratosClienteReport.dfm
@@ -3,18 +3,1199 @@ inherited fEditorContratosClientePreview: TfEditorContratosClientePreview
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
+ Top = 49
+ ExplicitTop = 49
inherited Image1: TImage
ExplicitLeft = 768
end
end
inherited TBXDock: TTBXDock
+ Height = 49
+ ExplicitHeight = 49
+ inherited tbxMain: TTBXToolbar
+ Left = 592
+ Top = 23
+ DockPos = 0
+ ExplicitLeft = 592
+ ExplicitTop = 23
+ end
inherited TBXToolbar1: TTBXToolbar
- ExplicitWidth = 540
+ DockPos = 0
+ DockRow = 1
+ ExplicitWidth = 592
object TBXItem58: TTBXItem [1]
Action = actExportarRTF
DisplayMode = nbdmTextOnlyInMenus
Images = SmallImages
end
+ object TBXItem59: TTBXItem [3]
+ Action = actAumentarTamLetra
+ DisplayMode = nbdmImageAndText
+ Images = PreviewSmallImageList
+ end
+ object TBXItem60: TTBXItem [4]
+ Action = actDisminuirTamLetra
+ DisplayMode = nbdmImageAndText
+ Images = PreviewSmallImageList
+ end
+ inherited TBXSeparatorItem16: TTBXSeparatorItem [5]
+ end
+ inherited tbxMano: TTBXItem [6]
+ end
+ inherited tbxZoom: TTBXItem [7]
+ end
+ inherited TBXSeparatorItem6: TTBXSeparatorItem [8]
+ end
+ inherited TBXItem51: TTBXItem [9]
+ end
+ inherited TBXItem42: TTBXItem [10]
+ end
+ inherited TBXItem41: TTBXItem [11]
+ end
+ inherited TBXSeparatorItem14: TTBXSeparatorItem [12]
+ end
+ inherited TBXItem40: TTBXItem [13]
+ end
+ inherited cbZoom: TTBXComboBoxItem [14]
+ end
+ inherited TBXItem37: TTBXItem [15]
+ end
+ inherited TBXSeparatorItem17: TTBXSeparatorItem [16]
+ end
+ inherited TBXItem7: TTBXItem [17]
+ end
+ inherited TBXItem34: TTBXItem [18]
+ end
+ inherited TBXItem33: TTBXItem [19]
+ end
+ inherited TBXItem36: TTBXItem [20]
+ end
+ object TBXSeparatorItem21: TTBXSeparatorItem [21]
+ end
end
end
+ inherited SmallImages: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000001754944415478DA6364C001D6ECBE900CA4E640B9
+ 2921AE0673B1A963C4A739C8598FE1DB8FDF0C33966C67505054C06A08232ECD
+ 3EF6BA0C250B7F315C7FF88F6179E15F86456BF76135841197CD79737F324C4E
+ E1008BF345BC63B833959561F13A4C4318D13507BBE833E4CEF9C160ACC1C290
+ 60C30296734D5FCD70F2A333564318B1D90CD20C02D72E9C04D33C92A60CAFDF
+ FF6358B8E71B86218CE87E866986D90E738186A92FC397EF0C0C6B8FA21A0232
+ E03FBACD5FBEFF07E30A3F36B801323ABE0C3F7FFF67F8FE938161EFC5EF7043
+ C00678586B32F8B7FD61887167836BFEF59B81A12E186180A8BA0F58F3E76FFF
+ 194EDDFE0136A07DDA1AB001C90FEE3F98131BE4C4A092FD9BA12A8A07AC19E4
+ 67582C800CE051F0C1D06C636994020F44902171214E0CCA99BF19E25DB8E09A
+ 91C301161330CDE040448E46649764D85C473160C6114D0CCD581312B221CEFA
+ 9C589D8D3521E13204047069C69B99608680002ECD380D4036E4C98B77383583
+ 000005100EB8572466A60000000049454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001074944415478DA
+ 63FCFFFF3F032580912A06303232E2543079D1766F201505C520B02C37CE331A
+ C400EBC5670054F3960057330631617E0690B2F357EF336CDA7786A1B5289211
+ AF01C89A254505183E7FFDC1F0F5DB0F06311101A021F7184E5DBA733927D643
+ 0FAB01E89ADF7EF802D6FCF5FB4F866F406CA6AFC21095DBC6B06C7215238601
+ C4689EB27807C3B153E7300D2056F38B371F18B62EDA79EDFCF9F9DA700348D4
+ CC70E1C2024420022548D68C128D40C906A0E67A5234631860A6A752AF202346
+ B466740396C2521AD020B0A49EA622C39C95BB716AC64889C0405C0A541C2501
+ 4C2830804F33D6A40C8A09A0A62DF7EEDD03F3AF1FB98D372301A39191E2DC08
+ 0029AC32F01825AACD0000000049454E44AE426082}
+ Name = 'PngImage2'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001514944415478DA
+ 635CB5E3DC7F062C20CCC388918108C0083220D4DD104570F5CEF30CEDFDB319
+ CEEF9C4ED0109C06D818AB3278C7941134046E40CBAA0760819A3005B80B6000
+ 9F21182EF8F1F30F10FF86E05F7F1882926B883300E60264C0C1805D5F69B802
+ 238601E836FF04E2CDA7BF339484C9A368EE59F59261D9C1BB0CE7A75933C20D
+ F0B4D56698B0E5195617601AF09021DA4998C1297307C38D35A18C60031CCDD4
+ C036FF84DAFCE7EF3F307DF0FA7FB001112D57C09A57D4E8800D98BBFA346A18
+ 58EA2BC235C39C0FC2671EB0A2B8E0DBCF7F0C5F7FFE05E27F60B65DE26C8801
+ 7316ADC11A58AEFE69282E4009C8284506F7F4B90C781349F7CA07FF4106A0DB
+ FCFD171003E980BCF9840D48F5916148EFBB8E2197EC2BCB1059B290B001512E
+ 92609BC1B602F1EF3FFFC1F437204EAE5A4CD8007F5B71B8E66F480681407AED
+ 12C20674CCDE884F0903000B1A00979E81F9710000000049454E44AE426082}
+ Name = 'PngImage3'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000E9C00000E9C01079453DD000002574944415478DA
+ 63FCFFFF3F03258011D9004646468696696B17FFFECAD0DE581A7C0D596155CF
+ 0AF77F7FFFD975944755A3E8413760EA929DAF393938D62785D8A7C1C48BBB17
+ 711BABAB5C7AF9F6FDDFC2446F354206BC75B6D4E35ABCFE90536B49F87190F8
+ E4853B2779DA1BE46EDE7FE62ED00015BC06F4CFDBBA24CACF26FAD0A99B5B42
+ BDCC7C6BFA563B057B986FFDFDE72FC7D20D072B26D62574E235A0A26DA999B0
+ 98E0F2607713F9251B8E85692A4B5698E9AB9AAEDA7EE2DEBB571F3DDAAB226F
+ E33500044A3B979507B898B6BF78F3FEA3B1B612FF992BF7FF1F3975336E425D
+ CC52903C4103EAEBEB5998450D8FAA2A889BC94888306CD977664D675964284C
+ 1D0103EA99F8DDF50C8CD439E3FFFE67CB7DFFE9DB1F7E3E9EC637DF5977DC98
+ B3E73C0343E33F9C0670B8AC555292175BC8F6FF9BEEDF6FEF995E7DF8F95941
+ 55EDE5AB17AFBEFCFAC7C2F1ECC5FBEF0C4C4C89FF0F47DDC36A8056F2A103FF
+ DEDEE465FBFFB5F1D577EECB8C8CFFF72AAA6A7CFFF4F842CED54D7907184CE7
+ 4631B0B227FC3F1AE38AD5008D981DDFD9BEDE48BABCA1703983DE226E09891F
+ D754B4756F7DBC7FBAEFF286BCED0C32BD9C0CB222B7FF1F8B93C16A805ED2EE
+ D74CEFAF445FDC50B48BC172858E34DFFB6582B2DAFB38BEDCFC7166456A0583
+ CE0471063EA103FF8FC66A623540C063F55669B6E747AE3DE3E861E5E158A9C8
+ FBF1D1FD6F628BF4147977FC7A79D3E3F2736E39060E9E84FF47A202B0C782ED
+ 627356C6FF935998FEB349737FB9FE95E975F2F32D8DDF98EC9647B1FCFF55F0
+ EB1FD31FA08EC2FF87634F6235801C0000382740F0DFD997BD0000000049454E
+ 44AE426082}
+ Name = 'PngImage4'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A000002854944415478DA
+ A5935D48536118C7FFAFDB8CCD557E7F34B33167F9119617A91596495D781304
+ 451021A651362821B1ABA49B6EA4460961D88542055D84DD6545415992174994
+ 9625CC8F9C329D9B5F3BE9CED9D9797BCEA1C932A3A0079EC3CBE13CBFE7FF7F
+ 9FF330CE39FE2798FAB80BA4E61559EB2551E67B07279AE8D51FA98F2CC99546
+ 031A3D6E5FF329993F631D80B52227A6D7929F9BAEA459D1D73BE8DC3330D6B8
+ 1AD206641414DA5A6224E1E8ECA47779660955D532EF642F1371BD74331A14FA
+ 9C27A4439F5D88777DAE1B65FD230D11485786B9363D65FD35C1EB4B9817427E
+ 9F80C335C05BD53E23B2A934132FB23662B71406C2B14698F38AF0E9EB9473E8
+ E3C8655BD686D6F858A5DA3F27B04511E37E0195B5C0A00AD6003FE5259758F0
+ 3AD1843C15125218CCB6AD707FF34EAC93973217041154ECF608D8770E188BD8
+ 5A01A8A1DEC5F60CF4980CB0A890E8A47AFFF477EC3F037C8EBE975F006ADC37
+ 60A7351E3D061DE222C522A5270047AD82DBAB27B21AC09EDA373525E9A52BCB
+ 7E5F4CB4822509BE80848AB3C0C09A806380EE7CA1BDC55EB4CDE17AF2984932
+ 75A60CCA088739742A84CE1E49C1010730F41BA03B27CD595C517CB1FFF92B04
+ E6035AF142101DCB12DA743AB413243FA468331D0F01E51780D1154057AAF148
+ D92E7BE794778E8DB92634C901116FA6451CAA27214EC06802AE5227AA839ED2
+ 45A0729AC6A406182DD9329C10A7B7F57D18D63A93DF99D92076905F4FB4DF56
+ A08C20ED9476027CD1209C7BD9FBDC947BC1C0E2C9596A4B003E27E2F8E9301E
+ AEB507B700334968A6631D019C759C5F627780822413BA194312CDFB41958C13
+ 7FDB4052739000430ECEDD913F313B568F9B8B326AC8F7CCBFAEB27A073F0058
+ 5538F0EAB25B380000000049454E44AE426082}
+ Name = 'PngImage5'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001934944415478DA
+ 6364C002662430FC47E6672C606064C001C0122726A06AB870818121A1632A98
+ 5D169DCD10E58B90B32840358C11A4D920622A5C604145365833482308D4F5E6
+ 3134154F62A8EE4805F35B2B66334CDA8B3004C50098E62F2F6E823581347F7F
+ FB80E1E58DBD0C8BD67D6588F6656258BAF91F7E03AE3D66C009081A800CD61F
+ B161C0072243F419711AF0F7F777864D275D192282F5B06A5EB1F23C43D7FCD9
+ 0CE7774E67C43000A41984B79EF3C36AC08F9F7F18366CB8CC10116EC860E491
+ 85EA0298E6BFBFBE33ECB8120E36C071E64DB8E6ED09CA40037E33ECD87E03EC
+ 02142F206BFEF7FB07C3AE9BF1282E00D90CD20CC6BFFE30EC3B719561CAECE5
+ 100374837B503483E8BDF733305C000333DC04198E9EBB893040CBAF1945F3DF
+ 3FDF190E3C2E041B806EF34F283E73E52EC200758F2A865B3B3A506CB927739E
+ C1C75383C177F17D0C17745971325CBEF51062004820CF19352F808065E64506
+ 172748A0C16CFDF3F71F9806B9E4F683A70803B081E56B2EFEB7B19663D875F4
+ 32CEC444D080AED9331808010085EE16005695A1DA0000000049454E44AE4260
+ 82}
+ Name = 'PngImage6'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000002164944415478DA95D35F4853511CC0F1EFD491DD
+ D9587F2C83AC8C328DFE4949908BC0AC142A147BC8077B88A01EECA5E718F958
+ 410486C384B50A1F7A991023CBEC0F594F81E5D4C211E130D7D4DDCDA15B5EEF
+ DD5DD74B1B8EA9D90FCEC3EFC0EFC3EF9CF33B06FE46CBE3AE042B886B176B0C
+ 0B73C342A0A9B17AD9E2FB4F5EE0E878C6E79776C37F03AAAAD2DAD1CDDEDD3B
+ B96EBB9B425604CC17CB8A4AFBD31EEA6BAC0CFF08A4907F02C962598EE374BD
+ D58F908C2581442241603C8CCBFD89D86C9C9C9C1C0A365A282DDE446FDF37E6
+ AB9277B128F02B10C6DDF385CD074B10D6593019211E9CC2EF1DA5A0C0821895
+ 68BE6D5F1A6873BEA6D07A0879951945CD626B1E6C372978BD7EBC5F4710D608
+ DC6A712C0EC84A9C7B6DDDECAF3B459E315B3B3B685B9835448DCD30F4BE0FC1
+ 94CB9D56672670A5E1A47E590F1EBDE374C3091D88CD4120063359902B4719F9
+ D88F201835E0612670E97CA5DE41578F870A6B296BD79B096BC0B8B6C4DF3252
+ 4024E81960832071B3FD7926D0587B5C7F32DFE8243FC74214EDD906AB4D4C29
+ 1011230487BC1419BFB32BE8E06CE7BE4CE0C299637A07B3928CCF37816F4CD4
+ F2040943365234823134C8E1FC094A8A8D4C0DF6B2E5EA8774A0BEFAA80E283A
+ A21012A791E6E6B4618249FF08AFEC97292B2CA7B64221BFAC9C90E74DFA289F
+ AB3A42FFB07FD90FE5B255A510B754379D062C1CD3E5E240AC931D9537B03537
+ 19FE00839434866373C4BA0000000049454E44AE426082}
+ Name = 'PngImage7'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000001724944415478DA6364A0103062135CB1E2C26E20
+ E5824F63448401235603809AA381D412374F5506413E2EB0D89FBFFF187EFFF9
+ 0BC62F3EFD6728A999C0B0795E15A60150CD1540CD3A7B4FDCC5B0D5D94299E1
+ CAD3BF0CDD3D53F280064CC666C06EA066176C36FF05B25F7F6544B11DC50098
+ D3C3C3F519D6ECBA8C61BBBDA922C38D17FF41B6C384B6020DF261846AFE0FA4
+ AE809C0EB21DDD6610FFCF9F7F0CE91553194CF49518A4558D1836AE59037609
+ 23C8E6AB4F2E2C2136DAE4B5AC186E9CD9C570F3C1278801B53D0BFE3715C7E3
+ D4F0E5C75F86CFDF8118487FF9F18F61C3BA350C12CA260C3B366F4218408CCD
+ 17AE3D03D3065A520CEC42AA0C278F1CC4EF02749BBF82F0CFBF0CC7F66E64F8
+ C92AC970FDE259DC06A06BAE3DEFC390ABB49EE1FEB5530CCF9F3F6778FA919D
+ E1F5D3FBD80DC066F3AC743D8680EEB30CAFEE9E61D8BEF72C4CA90CD080A770
+ 03A62FDB45542C400D006B062724DFA4366920FD84D86844D68C9212C905001F
+ 16FA1194E3DBC30000000049454E44AE426082}
+ Name = 'PngImage8'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD2520000015F4944415478DA6364A000FC3060F8CF884D62C5
+ 8A0BBB81940BB258E7FC99286A8EBF9CCEC06EE4C5C088457334905AE2E6A9CA
+ 20C8C70516FBF3F71F8399770E44D3F9FF0C3F0D19219AE76D6364C4A2B902A8
+ 5967EF89BB2806B7F54D6738E7C4C1F073793F58B3D1537986F33BA76318B01B
+ A8D905D9E6DF7FFE82B1437011C3B91DD31818BA8AC07246FB7EA01A00737A78
+ B83EC39A5D9731C205E40274003700A8F93F90BA02723AC876649BFF02D920FE
+ 9F3FFF18D22BA63298E82B3148AB1A316C5CB38661F5B92A064690CD579F5C58
+ 4228CAB6EC3E893D166A7B16FC6F2A8EC7A9F1CB8FBF0C9FBFFF65F08E2CC01E
+ 0B20038849342017608D055C2E80D9FC19487FF9F18F2125B3147B2C6033005D
+ 73ED791F86E7B334B1C702BA01E89ABF02F1AC743D8680EEB30CAFEE9E61D8BE
+ F72C4CA9CCE679554FE1064C5FB68B98A0801900D60C6230FA26B54903E92744
+ E946B219C661244123560000C9AFE6B31530CB2E0000000049454E44AE426082}
+ Name = 'PngImage9'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000016A4944415478DA
+ 63FCFFFF3F03082CDD7212C22000627C2D18616C905E466403A27DCCF16A06AA
+ 61E89DB290E1FCCEE98C241BF0EFDF3F86E5DB4E33488B093314D5F5810D21DA
+ 0090E6DF7FFE31ACD97596C1C9429BE1E6BD176043CEED98C688D3804D0F0E30
+ F45E6A02B37779EC62E05CC0C6B058EA38D80B3080D30090E6805D4E182E7911
+ FC91E1C4E5C70C8F1E3F6298B774137603609AFFA4FC013B1B64738BB13743CD
+ D9AD0C8FFDDF81C5B6EC3B85DB00A6594C289A91C13DEF3740F1BF0C3B0F9DC5
+ 6D0048C1EFDF7F21F49F7F50FA2FC31F181F2877E0E445EC068479988015F02C
+ E640B1F98EE72BB066CDDD120C676D1E311C3D7B05BB0181CE8660DB049773C3
+ FD8DAC3957BB80219A379FE1D4C5EBD80DF0B1D7032B165BCD8B110330CD200B
+ CE5FBD85DD00776B1DB002E9F502609B13CF8781E50C840DE09A41165CB97907
+ BB014EE69A1801060B44986610C06980ADB11AC3A63D2789C994D80D404EA6C4
+ 0090010087546EF0ACB0C7920000000049454E44AE426082}
+ Name = 'PngImage10'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001024944415478DA
+ 63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3
+ C493AF1EDC305B3E7F1A2323BA66090111A9272F9F301CD9BE99119701110999
+ FF416A0E6FDB843000A4F9CFCF1F52F834C2808DA72FD8DF700348D18C6C08D8
+ 004B77AF69F292F299308987CF1F4E979256DEB076DEE45D207E7052AEDBB3A7
+ 770390D58000DC0B20FFCC98D0CE70E1053FC3DBBF3F191E7F66603831A310C5
+ B6E533A6311C7CC080228F624046C534B82408AC690C856B9611976140970719
+ 20ACA0CB30A53E13624068693F5CF2F2E3F70C37E7A5C163019BFCD7AD4D0C2B
+ 164C07A72146981F999998C17EFCFBEF2FD630C0260F3660C0933200BCB3BCE1
+ CDA578040000000049454E44AE426082}
+ Name = 'PngImage11'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001C04944415478DA
+ 63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
+ 1BA234FDF9FB8FE1F79FBF60EC105CC4806200A3E14C86FFE7D3C13408E0627F
+ 3C12CF70ECEC0D86AAB659D80D4007FF806AFEFC41D80CC2672FDFC1340019C8
+ 7A2C6178F2F22B98ADAE20C0D09869CCE06E29CD2068B788E1D9AE48868BD7EF
+ 117601C8E673D7DF309846AF6310E66767B8BE3E8441CC6929C3C36D610CD76E
+ 3FC46DC0CBB7DF19EA679C613870E619C3C3679F197EFCFA0B36106433C8F97F
+ 80F8D6FD27B8BD1053BD8F61E9B6DB0C0B9B1C181C4C2518E43D5780C54136CB
+ 7BAD62B8B12E90E1FEE367D85DF0F75C1A836FDE0E866D471E315C5A15CCF0F1
+ CB4F06DBA42D6003EE6E0A6650F65BCB7061B90FC3F357AFB11BF0F3540AC3B1
+ 8B2F18A2ABF6313C7BFD8DC1C14412E895E76003AEAEF6077B4123528661FFC4
+ F3A806C4F859C1A30839CAE0ECDF10BE41E416860F7F32188E4F453320DCCB9C
+ 81CB621ED8A6177BA218245C9681D9B7360431A805AC03B37F306430FCF8C3C0
+ F0E61B0483D8700382DC4CF0DAFC1B498EDD5785E1FD4A3417F83919319CBA78
+ 8BA8FCF0DFCF908171139201A0DC3871C6529273637E46740C00F128724C706C
+ 80060000000049454E44AE426082}
+ Name = 'PngImage12'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000E9C00000E9C01079453DD000002324944415478DA
+ 63FCFFFF3F03258011640023232386C4922BFF0D9818FFC57EFFFE57FDEFBFFF
+ CC8CFF19BEF0F1B36D5C73E9EAAAD5613ABF60166318505FFF9F4939F077F98B
+ 97BF6BEFDCFEC6F9EDDB3F86BF7F810A9918192424D9FEF3F1B32FBFFA93236E
+ 5528C35FB8018D9B7E2C6DF0E38859759581F5E7BF3FD36EDEF89AF4E51B03E3
+ B72F7FC0867EF8F897E1EF3F06867F40ACA1C9F96FE392D5BA5737265D831BE0
+ 58F9F0BF83A5F83245796696CB973E87FEF9C70CD6FCE2D92B86E78F6EFCFCF7
+ EFEF17360E5E4151590326666626067D7DDE65F57E1CD12806288BB3FF676567
+ 66E0E062036B7EFEF425C39307576E8A2A19B9EE6A557DA217B2A88E9B5FBA41
+ 405C87C1DC9CEF01D0004514031444391804843918409ADFBFFFCE70E7EA91FB
+ 9F3FF06BDED9E1F513A450357481341FBBD03D611973362B4B2C067CF8C1C060
+ A020C0F0E3FB4F86CF1FDEBCBE7FFD84C3B54DC9D760812B13DACB29CAAAF84A
+ 58C69AC7C61A8B01CF9FFF61E014646190E365627870FD40C3A535718DC8D1AA
+ E2B1988F5788E7B998823597A5392FA6010C1F1EC0157FF8F081E1DF9F4F0D1C
+ EC6AFDA7965A7C02899924ED550746C555793523665D1D2ED440C49690D08149
+ D2A9764E3ED90A037DEEFF3696BC7161EA0C4B8836402FF6A41A37AFF0690E2E
+ 7E3E7B5B9E65C08494084C48BF8832402BF40A0F8F30DB3E0E2E4153277B9E65
+ 0DFE9C60A7E34CCA280098ACCDDF3C5A2925C913ACAFCBB51CA6997803ECF7B3
+ 301C74FC834D0AC5004A000026261CF09ABF155A0000000049454E44AE426082}
+ Name = 'PngImage13'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A000002E64944415478DA
+ 8D936B4893511CC6FF67DA74BAC9BC9478C9357338CC4B0EBC1709F929A25414
+ A13E48082D8CFC20267E1B925DD004B3120C75919AA99B5DADD485E56DA2791D
+ 739ABA2D9DB7A953379D6EEF5EDFDE14859C810F3C5F0ECFF33BFFF38783E0FF
+ 425902A13B668448DCB4C5B658709C40D8F0A4563120A97FB1B61F3AAC291008
+ EDB1630ED7ECECA97C6F7F6FAEABB72BCDB46902B54CAD5BD4CCF7AAC68772C5
+ 6F8A06C8286E05484EAEB3F10BB6A49FE2B2F2C2628318E0C440063300410050
+ 910596D4B344F7BBB63169FBA7B4D6E65AA915205320E47A9EF4ECB89A7CCE85
+ CDA021950141E2BD2E9049645029E683BB3301EB2AE5F657E15B4955457EAA15
+ 205B5095CD8BE33D0C8BE0523C1002B50120E5C12EE03509D8A60078386EC1B7
+ F2066DA3A89C8FFE1DBF9076CADFADFA4A467C829E70829C82AE43B79B97150D
+ B3522956F3F4C9B3030001DD87C3AE49C84CBCBC646640FCA5D29DF3A0B8A09D
+ 09F62469E1C3A4B4D7F2EAF1A3DA834FA064DC2D2D8E4DB9984E63F922ED2A02
+ 161DE04EE1EE13D4ED7CB090CB5CD9C6E1439978A3FE655189D50E52D37263CE
+ 4486374725C5D2168DF6C88E2CE414ED02942400030246C6A7087149C5688DF0
+ 7EC63EE0F38DB3C79974A8ECB70B7459649E0F64F17854767800C588D390830D
+ 02172A19226F5E58D211DFEB9AF40DD5CFCB46E5DD0568AFECC6C43FFA470747
+ 2CEBF420D2048072C57ED3CB2F846005F9D19CBD4E80C96882B9F16942D1DBA7
+ FBD15C2B960F77159355056AB919E0E3E24C17F9C58487E1737218966D429386
+ 01F235CB8589854D87D3DCD0448613938D61669B89B1C1099552DEB9AA9B9790
+ E559D204FA99C5EBF78D0A0FB5D5ABA0BF6F0D7AA66CA1757CC4B862D808E9D6
+ 9826C990236927D236A4B748AF92C6F6FF82243F890861AE817CC8001D6A0A74
+ 2A478D1AFD7A926CC6FC058E20743BEDFA2F1ECC70B45A0CDA2614CB5AFDFAAD
+ BE19B3E828E51D009FCFE710C6F546ED680F473DFF3B7E70DAFCFEA8E5BFFA03
+ 503A4EA60D6AAC070000000049454E44AE426082}
+ Name = 'PngImage14'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A000002E44944415478DA
+ 8D936B48D35118C6DFB379D9D4C9BC94A8CB399B38CC4B0E9C9A45427D8C5251
+ 82FA2021B430F08398F4258650145A615642A12E4A31AF6565795958A69B685E
+ C7BCB4B92D9D3AA74E7771BAFD37FFFDA728E40A7CE0FDF6FC9E73DE877310FC
+ 5FA850200CC22C90ECB06EB1EC76870347D8F88C6E7244D4F8D2B06FFA172910
+ 082998BBD7154F8A079F11C5E0043002A8D64D2BA8A56AFDB2463BA8928F1537
+ BF2D1B21AC0E9780ECEC06323BCE9E17CE61DE4D4C8BA5812F0D996C00380EE0
+ 81ECB0A25EC0FBDFF74C4B7E7CCAEDEEAC97B8041408849C906321BD97B24FFB
+ B36854A43221106B01ECCE007780203F1CCC2AE576BBF09DA8A6BA24C725A048
+ 5053C43DCFBD9F98C4210523046A13C0D0320099BCBBF0360920D87B0BBE56B5
+ E8DA9AAAF8E8EFEB3FA2864705D65ECC4FCF30E2BE70BB54ECD28F542485D676
+ 3E2C482458DDD327CF0E04087CC222597519059917566C34B8F358BC031C94A8
+ 8B0F339241FBEB870FEA0FAE40CABFF5A23CEDF2B93C2A3302E9D611307D0002
+ 29006EC4D529A4DD2ED6B61DF0A1B279A3F15559854B0739B9C5A92792799D29
+ 5969D4650B05791200C31B804A74E046B831C061423E8B3757544FD509EFE5EF
+ 077CBE76F208DD07DE0C7BC6F82FD3CFC430B95C0F162F9A64715091171981BF
+ 0761224E5E5AD1E3DF1A3A8C2DB5CF2BA764FDA5680F0EA43B3E469D8A4B5AD5
+ 1BA149130DCA35CA66283B1E67C6B2A97EA147C16AB1C2A27C0E9F1C1CD27FEF
+ AC6F968D8BCB097412755D8F0EF3F7F36962A7F2121D8B3218976E4287860632
+ 83FDAC6269D3EB38272193E64B6761988DAC981E55A894B2BE75BD5644C00BC4
+ E0E867217738228597E06654C1F090010666DDA05B3E6159336DC4F76BAC3384
+ 8968007C8971BE842D62D6C159C5DE5F109564E1F17403C8C64CD0AB26419F72
+ CAA2319AB3A4F3B62F7008A19BB9577F71613E52A7C3A04731B9AA339A6F0CCD
+ DB9A0E03EF04F0F9FC48DC626ED34D0D44AAB5BFD347E76CAD87859DFA0386D8
+ 3FA68502A9830000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A0000032A4944415478DA
+ 6D937B4814411CC77FB3B7777A5E7276969AA4648A20A5592A4585FE654122BD
+ 0CAA3FE2841EA45946697591BD8DB27748A2BDA0A43FA2420C893252D2A244B4
+ 7C24495986AFBC3BDDDBDB9DDDBDDDDB663714B366F9B2BB33DFCF777E3BB383
+ E0DF66235A19342370912538D0CAB2825BF00A6DA4EF2D1133D5A8AA2AA029EF
+ 4126B3292B2E21BA70697A5262626A9C393422040D0FBAFCAD6F3BF187C68ED6
+ 9F5F472E2992524FBCE2F400735884ED40E6BAE58539F6CCD0B9F323009111C5
+ EF075191600C7BA0ABEBAB5AF7A071A4ADBEE71CE7C615849126032823B52D77
+ EFBAEBF6BDEBAD164B20E941A092EBF89ED75050960C6ECC805B6060D8E984E7
+ 379B9C2D8F3AB71353CD4440CC8ACCE49725D7F2626DB3AC60A028C2535092FF
+ 4A2FCD5E1A0F2E3C062E9E8171D1034303A3F0E24CF3A7910EF72A1230826813
+ BDAFF87CEE85ACCD19269AA2C16030C0093273EDC372C8DE92FFD7EACEDDE902
+ 06B3D0F1A41777DEED2D5015F5369A1335BBB6ACFA4056745C24A22903941636
+ EBF044C38204BCE003FBEE62B0DAFBC1237A61B8C7A9B69DE979ECF3F836A1A4
+ 65F15F4EDD2A880BB606A12B45AD93B02C2BE023D2604D79FB8F02B5F533B022
+ 078C9B55BBCF7EEBC43F8424B4243DE19BA37C678CC962844A47B71E204F8212
+ 09F1EBF783474E02BBB105BC1207DE711EFACA06BE8B7D520C8A8A0D6F70DCD9
+ 951E343B1061598067A54EA8AEBAA4435A0826D22A3976B21406B31B80F76160
+ FB3975E8E2E84785F12F460166E3E91D17361D8E5D1E45F332062C8BD07EC300
+ D7CA4EC1BEA292BF16B177751D6893304D5E9979E0AD5265354FDBC694B4EC05
+ 7599FB57844906093862D04CCEBB913AE4D9F01EBC3E1EBC22AF87635680F1FB
+ EC4FB95DC922DBD8A105A0008BF1444641DAA1A88C8800CE8F8123656AA59A1F
+ A740FF9A7AF22CE8B0208AC035F258A8911C20C3D5A9BF72D8CC79C197E3D7CE
+ CBB12D0D09106862D4A13F9F343133F70E63F18D740F7E818330E3D30FD31CA3
+ D5986F5B68B55B532DE128923248269F0EF2DF05856FC58372AF52013C5412AF
+ EB7FA7516B34512232C2063A944E44C1C82C7B14CEEFF2B793929F92B16E2265
+ EA71FE0D330BBCF031BDB9A60000000049454E44AE426082}
+ Name = 'PngImage15'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A0000031C4944415478DA
+ 6D536B481451143E779D5D5D37D95AD354523445905AB32C0A0DFD653F92252B
+ 8BFA130A3D40F385D1C3B09766A5652548D23B34FA1115624894A0F6502845CB
+ 079298A5F8CA75737677E6CECCCEA3BB532DAB75868F3B73EFF77DE7CCBDF720
+ F8374C045BFC97F8AD3504F8191D0ECEC639B91E32D741407B13154501E4F5ED
+ AFD3EBD263E2220A37A5C49BCD1B62F481214BD1F4E49CDCDDD18F3FB4F7758F
+ 8FCC5C9504A98570F9C506FAE01053715A46526166565AE0CA552180C88A24CB
+ C04B02FCC476181818519A1BDA677A5A862E32365C473482C740A3D5ECCFCECF
+ A8C9CADF613418FCC80C02853C678EB4425E5502D8300D368E8669AB155EDE7C
+ 67FDF8A4FF002135FE35884A4E4B787DFA464EB469B9117C341AA2D78008329C
+ CF6D55CBB39406C11C4BC33C6F87A989597855FEFEF34C9F6D2B319841948E2A
+ 387639BB327D6FAA8ED2505056F066C18E363DAE05CBBE5C30E7BBE02767071A
+ 3BA0EFD930EEBF3F9CA748CA5D141A1ED454F5A8383D22260C511A1FA8287CAF
+ 8ABC037302ECC92E0263D618D879274C0F59959EF2A1A72EBB6B378ADF1CFBE5
+ FC9DBC9800A33F2201D547BB3C06A228818B80E55C2A728A4E01B3AB0B689B43
+ 19BCF0B51F7FE7E2D1FA94B8AF25B587A274062DD971173C2C1D560D448F5020
+ 26B23A1E3D790EA62C6DE09C6761B46AE21B3F2A44A1F0E8156D25F70EA7F807
+ F9212C72F0A2C20ACFEB6B3C62F788094E9496C12411B32E0C8E314699BA32FB
+ 49A2E575C857AF2D3B58B9FB44745238C58A183AAF890BFEFF5259A947CC082C
+ B893D0EF9C22DDE0BCAD884A8EFB1813375A5637A71525070B3E023084E02631
+ 24136E88564D262DADE0E4DD621EB08383F97AC7B8D82BA59363EC731B205F83
+ F66C6ADEC6E3E1A921BE8C8C55B1BB54FDD34418DBD642DE3955CCF13C30ED2C
+ E61A85127251AE7B5FE5E0659101D5B1DB23334D9B96FA721421AA22FC3BEB9F
+ CC4C27C6FC5BE101FC8012A2995FDC4CA15AA336D7B4C69865DC605881C2343E
+ 82CEA50AD96F9CC476E3497158AA03166E11EEDCFFBAD11D1481196961271548
+ 995100D28B768991E7E45E52F273B236482079B7F32FB7E1BAF0E8F71C040000
+ 000049454E44AE426082}
+ Name = 'PngImage16'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000019E4944415478DA
+ 63FCFFFF3F4341F1F9FF0C6402469801BEFE4A0C0B16DD60583CC71CABC21F3F
+ FF327CFFF90748FF6128ABBCC2A0A5CEC0B072C752E20C40D6FCE3D71F86BAFA
+ 1B0CEB963B31A85A241336005DF38FDF7F18DA5AEE3098997032CC5D3D07BF01
+ D834FFFCF597A1B7EB3E612FE0D20CC253263C625092FFC5B0F1C06AEC06E0D3
+ 0CE2CF99F68C4152EC0BC3AE931B310D983EC908A119AA11A409660008CC9FF9
+ 9C4180F72DC3E14B3B500D00019021840048F3F7EF3F19CEDCDE8F6AC09F3F40
+ DB7EFC024B82E81FDF816C280D11FFC5F0F9D337B03C08DF7C79126180A7B73C
+ 86E6CF9FBF43C460867DFB09D70C32ECD1A7F308036CEC44C18A976E9A82D7F9
+ 7CFF8DC19A4186BCFE7D0D618089193FD896B5BB67311CDA309341504A87E1C9
+ ED930CEF3FFD60F8F0F927C3FD671F1956AD59CDF0EC96105833C8BBEFFFDF44
+ 18A0A3CB0976EAB6C30B182E1CDDCBA06768C8B073FD02B8CDF79F7E64E89C34
+ 87E1EE456EB06610403140599519EC827D6796312447F833F072B130B0B0B2A1
+ 387FF5D6430C37CF72C0F9700318191919F49D72C9CAD200FAC9B5C145016BDA
+ 0000000049454E44AE426082}
+ Name = 'PngImage17'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000015D4944415478DA
+ 63FCFFFF3F03082CDD7212C22000627C2D1891F98CC80644FB98E3D50C54C3D0
+ 3B6521C3F99DD3194936E0DFBF7F0CCBB79D6690161366B04C57058B715C6060
+ 24CA0090E6DF7FFE31ACD9759621A4D68281352A97E1F7B2C90C8B2E10E10298
+ E6DFBFFF325C5DC2C1F044E912C39B4B4B19984A3AB17BC171E64DACAEE860D0
+ 60D0F399C2F0F2D636868587CC18A41A1A18D218F07801DD669866100E699161
+ 10D5F6050726411720DB0CD35CDE369B61DED24DD80DF8FDE72FD856107D6319
+ 1786E6ED7B4F311C387911BB01611E260C6E73EF80F9110C1F180C182C18C4D5
+ BC5034830C3E7AF60A7603029D0D212E00FA7DEDAA2B0C2D2D210C6B6A9EA068
+ 06E15317AF6337C0C75E8F2160D92330FF4E8B0B838B4B0D985D5CE907D70CC2
+ E7AFDEC26E80BBB50E5CD11FA84B60E181C0FF18AEDCBC83DD0027734D829A41
+ 00A701B6C66A0C9BF69C24265362370094D348012003002CB76B52FA97B19500
+ 00000049454E44AE426082}
+ Name = 'PngImage18'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001B04944415478DA
+ 63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3
+ C493AF1EDC305BB1603A2323BA66090111A9272F9F301CD9BE99119701110999
+ FF616A189135FFF9F9430A9F4618B0F1F405FB1B6E0021CDD70CF8FF0B09B0D7
+ 481C78D50AE2FF7295B1FBC82F7AF0C585F30C8C96EE5ED3E425E533618A1F3E
+ 7F385D4A5A79C3DA79937781F8C149B96E6627F7F4F8B23ED3DD226BC2F04840
+ 96A19CE72DC3E7E387182EDEF8389911E49F1913DA192EBCE06778FBF727C3E3
+ CF0C0C276614A2B860F98C690C9BAA5A1854F7F530282A4830DC7FF08261E657
+ 318689B76F33820DC8A89806D70C026B1A43E19A65C46518C0F25F3F3048CE28
+ 6050BFBC9A61DB7F198693AE390C535AF220068496F6C3355F7EFC9EE1E6BC34
+ 782CC0E47F5EBFC060D7E5C170E8BD208301F73B06BE7F1FFD642E316C6604F9
+ F1D9D3BB01CC4CCCE070F8FBEF2F4618FC7D723D22F3EF93C4FB37DE301C1296
+ D9E8FBE68198BED87F4BFEBF1FED084619087CB4178BB974FFD3D42B8F7E7801
+ 6D390A12DB28C4BA51558ECB8F2803D6F1B2C67CFEF5C728EEE7FF62A006701A
+ 98C0C0202ECBCDB00A00547CD715F016991D0000000049454E44AE426082}
+ Name = 'PngImage19'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001034944415478DA
+ 636498F123988181610D032A0861C8E058CB400460041AF07F8201AA60C10520
+ 91C1C1489201604DC40114D7313234DCF84FB4561868D080BB8E71F3BEBBFF7D
+ 1C9550E4FFFCFDC7F0E7CF5F86DF60FC0F4C83F8DF7EFC66084FAF6738BF733A
+ 7603D6DEFBC710B2FB378A61732CFF307888FF061B7AEDEE4B86EAD6C9B80D60
+ 9CF993015B803EF0FDCAF0EBF75F863B8FDEE036006403EB9CDF0CA40628D800
+ 0F3B05B01F393BEE911C9E6003ECCDA4188E9CBBCFF0F70F3B03A9010A36A0AE
+ B307ACB8A9BC04C5005C9A91031425B52107283ECDC8018AD500429A41F8D1F3
+ F7D80D8005283ECDBF81F8F99B4FD80D8005283100AB01B0002516000097A51A
+ 7A68BA98860000000049454E44AE426082}
+ Name = 'PngImage20'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001F04944415478DA
+ 633CC0C0F09F0109C83939313CDAB70F5988C181818191C1600644DD850C4664
+ 3946900162D7AEC1053872721838972E85F36F4A4A323818CC60A82CF062689F
+ B00DB7011C1C1C0C9C9C9C0CDFA3A31924B76E65F8F1E307184B7A6E64583825
+ 99E1C69DE70C4B561C64F8F1F3EFC5D7EF7F78030D7A8A6280A0A020D890F7C1
+ C10C826BD7824D17745C09D70C03627C2C0C959D5BBF000DD20019023640FDF9
+ 7314CD201AE48DF7EFDF3368451D62F075D365D0D19265B872ED3198FEF3F90D
+ C3C2F597B7BEDA17EF0337000440CEC70694DE85810DD9BCEB32DC305878800D
+ 00853C08806CFDFEFD3B42674A0A38462E2FDACE90DBF7102CB4A0568361ED49
+ 568663276F31BC3D98883000E66474F04A4B8BC1F6DF3F14B182CEDD0CF3363D
+ 66F87A3C8591B15842F33F0301D0F5EC2A0ABF6DC6368629EBDE3148311F6760
+ 24A479F2A2EDFFB362DC19983E9D67B8BFDC98412AF402C3EC6DCF19E62DDD04
+ 4907C41AF0772D1303AB453CC3FD2D0B197823BE307CFFF18BC13FA19A380372
+ FC2480B61B3228DA3330DC3FC8C0C0E27E95E13B83284344663D7106787FF564
+ 50F4896760F8BC90E1FD3B06860F9719183EDA3F61482A6C25CE00BD279E18E2
+ CCEEF71872ABBA893320C4D30AE8E7DF0CDFBEFF66F8FAFD17C337A0FF41A0A8
+ AE8F380360218E0D000074D3EB115697A8140000000049454E44AE426082}
+ Name = 'PngImage22'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000019E4944415478DA
+ 63346C31FCCF40009CAF39CFC8603003A2EE420623B21C23C88073D5E7706A36
+ 6A356238BF269DA1B2C08BA17DC236DC0680148200881D3CD799E1FE8BF710DB
+ 819A174E4966B871E739C3921507197EFCFC7BF1F5FB1FDE40839EA21880AC09
+ EE7424CD3020C6C7C250D9B9F50BD0200D9021285E40360426C6683893C1D74D
+ 9741474B96E1CAB5C760FACFE7370C0BD75FDEFA6A5FBC0F5E17C0BC067209C8
+ 90CDBB2EC30D838507C130008124B93686DCBE8760F6825A0D86B52759198E9D
+ BCC5F0F660222351B170A6EA2C8A5841E76E86799B1E337C3D9E023180503A40
+ 37A06DC6368629EBDE3148311F676024A479F2A2EDFFB362DC19983E9D67B8BF
+ DC98412AF402C3EC6DCF19E62DDD040964620DF8BB968981D5229EE1FE96850C
+ BC115F18BEFFF8C5E09F504D9C01397E1240DB0D1914ED1918EE1F64606071BF
+ CAF09D41942122B39E3803BCBF7A3228FAC433307C5EC8F0FE1D03C387CB0C0C
+ 1FED9F302415B6126780DE134F0C7166F77B0CB955DDC41910E26905F4F36F86
+ 6FDF7F337CFDFE8BE11BD0FF205054D7479C01B010C70600EF8FEA118DBC0D28
+ 0000000049454E44AE426082}
+ Name = 'PngImage23'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001844944415478DA
+ 63646068F9CF4010D4303218CC80A8BB90C1882CC30832E0FFFF6A9C5A19195B
+ 19180C44182A0BBC18DA276CC36D0058211A008B1BCE6458382599E1C69DE70C
+ 4B561C64F8F1F3EFC5D7EF7F78030D7A4AD005C89A61408C8F85A1B273EB17A0
+ 411A2043887281AF9B2E838E962CC3956B8FC1F49FCF6F1816AEBFBCF5D5BE78
+ 1FA2C30064C8E65D97E186C1C283B00B80E293171933E4F63D048B2DA8D56058
+ 7B9295E1D8C95B0C6F0F263212E582BFFFAA50C40A3A7733CCDBF498E1EBF114
+ 8801845201BA016D33B6314C59F78E418AF938032321CD93176DFF9F15E3CEC0
+ F4E93CC3FDE5C60C52A11718666F7BCE306FE926583A20CE80BF6B9918582DE2
+ 19EE6F59C8C01BF185E1FB8F5F0CFE09D5C41990E32701B4DD9041D19E81E1FE
+ 41060616F7AB0CDF1944192232EB8933C0FBAB2783A24F3C03C3E7850CEFDF31
+ 307CB8CCC0F0D1FE094352612B7106E83DF1C4106776BFC7905BD54D9C01219E
+ 56403FFF66F8F6FD37C3D7EFBF18BE01FD0F0245757DC419000B716C0000F02E
+ CE117405CD650000000049454E44AE426082}
+ Name = 'PngImage24'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001A14944415478DA
+ 63646068F9CF4010D4303218CC80A8BB90C1882CC30832E0FFFF6A9C5A19195B
+ 19180C44182A0BBC18DA276CC36E005ECB819A174E4966B871E739C392150719
+ 7EFCFC7BF1F5FB1FDE40839EA2B80064133A8DAC1906C4F858182A3BB77E011A
+ A4013204AF014B97063144771F62F075D365D0D19265B872ED3198FEF3F90DC3
+ C2F597B7BEDA17EF836280579426C3B665D7E134B24B40866CDE75196E182C3C
+ 500C0001B0ADD1EBC07414D02090F8E445C60CB97D0FC1F20B6A3518D69E6465
+ 3876F216C3DB83898C44C5C2DF7F552862059DBB19E66D7ACCF0F5780A23E158
+ 00027403DA666C6398B2EE1D8314F3710646429A272FDAFE3F2BC69D81E9D379
+ 86FBCB8D19A4422F30CCDEF69C61DED24DB074409C017FD73231B05AC433DCDF
+ B2908137E20BC3F71FBF18FC13AA893320C74F0268BB2183A23D03C3FD830C0C
+ 2CEE5719BE3388324464D6136780F7574F06459F780686CF0B19DEBF6360F870
+ 9981E1A3FD1386A4C256E20CD07BE28921CEEC7E8F21B7AA9B3803423CAD807E
+ FECDF0EDFB6F86AFDF7F317C03FA1F048AEAFA88330016E2D800000AC1E011C3
+ F6FEB30000000049454E44AE426082}
+ Name = 'PngImage25'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001964944415478DA
+ 636440038B371DFFCF8005C4FA5932621347115CB2F9D8FF30075154053F3F30
+ 30FC7CCF6096B49EE1FCCEE98C380D58B9F5F0FF403B09AC9A61B469C1050C43
+ C09C659B8FFE0F7110C3AB194CFFFAC0E0D2FD9B61FFEA1EB8218C203F873B8A
+ 10A59911C806F18DBB85E02E011BF0E1C30786F44015A234671F0B653871742F
+ AA0131BE160C5316EF60C8F012012B9AB1F72F8A8BB2153782C5A73E4B00F3E7
+ 2DDD846A80BF93215862E1BAFD603A27D603C580ACE6B50C5A0ADC0CB97D0F19
+ AEAEF66788C9694235C0D6580DAC70F3DE530CF1418E0CB88063F17D86B3270F
+ 324C2E9267C88DF3441860A4A9C0B0EFF80506171B230C4D319DEF50F8113E1A
+ 0CA5B53319182E64A006A28EBA0A565B4BE6FD61C88B85C83D7EF98FE1EBD76F
+ 60767BDF4AB0216003A4440518AEDD7E80D580054715C006BC7ACFC2F0EBF76F
+ 862F5FBE8231883D73FE4E880BFAA62EC2AAD9C2DA99E1D4536D86A42019860F
+ 5FD9E19ABF7CFDCA307FE97E880B180800E3F4EBFF4101070389D18E70CDF0A4
+ 4C34309801C9A950CDE41980A4190400B843EED8DFC8CDA30000000049454E44
+ AE426082}
+ Name = 'PngImage21'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300004E2000004E2001167D99DE00000A4D694343505068
+ 6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF
+ F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A
+ 561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5
+ 7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8
+ 1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC
+ 01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200
+ C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05
+ 00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2
+ 00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C
+ CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97
+ 4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313
+ 48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F
+ 223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA
+ 560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED
+ 2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383
+ FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A
+ F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86
+ 4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432
+ 79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0
+ 812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C
+ 0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70
+ 170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261
+ 48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA
+ 90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F
+ 5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961
+ 5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402
+ 8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2
+ 272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93
+ 48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90
+ 6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452
+ A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650
+ 2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83
+ 1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7
+ 192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295
+ 3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9
+ 09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685
+ 46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9
+ EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C
+ 4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED
+ EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB
+ 79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31
+ 3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87
+ 67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94
+ 6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85
+ A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6
+ 5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29
+ D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B
+ 743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6
+ 4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD
+ D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7
+ C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E
+ 3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B
+ FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5
+ 0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1
+ 15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0
+ 476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67
+ BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845
+ F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC
+ A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7
+ 6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA
+ 68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C
+ 949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423
+ F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433
+ DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317
+ 772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2
+ A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17
+ 955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4
+ EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E
+ CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9
+ 26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD
+ 8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF
+ B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C
+ 7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD
+ EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293
+ E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7
+ 5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F
+ EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6
+ EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07
+ FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247
+ CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73
+ ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC
+ CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F
+ F73EE77CFEFC2FF784F3FB25D29F330000010A4944415478DA63FCFFFF3F0325
+ 8071F019C06838930548B503710C104B00F117203E02C4B9FFCFA7DF4151CBC8
+ 88D50090E60A2C969D001A60498C01CFA136870235AC01F27580ECCB40FC07C8
+ 67256800D4101E20E502C4D650DA00240E34809118177800A9E5402C806E30B1
+ 06DC06522A403C0188F702F105207E4C8A0130014BA8E614209E4C8A01BBA1FE
+ 46062FA001ABF88321E3FEFBEF40CE8DFF8CB80C00299C0FC40EA09007E22540
+ 3C151A130B9E7FCF4878033440E7210E0370819F868CFF41368334BF0426AD47
+ 1F19187EFD252129BFD060FC8FAE19EC622C5E900352CF8001F607C8D607B21F
+ 01D9EF61F2F35918FF8334A7FF27D10BB0509F018C0C103B03C805D1009D9F97
+ 36069839440000000049454E44AE426082}
+ Name = 'PngImage26'
+ Background = clWindow
+ end>
+ Bitmap = {}
+ end
+ inherited PreviewActionList: TActionList
+ object actAumentarTamLetra: TAction
+ ImageIndex = 12
+ OnExecute = actAumentarTamLetraExecute
+ end
+ object actDisminuirTamLetra: TAction
+ ImageIndex = 13
+ OnExecute = actDisminuirTamLetraExecute
+ end
+ end
+ inherited PreviewSmallImageList: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000000F14944415478DA
+ C5D2A10EC2301006E01B4F30893C39C59619EC70937B843D014C829B0339DEA0
+ 1289638EC9C9E1160C9553A43882A0B45DC80223A30112CE346DFA7F697A6770
+ CEE19B327E0A8C663BB5A14506348D8CE7CBDEB4E0DBB96D7402518010C5A405
+ C8B0840F9B493710FA08F1E21190E1D0B7C5F9F23D10780849D200F7705102AC
+ D73A8023005203F73065A08022D3003C0B81AC08A0E3810C33115600156BAE01
+ 3888E2A9F50BDC71CE07EE105875025A01B09268007D01A4CD1F48E4DAB3809D
+ 657F35001440963E764122C78BA50798268ACF6ACF8142F6F97B400E8B9AC617
+ 93887EC23B814FEAFFC00D0E3CD3E1153EE1F30000000049454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000000A34944415478DA
+ 63FCFFFF3F032580912606303232628839545CF8BFBF5D9F912C03409A1F5C38
+ C0707F7B3EE90680342778E83334744C24DD0098E60B371818366C20D10098E6
+ 071F18C0065C384082018E9517C19A3F0035830D7800A44F90E802A3BC13FFF5
+ 8CCC193EBCF8C8F0E00503C3871B0B480F039021FF9834183EFC00721E906100
+ CC9077BF34C837006EC8AD13E41B00020A1E13FE136D002960E00D000045F48A
+ E13771044B0000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000000A44944415478DA
+ 63FCFFFF3F03258091260638565EFC7FA0C380115D1C9B5A9C067CFAF683E1DC
+ 240B46B20D48F0D06798B4EE248A21241BF0E10703C3A26D0843483220C0419F
+ E1C10706860F407CE91AC410920C70B0506078F0829FE1C2838F0C1F1E3C009A
+ 7480E1FEF67C46A20D30D0506038708301AEF9C18E02D25C202020C070E1C207
+ B86692C3800118800F6E2034936CC0830BA89A493680A294480A18780300CF22
+ A8E18A4EF6A30000000049454E44AE426082}
+ Name = 'PngImage3'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000000EC4944415478DA
+ C5D2A10EC2301405D0DB2FA012F9246E95C8E290FB04FE8049703890842F5850
+ 2882021CB5185210044725B220086E74908D40C252020937A97BF7A479792C49
+ 127C13F673A0D65E27AA27D8EBA06CE97C70D10D5821703A5FB01A54D92B1085
+ 84A813633F6B16038D7A80C178F984A440A34EE8F43C017B0186D3079202A124
+ F4FB1E402803180B58F736DB3B72038403620F405609E65082364758639CA440
+ 42425608F1C803106E50ED9097CD3CBAFD40106132F10038E7D0DAE6E56C07A2
+ EC80B90700B740B37B9433801CA07C00A39FCB19C039412B0FE0DD25A6709A42
+ E0D3FC1FB8020318D0E1923D9C4B0000000049454E44AE426082}
+ Name = 'PngImage2'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000017E4944415478DA
+ 630C9B1C9ACFC0C03081813C50C00834E07F7E400E51AAFFFEFBC3F0EBDF7786
+ 9F7F2138C9268F01C58073FBBF113444C9EA0B58F38469B3192E2DBB8C69404E
+ AC07568DBFFE303058F86431D44EB264F8053460DACC25B80DA89FBC1FC38092
+ 144706FBC02C86F27E03B00BE6CE594B9C0B4036FFFC0DA15D43B31872BB95C0
+ 062C5FB09B341764C4383278476631A4754882BDB076F111FC2E40B619860363
+ B318125A05187E026362CBD2B3A4B92036D491212C218B21B2999DE1C7DF6F0C
+ 7B565CC76E4072B807D8E6BFFF1036FFFE0BA16352B218021BFE82C3E0F0EA07
+ 080372FC3218FEFEFFCD70E5D07F8698200F86FE79982E08F4756448CAC862F0
+ AA05A5836F0CA7D6BD421890E6130F36F5DE311E86303F0F145B616C1048C9CC
+ 6270AE7A05567B71E3678401F19E6160C1A7274519E62DDD843725DA943F04BB
+ E0C696BF080322DC7CC151034BE390F4FE0DCA47D07FFEFF01D37F81F4EDAD8C
+ 0803829C5DC04993540033207F57D36EB2B2B35B9D6B0100103839527F8C36D7
+ 0000000049454E44AE426082}
+ Name = 'PngImage5'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001714944415478DA
+ 630C9B1C9ACFC0C03081813C50C00834E07F7E400E51AAFFFEFBC3F0EBDF7786
+ 9F7F2138C9268F016EC099973B18F253E4198E6ED6C4A9D9CEFF36C3C4390F19
+ 64793519264C9BCD7069D9658801D6962A60CDC40290216B171F411880CF05BF
+ A0CE05D17E619FC09A05D8C519E6CE598B6AC0B9FDDF8876018BEE6986E50B76
+ 631A9013EB8153D3AF3F0C0C3F7F3330D807663124B40A607A016640FDE4FD58
+ 0D2849716458B86607C3BCA59B18229BD919B62C3D4B9C0B603683E8E51B2006
+ 0436FC65D8B3E23A692EC888716458BB05628057ED1786C3AB1F200CC8F1CB60
+ B878F0178A0B906D86E1CD3B20063857BD6238B5EE15C280349F7886EB8799F1
+ BA2036D49161C76E880136E50F192E6EFC8C3020DE338CE1DE311EB001D86CFE
+ FD1742EFDB0F31C0B4E43AC38D2D7F110644B8F9323C3D29CA901CEE81A219A6
+ 11C63E7604628051F16586DB5B1911060439BB304C9BB984E88404033003F277
+ 35ED262B3BBBD5B9160000C8E01B524AB937870000000049454E44AE426082}
+ Name = 'PngImage4'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A000002E64944415478DA
+ 8D936B4893511CC6FF67DA74BAC9BC9478C9357338CC4B0EBC1709F929A25414
+ A13E48082D8CFC20267E1B925DD004B3120C75919AA99B5DADD485E56DA2791D
+ 739ABA2D9DB7A953379D6EEF5EDFDE14859C810F3C5F0ECFF33BFFF38783E0FF
+ 425902A13B668448DCB4C5B658709C40D8F0A4563120A97FB1B61F3AAC291008
+ EDB1630ED7ECECA97C6F7F6FAEABB72BCDB46902B54CAD5BD4CCF7AAC68772C5
+ 6F8A06C8286E05484EAEB3F10BB6A49FE2B2F2C2628318E0C440063300410050
+ 910596D4B344F7BBB63169FBA7B4D6E65AA915205320E47A9EF4ECB89A7CCE85
+ CDA021950141E2BD2E9049645029E683BB3301EB2AE5F657E15B4955457EAA15
+ 205B5095CD8BE33D0C8BE0523C1002B50120E5C12EE03509D8A60078386EC1B7
+ F2066DA3A89C8FFE1DBF9076CADFADFA4A467C829E70829C82AE43B79B97150D
+ B3522956F3F4C9B3030001DD87C3AE49C84CBCBC646640FCA5D29DF3A0B8A09D
+ 09F62469E1C3A4B4D7F2EAF1A3DA834FA064DC2D2D8E4DB9984E63F922ED2A02
+ 161DE04EE1EE13D4ED7CB090CB5CD9C6E1439978A3FE655189D50E52D37263CE
+ 4486374725C5D2168DF6C88E2CE414ED02942400030246C6A7087149C5688DF0
+ 7EC63EE0F38DB3C79974A8ECB70B7459649E0F64F17854767800C588D390830D
+ 02172A19226F5E58D211DFEB9AF40DD5CFCB46E5DD0568AFECC6C43FFA470747
+ 2CEBF420D2048072C57ED3CB2F846005F9D19CBD4E80C96882B9F16942D1DBA7
+ FBD15C2B960F77159355056AB919E0E3E24C17F9C58487E1737218966D429386
+ 01F235CB8589854D87D3DCD0448613938D61669B89B1C1099552DEB9AA9B9790
+ E559D204FA99C5EBF78D0A0FB5D5ABA0BF6F0D7AA66CA1757CC4B862D808E9D6
+ 9826C990236927D236A4B748AF92C6F6FF82243F890861AE817CC8001D6A0A74
+ 2A478D1AFD7A926CC6FC058E20743BEDFA2F1ECC70B45A0CDA2614CB5AFDFAAD
+ BE19B3E828E51D009FCFE710C6F546ED680F473DFF3B7E70DAFCFEA8E5BFFA03
+ 503A4EA60D6AAC070000000049454E44AE426082}
+ Name = 'PngImage6'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A000002E44944415478DA
+ 8D936B48D35118C6DFB379D9D4C9BC94A8CB399B38CC4B0E9C9A45427D8C5251
+ 82FA2021B430F08398F4258650145A615642A12E4A31AF6565795958A69B685E
+ C7BCB4B92D9D3AA74E7771BAFD37FFFDA728E40A7CE0FDF6FC9E73DE877310FC
+ 5FA850200CC22C90ECB06EB1EC76870347D8F88C6E7244D4F8D2B06FFA172910
+ 082998BBD7154F8A079F11C5E0043002A8D64D2BA8A56AFDB2463BA8928F1537
+ BF2D1B21AC0E9780ECEC06323BCE9E17CE61DE4D4C8BA5812F0D996C00380EE0
+ 81ECB0A25EC0FBDFF74C4B7E7CCAEDEEAC97B8041408849C906321BD97B24FFB
+ B36854A43221106B01ECCE007780203F1CCC2AE576BBF09DA8A6BA24C725A048
+ 5053C43DCFBD9F98C4210523046A13C0D0320099BCBBF0360920D87B0BBE56B5
+ E8DA9AAAF8E8EFEB3FA2864705D65ECC4FCF30E2BE70BB54ECD28F542485D676
+ 3E2C482458DDD327CF0E04087CC222597519059917566C34B8F358BC031C94A8
+ 8B0F339241FBEB870FEA0FAE40CABFF5A23CEDF2B93C2A3302E9D611307D0002
+ 29006EC4D529A4DD2ED6B61DF0A1B279A3F15559854B0739B9C5A92792799D29
+ 5969D4650B05791200C31B804A74E046B831C061423E8B3757544FD509EFE5EF
+ 077CBE76F208DD07DE0C7BC6F82FD3CFC430B95C0F162F9A64715091171981BF
+ 0761224E5E5AD1E3DF1A3A8C2DB5CF2BA764FDA5680F0EA43B3E469D8A4B5AD5
+ 1BA149130DCA35CA66283B1E67C6B2A97EA147C16AB1C2A27C0E9F1C1CD27FEF
+ AC6F968D8BCB097412755D8F0EF3F7F36962A7F2121D8B3218976E4287860632
+ 83FDAC6269D3EB38272193E64B6761988DAC981E55A894B2BE75BD5644C00BC4
+ E0E867217738228597E06654C1F090010666DDA05B3E6159336DC4F76BAC3384
+ 8968007C8971BE842D62D6C159C5DE5F109564E1F17403C8C64CD0AB26419F72
+ CAA2319AB3A4F3B62F7008A19BB9577F71613E52A7C3A04731B9AA339A6F0CCD
+ DB9A0E03EF04F0F9FC48DC626ED34D0D44AAB5BFD347E76CAD87859DFA0386D8
+ 3FA68502A9830000000049454E44AE426082}
+ Name = 'PngImage7'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000000E14944415478DA
+ 63FCFFFF3F032580717019C0C8C8086787B4DDF8FFEBD76F869F3F7F33EC6C37
+ 824BA05B88D300BF86CBFFA3A35419A6CFB8C870A0CF9C7403DC2BCFFD8F88D4
+ 66983DEB34C3B12936C41910DA7E13EE6C100E0D37609837E7180358EC0708FF
+ 6278B0218011A701FE8D57C0CEFEF68391E1DB770630FD1D88BF7C07E26F8C0C
+ 6B17AE6178B1230CB7011E55E7FF836C86B9C23FC48661C9BC5D609B7F40F187
+ 0331B80D400E03DDF85DFF3D039D1856CEDFCCF0706320E981A816BEF5BF8BBF
+ 07D8D92F7786936E80BCFFFAFF30677F3C184B9C01E480616000007F3BB6E1E0
+ 0AF3B40000000049454E44AE426082}
+ Name = 'PngImage8'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000000714944415478DA
+ 63FCFFFF3F03258071D4002A1B10DA7E13CC01897DFDFA83E1DBB71F60FAFBB7
+ 9F0C9F3F7F03E3F7FBA219F11A1013A500E77FFCCCC8F0EA1D23C38BB74C0CCF
+ 5E3131AC9E3397E1F7E914DC0684B4DDF88FCBE62F9FBF33FCF9F397E1FFF974
+ DC060C7C208E1A401E0000EFE473E127272ED00000000049454E44AE426082}
+ Name = 'PngImage9'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001C74944415478DA
+ A5934D4B5B411885CF5D9982288874EB0F306E5CBA9A646514E33536264AE456
+ 5184528AE0424A043751FCC08228E24788894631D5D6D12C5C08EA2A74512AD8
+ E4070822EE44A3E255CC386F24264AAE5978609881B9E739EFCCBC571142E03D
+ 5208A0284ADECDA08FB9E4342087EFF3C04124772F139C1790319614C3DCE456
+ B116E2D0EF11CF051502FCD7BA54F37A98C3E951110E70783A5584FC3C2E0155
+ 0501DB534C34389F92DD9A342E7068DD2A96FC1CD296AE44F3EE470C019B934C
+ A8AE6CF2E29C9C3B6C5809EEC0EEA84194C7E212506508D8F8C144735B36D93F
+ 232B69B72212DE43BDBD1A5BBFFFA1C7B7AF3C03424396C6B252F08714709184
+ F94311E22DEDD9E4C0FC0E9CEE1AFC8AC4505B5789E876025F867300D1694BFA
+ CCA49FCB1C046AD5B2C94B813D383E3D25334B0576778FF17524074047C8944D
+ A2B3BB3C36E8BA8E3BFD363DEEEF74DC5C5F2179718ED89F4B7C1B7B0520AD8E
+ 3241C9F4B191F93A798943F90EBDE37900A4908F0987CB6A6826FD3D02FA260C
+ 0024FF201374DBF9CCA767B7F28E4CF07C7F03409AF532411796319391747266
+ C2C77298651F240AFE4C53FD4CA4E48BA464FBD1CBD09ACCB29D132F5AF93D7A
+ 04D7A238F0C903C3480000000049454E44AE426082}
+ Name = 'PngImage10'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000014F4944415478DA
+ 63FCFFFF3F03258011640063D1656591AFEFEE90AAF90DB7900AD800D1F483FF
+ E50D75712A4C37E6649879F63B9C3E76CD99C14A6B2FC3C3F39719E006B0DE3A
+ 47BE174006BC9E698F2221E5D8CFF06C7F219CFFEFDF7F865FBFFF82D9BF7EFF
+ 01B3F58266A11AE038F32658C1FE7475B801303164B03A4C8661D791F30C257D
+ A709BB006633CC56980B0E9CBC8C6900BA0B9EEC2D60709E7D0BC305F37D4419
+ 8E9DBB46D805F776E4826DFBFEE337C4057FFE81E57EFFF9CB70EECA2DDC2ED8
+ 95A4C220EF3689E1EA867486A0158F315C30D19197E1CACD7BD85DF01BECDFBF
+ 0CAADE5319CEAF4E81DB0CB215C486A9B979EF216E17AC8B9065D00E98C97072
+ 590243DCA657182E68B76067B8F7E809AA01CFA6D8A084B661E81C86C38BE2E0
+ 36836C05B121B1F097E1C9F3E7A8063CE8B764D8B8F714DC1690644F9129DE54
+ 886200454999120000B514248103E3F25A0000000049454E44AE426082}
+ Name = 'PngImage11'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300004E2000004E2001167D99DE00000A4D694343505068
+ 6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF
+ F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A
+ 561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5
+ 7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8
+ 1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC
+ 01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200
+ C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05
+ 00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2
+ 00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C
+ CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97
+ 4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313
+ 48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F
+ 223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA
+ 560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED
+ 2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383
+ FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A
+ F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86
+ 4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432
+ 79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0
+ 812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C
+ 0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70
+ 170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261
+ 48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA
+ 90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F
+ 5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961
+ 5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402
+ 8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2
+ 272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93
+ 48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90
+ 6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452
+ A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650
+ 2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83
+ 1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7
+ 192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295
+ 3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9
+ 09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685
+ 46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9
+ EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C
+ 4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED
+ EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB
+ 79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31
+ 3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87
+ 67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94
+ 6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85
+ A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6
+ 5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29
+ D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B
+ 743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6
+ 4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD
+ D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7
+ C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E
+ 3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B
+ FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5
+ 0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1
+ 15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0
+ 476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67
+ BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845
+ F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC
+ A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7
+ 6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA
+ 68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C
+ 949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423
+ F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433
+ DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317
+ 772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2
+ A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17
+ 955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4
+ EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E
+ CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9
+ 26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD
+ 8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF
+ B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C
+ 7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD
+ EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293
+ E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7
+ 5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F
+ EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6
+ EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07
+ FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247
+ CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73
+ ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC
+ CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F
+ F73EE77CFEFC2FF784F3FB25D29F330000010A4944415478DA63FCFFFF3F0325
+ 8071F019C06838930548B503710C104B00F117203E02C4B9FFCFA7DF4151CBC8
+ 88D50090E60A2C969D001A60498C01CFA136870235AC01F27580ECCB40FC07C8
+ 67256800D4101E20E502C4D650DA00240E34809118177800A9E5402C806E30B1
+ 06DC06522A403C0188F702F105207E4C8A0130014BA8E614209E4C8A01BBA1FE
+ 46062FA001ABF88321E3FEFBEF40CE8DFF8CB80C00299C0FC40EA09007E22540
+ 3C151A130B9E7FCF4878033440E7210E0370819F868CFF41368334BF0426AD47
+ 1F19187EFD252129BFD060FC8FAE19EC622C5E900352CF8001F607C8D607B21F
+ 01D9EF61F2F35918FF8334A7FF27D10BB0509F018C0C103B03C805D1009D9F97
+ 36069839440000000049454E44AE426082}
+ Name = 'PngImage12'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300004E2000004E2001167D99DE00000A4D694343505068
+ 6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF
+ F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A
+ 561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5
+ 7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8
+ 1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC
+ 01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200
+ C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05
+ 00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2
+ 00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C
+ CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97
+ 4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313
+ 48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F
+ 223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA
+ 560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED
+ 2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383
+ FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A
+ F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86
+ 4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432
+ 79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0
+ 812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C
+ 0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70
+ 170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261
+ 48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA
+ 90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F
+ 5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961
+ 5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402
+ 8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2
+ 272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93
+ 48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90
+ 6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452
+ A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650
+ 2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83
+ 1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7
+ 192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295
+ 3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9
+ 09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685
+ 46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9
+ EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C
+ 4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED
+ EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB
+ 79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31
+ 3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87
+ 67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94
+ 6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85
+ A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6
+ 5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29
+ D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B
+ 743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6
+ 4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD
+ D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7
+ C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E
+ 3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B
+ FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5
+ 0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1
+ 15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0
+ 476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67
+ BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845
+ F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC
+ A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7
+ 6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA
+ 68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C
+ 949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423
+ F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433
+ DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317
+ 772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2
+ A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17
+ 955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4
+ EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E
+ CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9
+ 26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD
+ 8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF
+ B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C
+ 7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD
+ EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293
+ E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7
+ 5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F
+ EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6
+ EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07
+ FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247
+ CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73
+ ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC
+ CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F
+ F73EE77CFEFC2FF784F3FB25D29F33000000EC4944415478DA63FCFFFF3F0325
+ 8071F019C06838930548B503710C104B00F117203E02C4B9FFCFA7DF4151CBC8
+ 88D50090E60A2C969D001A60498C01CFA136870235AC01F27580ECCB40FC07C8
+ 67256800D4101E20E502C4D650DA00240E34809118177800A9E5402C806E30B1
+ 06DC06522A403C0188F702F105207E4C8A0130014BA8E614209E4C8A01BBA1FE
+ 46062FA001AB0834E4012103400AE703B10328E4817809104F85C6C402A00189
+ 0463011BF869C8F8FFFD7706863740FC1298B41E7D6460F8F59784A4FC4283F1
+ 3FBA66B02BB078410E483D033AF50F90AD0F643F02B2DF633394242FE00200A6
+ 308833CD7332EF0000000049454E44AE426082}
+ Name = 'PngImage13'
+ Background = clWindow
+ end>
+ Bitmap = {}
+ end
end
diff --git a/Source/Modulos/Contratos de cliente/Views/uEditorContratosClienteReport.pas b/Source/Modulos/Contratos de cliente/Views/uEditorContratosClienteReport.pas
index 4c6201a..98862ab 100644
--- a/Source/Modulos/Contratos de cliente/Views/uEditorContratosClienteReport.pas
+++ b/Source/Modulos/Contratos de cliente/Views/uEditorContratosClienteReport.pas
@@ -10,11 +10,35 @@ uses
JvComponentBase, uEditorPreview, frxExportImage, frxExportPDF, frxDCtrl,
frxClass, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList,
ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar,
- pngimage, frxExportText, frxExportRTF, frxExportMail, frxExportXLS;
+ pngimage, frxExportText, frxExportRTF, frxExportMail, frxExportXLS,
+ frxExportCSV, uContratosClienteReportController;
type
TfEditorContratosClientePreview = class(TfEditorPreview, IEditorContratosClientePreview)
TBXItem58: TTBXItem;
+ actAumentarTamLetra: TAction;
+ actDisminuirTamLetra: TAction;
+ TBXItem59: TTBXItem;
+ TBXItem60: TTBXItem;
+ TBXSeparatorItem21: TTBXSeparatorItem;
+ procedure actAumentarTamLetraExecute(Sender: TObject);
+ procedure actDisminuirTamLetraExecute(Sender: TObject);
+
+ private
+ FVerCondiciones: boolean;
+ FTamLetra: Integer;
+
+ function getTamLetra: Integer;
+ function getVerCondiciones: Boolean;
+ procedure setTamLetra(const Value: Integer);
+ procedure setVerCodiciones(const Value: Boolean);
+
+ procedure refrescarInforme;
+
+ public
+ property Vercondiciones: Boolean read getVerCondiciones write setVerCodiciones;
+ property TamLetra: Integer read getTamLetra write setTamLetra;
+
end;
@@ -23,6 +47,69 @@ implementation
{$R *.dfm}
uses
- uContratosClienteReportController, uIntegerListUtils, uDialogUtils;
+ cxControls, uROTypes, uFactuGES_App, uIntegerListUtils, uDialogUtils, uBizContratosCliente;
+
+procedure TfEditorContratosClientePreview.actAumentarTamLetraExecute(Sender: TObject);
+begin
+ inherited;
+ //Si sale de los límites de tamaño de letra no hacemos nada
+ if (FTamLetra >= CTE_TamLetraMax) then
+ Exit;
+
+ TamLetra := TamLetra + CTE_Aumento;
+ refrescarInforme;
+end;
+
+procedure TfEditorContratosClientePreview.actDisminuirTamLetraExecute(Sender: TObject);
+begin
+ inherited;
+ //Si sale de los límites de tamaño de letra no hacemos nada
+ if (TamLetra <= CTE_TamLetraMin) then
+ Exit;
+
+ TamLetra := TamLetra - CTE_Aumento;
+ refrescarInforme;
+
+end;
+
+
+function TfEditorContratosClientePreview.getTamLetra: Integer;
+begin
+ Result := FTamLetra;
+end;
+
+function TfEditorContratosClientePreview.getVerCondiciones: Boolean;
+begin
+ Result:= FVerCondiciones;
+end;
+
+procedure TfEditorContratosClientePreview.refrescarInforme;
+var
+ AStream: Binary;
+
+begin
+ ShowHourglassCursor;
+ try
+
+ AStream := (Controller as IContratosClienteReportController).DataModule.GetRptContratos(Self.ListaID, FVerCondiciones, FTamLetra);
+ LoadFromStream(AStream);
+ Report.ShowPreparedReport;
+
+ finally
+ FreeAndNil(AStream);
+ HideHourglassCursor;
+ end;
+
+end;
+
+procedure TfEditorContratosClientePreview.setTamLetra(const Value: Integer);
+begin
+ FTamLetra := Value;
+end;
+
+procedure TfEditorContratosClientePreview.setVerCodiciones(const Value: Boolean);
+begin
+ FVerCondiciones := Value;
+end;
end.
diff --git a/Source/Modulos/Contratos de cliente/Views/uViewContratoCliente.dfm b/Source/Modulos/Contratos de cliente/Views/uViewContratoCliente.dfm
index cd5467d..8aabd94 100644
--- a/Source/Modulos/Contratos de cliente/Views/uViewContratoCliente.dfm
+++ b/Source/Modulos/Contratos de cliente/Views/uViewContratoCliente.dfm
@@ -19,7 +19,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
817
491)
object edtFechaContrato: TcxDBDateEdit
- Left = 131
+ Left = 198
Top = 82
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_CONTRATO'
@@ -42,7 +42,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Width = 129
end
object memObservaciones: TcxDBMemo
- Left = 441
+ Left = 467
Top = 334
Align = alClient
DataBinding.DataField = 'OBSERVACIONES'
@@ -59,12 +59,12 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
- TabOrder = 13
+ TabOrder = 14
Height = 139
Width = 404
end
object eReferencia: TcxDBTextEdit
- Left = 131
+ Left = 198
Top = 28
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'REFERENCIA'
@@ -89,8 +89,8 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Width = 122
end
object cbFormaPago: TcxDBLookupComboBox
- Left = 131
- Top = 190
+ Left = 198
+ Top = 217
DataBinding.DataField = 'ID_FORMA_PAGO'
DataBinding.DataSource = DADataSource
Properties.KeyFieldNames = 'ID'
@@ -115,21 +115,21 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
- TabOrder = 7
+ TabOrder = 8
Width = 122
end
object bFormasPago: TButton
- Left = 279
- Top = 190
+ Left = 305
+ Top = 217
Width = 132
Height = 21
Caption = 'Ver las formas de pago...'
- TabOrder = 8
+ TabOrder = 9
OnClick = bFormasPagoClick
end
object cbSituacion: TcxDBImageComboBox
- Left = 131
- Top = 136
+ Left = 198
+ Top = 163
DataBinding.DataField = 'SITUACION'
DataBinding.DataSource = DADataSource
Properties.Items = <
@@ -154,12 +154,12 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
- TabOrder = 5
+ TabOrder = 6
Width = 260
end
object memFormaPago: TcxDBMemo
Left = 22
- Top = 274
+ Top = 301
Anchors = [akLeft, akTop, akRight, akBottom]
DataBinding.DataField = 'FORMA_PAGO'
DataBinding.DataSource = DADataSource
@@ -175,35 +175,35 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
- TabOrder = 10
- Height = 100
- Width = 396
- end
- object memPlazoEntrega: TcxDBMemo
- Left = 22
- Top = 390
- Anchors = [akLeft, akTop, akRight, akBottom]
- DataBinding.DataField = 'PLAZO_ENTREGA'
- DataBinding.DataSource = DADataSource
- Properties.ScrollBars = ssVertical
- Style.BorderColor = clWindowFrame
- Style.BorderStyle = ebs3D
- Style.HotTrack = False
- Style.LookAndFeel.Kind = lfStandard
- Style.LookAndFeel.NativeStyle = True
- StyleDisabled.LookAndFeel.Kind = lfStandard
- StyleDisabled.LookAndFeel.NativeStyle = True
- StyleFocused.LookAndFeel.Kind = lfStandard
- StyleFocused.LookAndFeel.NativeStyle = True
- StyleHot.LookAndFeel.Kind = lfStandard
- StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 11
Height = 100
Width = 396
end
+ object memPlazoEntrega: TcxDBMemo
+ Left = 22
+ Top = 403
+ Anchors = [akLeft, akTop, akRight, akBottom]
+ DataBinding.DataField = 'PLAZO_ENTREGA'
+ DataBinding.DataSource = DADataSource
+ Properties.ScrollBars = ssVertical
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 12
+ Height = 100
+ Width = 396
+ end
object cbVendedor: TcxDBLookupComboBox
- Left = 131
- Top = 217
+ Left = 198
+ Top = 244
DataBinding.DataField = 'ID_VENDEDOR'
DataBinding.DataSource = DADataSource
Properties.KeyFieldNames = 'ID'
@@ -228,11 +228,11 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
- TabOrder = 9
+ TabOrder = 10
Width = 27
end
object cbTipoContrato: TcxDBComboBox
- Left = 316
+ Left = 355
Top = 82
DataBinding.DataField = 'TIPO_CONTRATO'
DataBinding.DataSource = DADataSource
@@ -258,7 +258,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Width = 113
end
object edtlREF_CLIENTE: TcxDBTextEdit
- Left = 131
+ Left = 198
Top = 55
Anchors = [akLeft, akTop, akRight]
AutoSize = False
@@ -280,20 +280,20 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Width = 335
end
inline frViewClienteContrato1: TfrViewClienteContrato
- Left = 441
+ Left = 467
Top = 28
Width = 366
Height = 270
- TabOrder = 12
+ TabOrder = 13
ReadOnly = False
- ExplicitLeft = 441
+ ExplicitLeft = 467
ExplicitTop = 28
ExplicitWidth = 366
ExplicitHeight = 270
inherited dxLayoutControl1: TdxLayoutControl
Width = 366
Height = 270
- ExplicitWidth = 366
+ ExplicitWidth = 327
ExplicitHeight = 270
inherited edtlNombre: TcxDBTextEdit
ExplicitWidth = 707
@@ -316,16 +316,12 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Width = 707
end
inherited edtCodigoPostal: TcxDBTextEdit
- Left = 262
- ExplicitLeft = 262
+ Left = 236
+ ExplicitLeft = 236
end
inherited Button3: TBitBtn
- Left = 152
- ExplicitLeft = 152
- end
- inherited cxDBTextEdit1: TcxDBTextEdit
- ExplicitWidth = 283
- Width = 283
+ Left = 126
+ ExplicitLeft = 126
end
inherited dxLayoutControl1Group_Root: TdxLayoutGroup
inherited dxLayoutControl1Item10: TdxLayoutItem
@@ -336,8 +332,8 @@ inherited frViewContratoCliente: TfrViewContratoCliente
end
end
object edtFechaDecision: TcxDBDateEdit
- Left = 131
- Top = 109
+ Left = 198
+ Top = 136
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_DECISION'
DataBinding.DataSource = DADataSource
@@ -355,12 +351,12 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
- TabOrder = 4
+ TabOrder = 5
Width = 115
end
object edtFechaPrevMontaje: TcxDBDateEdit
- Left = 131
- Top = 163
+ Left = 198
+ Top = 190
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_PREVISTA_MONTAJE'
DataBinding.DataSource = DADataSource
@@ -378,9 +374,32 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
- TabOrder = 6
+ TabOrder = 7
Width = 295
end
+ object edtFechaUltPresentacion: TcxDBDateEdit
+ Left = 198
+ Top = 109
+ Anchors = [akLeft, akTop, akRight]
+ DataBinding.DataField = 'FECHA_ULT_PRESENTACION_CLIENTE'
+ DataBinding.DataSource = DADataSource
+ Properties.DateButtons = [btnToday]
+ Properties.ImmediatePost = True
+ 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 = 4
+ Width = 106
+ end
object dxLayoutControl1Group_Root: TdxLayoutGroup
ShowCaption = False
Hidden = True
@@ -411,20 +430,30 @@ inherited frViewContratoCliente: TfrViewContratoCliente
object dxLayoutControl1Group11: TdxLayoutGroup
ShowCaption = False
Hidden = True
- LayoutDirection = ldHorizontal
ShowBorder = False
- object dxLayoutControl1Item2: TdxLayoutItem
- AutoAligns = [aaVertical]
- AlignHorz = ahClient
- Caption = 'Fecha contrato:'
- Control = edtFechaContrato
- ControlOptions.ShowBorder = False
+ object dxLayoutControl1Group10: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ LayoutDirection = ldHorizontal
+ ShowBorder = False
+ object dxLayoutControl1Item2: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahClient
+ Caption = 'Fecha contrato:'
+ Control = edtFechaContrato
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item7: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahClient
+ Caption = 'Tipo contrato:'
+ Control = cbTipoContrato
+ ControlOptions.ShowBorder = False
+ end
end
- object dxLayoutControl1Item7: TdxLayoutItem
- AutoAligns = [aaVertical]
- AlignHorz = ahClient
- Caption = 'Tipo contrato:'
- Control = cbTipoContrato
+ object dxLayoutControl1Item15: TdxLayoutItem
+ Caption = 'Fecha '#250'ltima actualizaci'#243'n a cliente:'
+ Control = edtFechaUltPresentacion
ControlOptions.ShowBorder = False
end
end
@@ -451,7 +480,6 @@ inherited frViewContratoCliente: TfrViewContratoCliente
ShowBorder = False
object dxLayoutControl1Group9: TdxLayoutGroup
ShowCaption = False
- Visible = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
diff --git a/Source/Modulos/Contratos de cliente/Views/uViewContratoCliente.pas b/Source/Modulos/Contratos de cliente/Views/uViewContratoCliente.pas
index 1d4b51c..d5a6dfe 100644
--- a/Source/Modulos/Contratos de cliente/Views/uViewContratoCliente.pas
+++ b/Source/Modulos/Contratos de cliente/Views/uViewContratoCliente.pas
@@ -71,6 +71,9 @@ type
edtFechaDecision: TcxDBDateEdit;
dxLayoutControl1Item14: TdxLayoutItem;
edtFechaPrevMontaje: TcxDBDateEdit;
+ dxLayoutControl1Item15: TdxLayoutItem;
+ edtFechaUltPresentacion: TcxDBDateEdit;
+ dxLayoutControl1Group10: TdxLayoutGroup;
procedure CustomViewCreate(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure bFormasPagoClick(Sender: TObject);
diff --git a/Source/Modulos/Contratos de cliente/Views/uViewContratosCliente.dfm b/Source/Modulos/Contratos de cliente/Views/uViewContratosCliente.dfm
index db37f78..c129386 100644
--- a/Source/Modulos/Contratos de cliente/Views/uViewContratosCliente.dfm
+++ b/Source/Modulos/Contratos de cliente/Views/uViewContratosCliente.dfm
@@ -22,6 +22,12 @@ inherited frViewContratosCliente: TfrViewContratosCliente
Kind = skSum
Position = spFooter
Column = cxGridViewIMPORTE_TOTAL
+ end
+ item
+ Format = ',0.00 '#8364';-,0.00 '#8364
+ Kind = skSum
+ Position = spFooter
+ Column = cxGridViewIMPORTE_DESCUENTO
end>
DataController.Summary.FooterSummaryItems = <
item
@@ -33,6 +39,11 @@ inherited frViewContratosCliente: TfrViewContratosCliente
Format = ',0.00 '#8364';-,0.00 '#8364
Kind = skSum
Column = cxGridViewIMPORTE_TOTAL
+ end
+ item
+ Format = ',0.00 '#8364';-,0.00 '#8364
+ Kind = skSum
+ Column = cxGridViewIMPORTE_DESCUENTO
end>
object cxGridViewLOPD: TcxGridDBColumn
Caption = 'GDPR'
@@ -102,6 +113,10 @@ inherited frViewContratosCliente: TfrViewContratosCliente
BestFitMaxWidth = 25
Width = 105
end
+ object cxGridViewFECHA_ULT_PRESENTACION_CLIENTE: TcxGridDBColumn
+ Caption = 'Fecha '#250'lt. actualizaci'#243'n'
+ DataBinding.FieldName = 'FECHA_ULT_PRESENTACION_CLIENTE'
+ end
object cxGridViewFECHA_DECISION: TcxGridDBColumn
Caption = 'Fecha decisi'#243'n'
DataBinding.FieldName = 'FECHA_DECISION'
@@ -153,6 +168,25 @@ inherited frViewContratosCliente: TfrViewContratosCliente
DataBinding.FieldName = 'PROVINCIA'
Visible = False
end
+ object cxGridViewIMPORTE_NETO: TcxGridDBColumn
+ Caption = 'Imp. Neto'
+ DataBinding.FieldName = 'IMPORTE_NETO'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
+ object cxGridViewDESCUENTO: TcxGridDBColumn
+ Caption = 'Dto'
+ DataBinding.FieldName = 'DESCUENTO'
+ HeaderAlignmentHorz = taRightJustify
+ end
+ object cxGridViewIMPORTE_DESCUENTO: TcxGridDBColumn
+ Caption = 'Imp. Dto'
+ DataBinding.FieldName = 'IMPORTE_DESCUENTO'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
object cxGridViewIMPORTE_TOTAL: TcxGridDBColumn
Caption = 'Importe total'
DataBinding.FieldName = 'IMPORTE_TOTAL'
diff --git a/Source/Modulos/Contratos de cliente/Views/uViewContratosCliente.pas b/Source/Modulos/Contratos de cliente/Views/uViewContratosCliente.pas
index af255f2..957c6d4 100644
--- a/Source/Modulos/Contratos de cliente/Views/uViewContratosCliente.pas
+++ b/Source/Modulos/Contratos de cliente/Views/uViewContratosCliente.pas
@@ -63,6 +63,10 @@ type
TBXSeparatorItem3: TTBXSeparatorItem;
TBXSeparatorItem4: TTBXSeparatorItem;
cxGridViewPROCEDENCIA_CLIENTE: TcxGridDBColumn;
+ cxGridViewDESCUENTO: TcxGridDBColumn;
+ cxGridViewIMPORTE_DESCUENTO: TcxGridDBColumn;
+ cxGridViewIMPORTE_NETO: TcxGridDBColumn;
+ cxGridViewFECHA_ULT_PRESENTACION_CLIENTE: TcxGridDBColumn;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel:
TcxGridLevel);
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
diff --git a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
index 80fb046..7fbf665 100644
--- a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
+++ b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
@@ -1426,18 +1426,17 @@ var
ARecibos: IBizRecibosCliente;
ARecibosACuenta: IBizRecibosCliente;
AFechaVencimiento: TDateTime;
- i: Integer;
ADiaVencimiento: Integer;
ADiasMas: Integer;
BSemaforo: Boolean;
AImporteTotal: Currency;
- aa: String;
+ i: Integer;
begin
if not Assigned(AFactura) then
Exit;
- aa:= '';
- i := 1;
+
+ i := 1;
AImporteTotal := AFactura.IMPORTE_TOTAL;
AFormasPagoController := TFormasPagoController.Create;
diff --git a/Source/Modulos/Facturas de cliente/FacturasCliente_Group.groupproj b/Source/Modulos/Facturas de cliente/FacturasCliente_Group.groupproj
index b9cb569..921363b 100644
--- a/Source/Modulos/Facturas de cliente/FacturasCliente_Group.groupproj
+++ b/Source/Modulos/Facturas de cliente/FacturasCliente_Group.groupproj
@@ -27,6 +27,7 @@
+
@@ -211,6 +212,15 @@
+
+
+
+
+
+
+
+
+
@@ -302,13 +312,13 @@
-
+
-
+
-
+
\ No newline at end of file
diff --git a/Source/Modulos/Facturas de cliente/Plugin/uPluginFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Plugin/uPluginFacturasCliente.pas
index 172e235..69fe754 100644
--- a/Source/Modulos/Facturas de cliente/Plugin/uPluginFacturasCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Plugin/uPluginFacturasCliente.pas
@@ -31,7 +31,7 @@ implementation
{$R *.dfm}
uses
- Forms, Dialogs, SysUtils,
+ Forms, Dialogs, SysUtils, uFactuGES_App,
uFacturasClienteController, uBizFacturasCliente, uFacturasClienteViewRegister;
function GetModule : TModuleController;
@@ -57,6 +57,14 @@ constructor TPluginFacturasCliente.Create(AOwner: TComponent);
begin
inherited;
uFacturasClienteViewRegister.RegisterViews;
+
+ //El usuario vendedor y logistica será restringido
+ if ((AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PREFIL_LOGISTICA) OR (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_VENDEDOR)) then
+ begin
+ actFacturasCliente.Visible := False;
+ actFacturasCliente.Visible := False;
+ end;
+
end;
destructor TPluginFacturasCliente.Destroy;
diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm
index d8515b1..4e7df42 100644
--- a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm
@@ -884,7 +884,7 @@ object RptPresupuestosCliente: TRptPresupuestosCliente
PrintOptions.Printer = 'Por defecto'
PrintOptions.PrintOnSheet = 0
ReportOptions.CreateDate = 39065.872423495400000000
- ReportOptions.LastChange = 41589.784037662040000000
+ ReportOptions.LastChange = 45230.494198148150000000
ScriptLanguage = 'PascalScript'
ShowProgress = False
StoreInDFM = False
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.dfm
index f855826..450e36d 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.dfm
@@ -1,22 +1,32 @@
inherited fEditorPresupuestosClientePreview: TfEditorPresupuestosClientePreview
Caption = 'Previsualizar el pedidos proveedor'
- ExplicitWidth = 320
- ExplicitHeight = 240
+ ExplicitHeight = 553
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
+ ExplicitTop = 89
inherited Image1: TImage
ExplicitLeft = 768
end
end
inherited TBXDock: TTBXDock
inherited TBXToolbar1: TTBXToolbar
- ExplicitWidth = 540
+ ExplicitWidth = 684
object TBXItem58: TTBXItem [1]
Action = actExportarRTF
DisplayMode = nbdmTextOnlyInMenus
Images = SmallImages
end
+ object TBXItem59: TTBXItem [19]
+ Action = actPrueba
+ end
+ end
+ end
+ inherited PreviewActionList: TActionList
+ object actPrueba: TAction
+ Category = 'Ver'
+ Caption = 'actPrueba'
+ OnExecute = actPruebaExecute
end
end
end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.pas b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.pas
index bcecb69..90026be 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.pas
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.pas
@@ -10,11 +10,15 @@ uses
JvComponentBase, uEditorPreview, frxExportImage, frxExportPDF, frxDCtrl,
frxClass, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList,
ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar,
- pngimage, frxExportText, frxExportRTF, frxExportMail, frxExportXLS;
+ pngimage, frxExportText, frxExportRTF, frxExportMail, frxExportXLS,
+ frxExportCSV;
type
TfEditorPresupuestosClientePreview = class(TfEditorPreview, IEditorPresupuestosClientePreview)
TBXItem58: TTBXItem;
+ actPrueba: TAction;
+ TBXItem59: TTBXItem;
+ procedure actPruebaExecute(Sender: TObject);
end;
@@ -25,4 +29,10 @@ implementation
uses
uPresupuestosClienteReportController, uIntegerListUtils, uDialogUtils;
+procedure TfEditorPresupuestosClientePreview.actPruebaExecute(Sender: TObject);
+begin
+ inherited;
+///
+end;
+
end.
diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL
index d5b7ff0..3e94afd 100644
--- a/Source/Servicios/FactuGES.RODL
+++ b/Source/Servicios/FactuGES.RODL
@@ -304,6 +304,8 @@
+
+
@@ -314,6 +316,8 @@
+
+
@@ -921,6 +925,8 @@
+
+
diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas
index 82805ef..31b0168 100644
--- a/Source/Servicios/FactuGES_Intf.pas
+++ b/Source/Servicios/FactuGES_Intf.pas
@@ -516,8 +516,8 @@ type
{ IsrvFacturasCliente }
IsrvFacturasCliente = interface(IDataAbstractService)
['{56B4FFF0-AB1B-46B2-BA16-ABD5360F6311}']
- function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
- function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
+ function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean): Binary;
+ function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean): Binary;
end;
{ CosrvFacturasCliente }
@@ -530,8 +530,8 @@ type
protected
function __GetInterfaceName:string; override;
- function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
- function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
+ function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean): Binary;
+ function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean): Binary;
end;
{ IsrvFacturasProveedor }
@@ -859,7 +859,7 @@ type
{ IsrvContratosCliente }
IsrvContratosCliente = interface(IDataAbstractService)
['{ADBF1627-F507-4A0F-818E-38BAE28579B6}']
- function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary;
+ function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary;
end;
@@ -873,7 +873,7 @@ type
protected
function __GetInterfaceName:string; override;
- function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary;
+ function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary;
end;
@@ -1817,13 +1817,14 @@ begin
result := 'srvFacturasCliente';
end;
-function TsrvFacturasCliente_Proxy.GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
+function TsrvFacturasCliente_Proxy.GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean): Binary;
begin
try
result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
__Message.Write('FacturaID', TypeInfo(FactuGES_Intf.TIntegerArray), FacturaID, []);
__Message.Write('VerDatosCliente', TypeInfo(Boolean), VerDatosCliente, []);
+ __Message.Write('EmpresaAcota', TypeInfo(Boolean), EmpresaAcota, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
@@ -1835,13 +1836,14 @@ begin
end
end;
-function TsrvFacturasCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
+function TsrvFacturasCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean): Binary;
begin
try
result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnPDF');
__Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
__Message.Write('VerDatosCliente', TypeInfo(Boolean), VerDatosCliente, []);
+ __Message.Write('EmpresaAcota', TypeInfo(Boolean), EmpresaAcota, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
@@ -2778,13 +2780,14 @@ begin
result := 'srvContratosCliente';
end;
-function TsrvContratosCliente_Proxy.GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary;
+function TsrvContratosCliente_Proxy.GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary;
begin
try
result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInforme');
__Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
__Message.Write('VerCondiciones', TypeInfo(Boolean), VerCondiciones, []);
+ __Message.Write('TamLetra', TypeInfo(Integer), TamLetra, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas
index 4c878a8..a37ec87 100644
--- a/Source/Servicios/FactuGES_Invk.pas
+++ b/Source/Servicios/FactuGES_Invk.pas
@@ -934,10 +934,11 @@ begin
end;
procedure TsrvFacturasCliente_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
-{ function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary; }
+{ function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean): Binary; }
var
FacturaID: FactuGES_Intf.TIntegerArray;
VerDatosCliente: Boolean;
+ EmpresaAcota: Boolean;
lResult: Binary;
__lObjectDisposer: TROObjectDisposer;
begin
@@ -946,8 +947,9 @@ begin
try
__Message.Read('FacturaID', TypeInfo(FactuGES_Intf.TIntegerArray), FacturaID, []);
__Message.Read('VerDatosCliente', TypeInfo(Boolean), VerDatosCliente, []);
+ __Message.Read('EmpresaAcota', TypeInfo(Boolean), EmpresaAcota, []);
- lResult := (__Instance as IsrvFacturasCliente).GenerateReport(FacturaID, VerDatosCliente);
+ lResult := (__Instance as IsrvFacturasCliente).GenerateReport(FacturaID, VerDatosCliente, EmpresaAcota);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerateReportResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []);
@@ -966,10 +968,11 @@ begin
end;
procedure TsrvFacturasCliente_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
-{ function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean): Binary; }
+{ function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean): Binary; }
var
ListaID: FactuGES_Intf.TIntegerArray;
VerDatosCliente: Boolean;
+ EmpresaAcota: Boolean;
lResult: Binary;
__lObjectDisposer: TROObjectDisposer;
begin
@@ -978,8 +981,9 @@ begin
try
__Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
__Message.Read('VerDatosCliente', TypeInfo(Boolean), VerDatosCliente, []);
+ __Message.Read('EmpresaAcota', TypeInfo(Boolean), EmpresaAcota, []);
- lResult := (__Instance as IsrvFacturasCliente).GenerarInformeEnPDF(ListaID, VerDatosCliente);
+ lResult := (__Instance as IsrvFacturasCliente).GenerarInformeEnPDF(ListaID, VerDatosCliente, EmpresaAcota);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerarInformeEnPDFResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []);
@@ -2289,10 +2293,11 @@ begin
end;
procedure TsrvContratosCliente_Invoker.Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
-{ function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; }
+{ function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary; }
var
ListaID: FactuGES_Intf.TIntegerArray;
VerCondiciones: Boolean;
+ TamLetra: Integer;
lResult: Binary;
__lObjectDisposer: TROObjectDisposer;
begin
@@ -2301,8 +2306,9 @@ begin
try
__Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
__Message.Read('VerCondiciones', TypeInfo(Boolean), VerCondiciones, []);
+ __Message.Read('TamLetra', TypeInfo(Integer), TamLetra, []);
- lResult := (__Instance as IsrvContratosCliente).GenerarInforme(ListaID, VerCondiciones);
+ lResult := (__Instance as IsrvContratosCliente).GenerarInforme(ListaID, VerCondiciones, TamLetra);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvContratosCliente', 'GenerarInformeResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []);
diff --git a/Source/Servicios/RODLFile.res b/Source/Servicios/RODLFile.res
index 86bfa9b..497d97a 100644
Binary files a/Source/Servicios/RODLFile.res and b/Source/Servicios/RODLFile.res differ
diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr
index 7947910..666bf75 100644
--- a/Source/Servidor/FactuGES_Server.dpr
+++ b/Source/Servidor/FactuGES_Server.dpr
@@ -135,10 +135,10 @@ uses
schFormasPagoServer_Intf in '..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas',
schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas',
schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas',
- schContratosClienteClient_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteClient_Intf.pas',
- schContratosClienteServer_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas',
schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas',
- schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas';
+ schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas',
+ schContratosClienteClient_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteClient_Intf.pas',
+ schContratosClienteServer_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas';
{$R *.res}
{$R ..\Servicios\RODLFile.res}
diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj
index 2415363..c570ce8 100644
--- a/Source/Servidor/FactuGES_Server.dproj
+++ b/Source/Servidor/FactuGES_Server.dproj
@@ -28,7 +28,7 @@
Delphi.Personality
- FalseTrueFalseTrueFalse2260FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.2.6.0FactuGES v2(Servidor)2.2.6.0viernes, 03 de junio de 2022 11:16
+ FalseTrueFalseTrueFalse2300FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.3.0.0FactuGES v2(Servidor)2.3.0.0jueves, 25 de abril de 2024 17:41
File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found
FactuGES_Server.dpr
diff --git a/Source/Servidor/FactuGES_Server.res b/Source/Servidor/FactuGES_Server.res
index feff8ee..c7a77d5 100644
Binary files a/Source/Servidor/FactuGES_Server.res and b/Source/Servidor/FactuGES_Server.res differ