Compare commits

...

4 Commits

157 changed files with 915 additions and 252 deletions

Binary file not shown.

View File

@ -52,7 +52,7 @@
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>VCLApplication</Borland.ProjectType> <Borland.ProjectType>VCLApplication</Borland.ProjectType>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">3</VersionInfo><VersionInfo Name="Release">3</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.3.3.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES v2</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES v2</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.3.3.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">3</VersionInfo><VersionInfo Name="Release">6</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.3.6.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES v2</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES v2</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.3.6.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl">File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found</Excluded_Packages> <Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl">File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">FactuGES.dpr</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject> </Excluded_Packages><Source><Source Name="MainSource">FactuGES.dpr</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject>

Binary file not shown.

View File

@ -58,34 +58,34 @@
<DelphiCompile Include="GUIBase.dpk"> <DelphiCompile Include="GUIBase.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\Modulos\Facturas de proveedor\Base.dcp" /> <DCCReference Include="..\Servidor\Base.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\ccpackD11.dcp" /> <DCCReference Include="..\Servidor\ccpackD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\cxDataD11.dcp" /> <DCCReference Include="..\Servidor\cxDataD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\cxEditorsD11.dcp" /> <DCCReference Include="..\Servidor\cxEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\cxExportD11.dcp" /> <DCCReference Include="..\Servidor\cxExportD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\cxLibraryD11.dcp" /> <DCCReference Include="..\Servidor\cxLibraryD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dbrtl.dcp" /> <DCCReference Include="..\Servidor\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dxGDIPlusD11.dcp" /> <DCCReference Include="..\Servidor\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dxLayoutControlD11.dcp" /> <DCCReference Include="..\Servidor\dxLayoutControlD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dxPScxCommonD11.dcp" /> <DCCReference Include="..\Servidor\dxPScxCommonD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dxPScxGrid6LnkD11.dcp" /> <DCCReference Include="..\Servidor\dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dxThemeD11.dcp" /> <DCCReference Include="..\Servidor\dxThemeD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\frx11.dcp" /> <DCCReference Include="..\Servidor\frx11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\frxe11.dcp" /> <DCCReference Include="..\Servidor\frxe11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\fs11.dcp" /> <DCCReference Include="..\Servidor\fs11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvAppFrmD11R.dcp" /> <DCCReference Include="..\Servidor\JvAppFrmD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvCtrlsD11R.dcp" /> <DCCReference Include="..\Servidor\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvGlobusD11R.dcp" /> <DCCReference Include="..\Servidor\JvGlobusD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\PngComponentsD10.dcp" /> <DCCReference Include="..\Servidor\PngComponentsD10.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\PNG_D10.dcp" /> <DCCReference Include="..\Servidor\PNG_D10.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\rtl.dcp" /> <DCCReference Include="..\Servidor\rtl.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\tb2k_d10.dcp" /> <DCCReference Include="..\Servidor\tb2k_d10.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\tbx_d10.dcp" /> <DCCReference Include="..\Servidor\tbx_d10.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vcl.dcp" /> <DCCReference Include="..\Servidor\vcl.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vclactnband.dcp" /> <DCCReference Include="..\Servidor\vclactnband.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vcldb.dcp" /> <DCCReference Include="..\Servidor\vcldb.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vcljpg.dcp" /> <DCCReference Include="..\Servidor\vcljpg.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vclx.dcp" /> <DCCReference Include="..\Servidor\vclx.dcp" />
<DCCReference Include="uDialogBase.pas"> <DCCReference Include="uDialogBase.pas">
<Form>fDialogBase</Form> <Form>fDialogBase</Form>
</DCCReference> </DCCReference>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -299,7 +299,13 @@ begin
begin begin
AContrato.DataTable.Edit; AContrato.DataTable.Edit;
AContrato.SITUACION := Situacion; AContrato.SITUACION := Situacion;
AContrato.FECHA_DECISION := FechaDecision; if Situacion = SITUACION_CONTRATO_RECHAZADO then
begin
AContrato.FECHA_RECHAZO := FechaDecision;
AContrato.FECHA_PREVISTA_MONTAJEIsNull := True;
end
else
AContrato.FECHA_DECISION := FechaDecision;
AContrato.DataTable.Post; AContrato.DataTable.Post;
end; end;
@ -315,7 +321,13 @@ begin
begin begin
AContrato.DataTable.Edit; AContrato.DataTable.Edit;
AContrato.SITUACION := Situacion; AContrato.SITUACION := Situacion;
AContrato.FECHA_DECISION := FechaDecision; if Situacion = SITUACION_CONTRATO_RECHAZADO then
begin
AContrato.FECHA_RECHAZO := FechaDecision;
AContrato.FECHA_PREVISTA_MONTAJEIsNull := True;
end
else
AContrato.FECHA_DECISION := FechaDecision;
AContrato.DataTable.Post; AContrato.DataTable.Post;
end; end;
Next; Next;

View File

@ -382,6 +382,10 @@ inherited DataModuleContratosCliente: TDataModuleContratosCliente
item item
Name = 'FECHA_ULT_PRESENTACION_CLIENTE' Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
DataType = datDateTime DataType = datDateTime
end
item
Name = 'FECHA_RECHAZO'
DataType = datDateTime
end> end>
Params = <> Params = <>
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]

View File

@ -9,13 +9,13 @@ const
{ Data table rules ids { Data table rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_Valores = '{52B71EED-9363-4A19-B433-C4917CBE0490}'; RID_Valores = '{9700A664-C99F-48AA-A7B6-705238D37C50}';
RID_Propiedades = '{28500097-0FDC-4DBF-8047-FF879A5DDC4A}'; RID_Propiedades = '{EC6EA736-6542-4230-9BA2-AA774B0DB400}';
RID_ListaAnosContratos = '{587736A2-5CC2-48D3-B32A-E54D4E7E23B5}'; RID_ListaAnosContratos = '{DEF02794-EC40-47F0-A94C-DB170EAB2B61}';
RID_ContratosClienteBeneficios = '{C9C242F8-9818-4C50-B4F8-12D1F83C3682}'; RID_ContratosClienteBeneficios = '{6C1D5DE4-C825-4354-B05D-5B0524347E6F}';
RID_ContratosCliente = '{25E7020F-9DCA-4458-BB59-6F80612DB958}'; RID_ContratosCliente = '{70625CCC-4B5D-494F-B047-42E0654C241F}';
RID_TiposCapitulos = '{FF4FB40E-4BDD-4D49-8893-AEF4013E66C7}'; RID_TiposCapitulos = '{91249E68-624E-41DB-9B31-838D8334D014}';
RID_ContratosCliente_Detalles = '{893CDA38-9F05-42E6-A176-200846BFB3B4}'; RID_ContratosCliente_Detalles = '{C4B0A81E-1FCC-42CD-B0E2-11B61C3D80A7}';
{ Data table names } { Data table names }
nme_Valores = 'Valores'; nme_Valores = 'Valores';
@ -144,6 +144,7 @@ const
fld_ContratosClientePROCEDENCIA_CLIENTE = 'PROCEDENCIA_CLIENTE'; fld_ContratosClientePROCEDENCIA_CLIENTE = 'PROCEDENCIA_CLIENTE';
fld_ContratosClienteEMAIL_1 = 'EMAIL_1'; fld_ContratosClienteEMAIL_1 = 'EMAIL_1';
fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE = 'FECHA_ULT_PRESENTACION_CLIENTE'; fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE = 'FECHA_ULT_PRESENTACION_CLIENTE';
fld_ContratosClienteFECHA_RECHAZO = 'FECHA_RECHAZO';
{ ContratosCliente field indexes } { ContratosCliente field indexes }
idx_ContratosClienteID = 0; idx_ContratosClienteID = 0;
@ -203,6 +204,7 @@ const
idx_ContratosClientePROCEDENCIA_CLIENTE = 54; idx_ContratosClientePROCEDENCIA_CLIENTE = 54;
idx_ContratosClienteEMAIL_1 = 55; idx_ContratosClienteEMAIL_1 = 55;
idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE = 56; idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE = 56;
idx_ContratosClienteFECHA_RECHAZO = 57;
{ TiposCapitulos fields } { TiposCapitulos fields }
fld_TiposCapitulosID = 'ID'; fld_TiposCapitulosID = 'ID';
@ -261,7 +263,7 @@ const
type type
{ IValores } { IValores }
IValores = interface(IDAStronglyTypedDataTable) IValores = interface(IDAStronglyTypedDataTable)
['{D4C72CBB-5A40-48B5-852D-1A61B100DFEB}'] ['{584885FC-527A-4BA9-98B6-64EC56AB2F15}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -320,7 +322,7 @@ type
{ IPropiedades } { IPropiedades }
IPropiedades = interface(IDAStronglyTypedDataTable) IPropiedades = interface(IDAStronglyTypedDataTable)
['{F803D346-E489-4868-B0A3-F1C2E96E16B2}'] ['{31AC7CB8-FA2C-4508-9285-3410D3912EFD}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -379,7 +381,7 @@ type
{ IListaAnosContratos } { IListaAnosContratos }
IListaAnosContratos = interface(IDAStronglyTypedDataTable) IListaAnosContratos = interface(IDAStronglyTypedDataTable)
['{B9314FAD-1F9D-40AE-BA67-0D5AB968CB40}'] ['{B425B427-D454-4FFB-983E-41AC8EDB68A1}']
{ Property getters and setters } { Property getters and setters }
function GetANOValue: String; function GetANOValue: String;
procedure SetANOValue(const aValue: String); procedure SetANOValue(const aValue: String);
@ -414,7 +416,7 @@ type
{ IContratosClienteBeneficios } { IContratosClienteBeneficios }
IContratosClienteBeneficios = interface(IDAStronglyTypedDataTable) IContratosClienteBeneficios = interface(IDAStronglyTypedDataTable)
['{EFDA00B5-AC6D-4E4E-A034-0AA20C0A990A}'] ['{21CAC860-3B38-4B1B-8510-FD380C7ADFFE}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -617,7 +619,7 @@ type
{ IContratosCliente } { IContratosCliente }
IContratosCliente = interface(IDAStronglyTypedDataTable) IContratosCliente = interface(IDAStronglyTypedDataTable)
['{F8022D8A-297E-4D9D-8AC6-B18A5C333FE6}'] ['{73D85A00-9EA2-401B-93DC-EDC60F0AC62D}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -841,6 +843,10 @@ type
procedure SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime); procedure SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime);
function GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean; function GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean;
procedure SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean); procedure SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean);
function GetFECHA_RECHAZOValue: DateTime;
procedure SetFECHA_RECHAZOValue(const aValue: DateTime);
function GetFECHA_RECHAZOIsNull: Boolean;
procedure SetFECHA_RECHAZOIsNull(const aValue: Boolean);
{ Properties } { Properties }
@ -958,6 +964,8 @@ type
property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; 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_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 FECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean read GetFECHA_ULT_PRESENTACION_CLIENTEIsNull write SetFECHA_ULT_PRESENTACION_CLIENTEIsNull;
property FECHA_RECHAZO: DateTime read GetFECHA_RECHAZOValue write SetFECHA_RECHAZOValue;
property FECHA_RECHAZOIsNull: Boolean read GetFECHA_RECHAZOIsNull write SetFECHA_RECHAZOIsNull;
end; end;
{ TContratosClienteDataTableRules } { TContratosClienteDataTableRules }
@ -1199,6 +1207,10 @@ type
procedure SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime); virtual; procedure SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime); virtual;
function GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean; virtual; function GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean; virtual;
procedure SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean); virtual; procedure SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetFECHA_RECHAZOValue: DateTime; virtual;
procedure SetFECHA_RECHAZOValue(const aValue: DateTime); virtual;
function GetFECHA_RECHAZOIsNull: Boolean; virtual;
procedure SetFECHA_RECHAZOIsNull(const aValue: Boolean); virtual;
{ Properties } { Properties }
property ID: Integer read GetIDValue write SetIDValue; property ID: Integer read GetIDValue write SetIDValue;
@ -1315,6 +1327,8 @@ type
property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; 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_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 FECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean read GetFECHA_ULT_PRESENTACION_CLIENTEIsNull write SetFECHA_ULT_PRESENTACION_CLIENTEIsNull;
property FECHA_RECHAZO: DateTime read GetFECHA_RECHAZOValue write SetFECHA_RECHAZOValue;
property FECHA_RECHAZOIsNull: Boolean read GetFECHA_RECHAZOIsNull write SetFECHA_RECHAZOIsNull;
public public
constructor Create(aDataTable: TDADataTable); override; constructor Create(aDataTable: TDADataTable); override;
@ -1327,7 +1341,7 @@ type
} }
{ ITiposCapitulos } { ITiposCapitulos }
ITiposCapitulos = interface(IDAStronglyTypedDataTable) ITiposCapitulos = interface(IDAStronglyTypedDataTable)
['{B0A1870A-440A-4DA1-A1F7-BC9AD8D5F1A2}'] ['{C366B6C5-E4C3-444F-A3E3-E17B42B57DC1}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -1422,7 +1436,7 @@ type
{ IContratosCliente_Detalles } { IContratosCliente_Detalles }
IContratosCliente_Detalles = interface(IDAStronglyTypedDataTable) IContratosCliente_Detalles = interface(IDAStronglyTypedDataTable)
['{0CF18EC5-18A6-409F-B07C-417A09924B1C}'] ['{ED020C20-17FD-4FC2-A75D-A683AC6EE042}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -3401,6 +3415,27 @@ begin
DataTable.Fields[idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE].AsVariant := Null; DataTable.Fields[idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE].AsVariant := Null;
end; end;
function TContratosClienteDataTableRules.GetFECHA_RECHAZOValue: DateTime;
begin
result := DataTable.Fields[idx_ContratosClienteFECHA_RECHAZO].AsDateTime;
end;
procedure TContratosClienteDataTableRules.SetFECHA_RECHAZOValue(const aValue: DateTime);
begin
DataTable.Fields[idx_ContratosClienteFECHA_RECHAZO].AsDateTime := aValue;
end;
function TContratosClienteDataTableRules.GetFECHA_RECHAZOIsNull: boolean;
begin
result := DataTable.Fields[idx_ContratosClienteFECHA_RECHAZO].IsNull;
end;
procedure TContratosClienteDataTableRules.SetFECHA_RECHAZOIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_ContratosClienteFECHA_RECHAZO].AsVariant := Null;
end;
{ TTiposCapitulosDataTableRules } { TTiposCapitulosDataTableRules }
constructor TTiposCapitulosDataTableRules.Create(aDataTable: TDADataTable); constructor TTiposCapitulosDataTableRules.Create(aDataTable: TDADataTable);

View File

@ -9,18 +9,18 @@ const
{ Delta rules ids { Delta rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_ValoresDelta = '{2AA17EFC-B6ED-42C1-8998-4A61B38C6C9C}'; RID_ValoresDelta = '{4DFF50AE-FD6A-44EA-B636-49EBA31E4FB3}';
RID_PropiedadesDelta = '{CFCEAC41-2605-4AB8-8708-9376886949CD}'; RID_PropiedadesDelta = '{329C5B5D-C5D8-4ED4-A927-D3872EE2D377}';
RID_ListaAnosContratosDelta = '{3CF93616-7DEB-4108-BBF9-DF16A4F51DF1}'; RID_ListaAnosContratosDelta = '{4F49F674-B444-42C6-BB05-8D804D176E74}';
RID_ContratosClienteBeneficiosDelta = '{0B3B92D0-5683-4069-BCC9-BF13F3D32B81}'; RID_ContratosClienteBeneficiosDelta = '{D276DE4B-DED7-4DF7-BA03-5BA6662B4763}';
RID_ContratosClienteDelta = '{5972C7CE-C947-4BB7-ADA5-E24116CC4879}'; RID_ContratosClienteDelta = '{3CAE4DFF-C9A2-4486-8C92-705B6EB93DCB}';
RID_TiposCapitulosDelta = '{C2270A90-511B-4330-B083-2AB5AE7B2621}'; RID_TiposCapitulosDelta = '{0CE1D021-C816-464F-8BDE-F1892636EFFB}';
RID_ContratosCliente_DetallesDelta = '{D393C1E6-380F-4806-9BE9-C4894A4D3E3E}'; RID_ContratosCliente_DetallesDelta = '{E213EFE6-9AA9-4E94-BF7F-23E37D48392F}';
type type
{ IValoresDelta } { IValoresDelta }
IValoresDelta = interface(IValores) IValoresDelta = interface(IValores)
['{2AA17EFC-B6ED-42C1-8998-4A61B38C6C9C}'] ['{4DFF50AE-FD6A-44EA-B636-49EBA31E4FB3}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_PROPIEDADValue : Integer; function GetOldID_PROPIEDADValue : Integer;
@ -78,7 +78,7 @@ type
{ IPropiedadesDelta } { IPropiedadesDelta }
IPropiedadesDelta = interface(IPropiedades) IPropiedadesDelta = interface(IPropiedades)
['{CFCEAC41-2605-4AB8-8708-9376886949CD}'] ['{329C5B5D-C5D8-4ED4-A927-D3872EE2D377}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldDESCRIPCIONValue : String; function GetOldDESCRIPCIONValue : String;
@ -136,7 +136,7 @@ type
{ IListaAnosContratosDelta } { IListaAnosContratosDelta }
IListaAnosContratosDelta = interface(IListaAnosContratos) IListaAnosContratosDelta = interface(IListaAnosContratos)
['{3CF93616-7DEB-4108-BBF9-DF16A4F51DF1}'] ['{4F49F674-B444-42C6-BB05-8D804D176E74}']
{ Property getters and setters } { Property getters and setters }
function GetOldANOValue : String; function GetOldANOValue : String;
@ -170,7 +170,7 @@ type
{ IContratosClienteBeneficiosDelta } { IContratosClienteBeneficiosDelta }
IContratosClienteBeneficiosDelta = interface(IContratosClienteBeneficios) IContratosClienteBeneficiosDelta = interface(IContratosClienteBeneficios)
['{0B3B92D0-5683-4069-BCC9-BF13F3D32B81}'] ['{D276DE4B-DED7-4DF7-BA03-5BA6662B4763}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldREFERENCIAValue : String; function GetOldREFERENCIAValue : String;
@ -372,7 +372,7 @@ type
{ IContratosClienteDelta } { IContratosClienteDelta }
IContratosClienteDelta = interface(IContratosCliente) IContratosClienteDelta = interface(IContratosCliente)
['{5972C7CE-C947-4BB7-ADA5-E24116CC4879}'] ['{3CAE4DFF-C9A2-4486-8C92-705B6EB93DCB}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer; function GetOldID_EMPRESAValue : Integer;
@ -431,6 +431,7 @@ type
function GetOldPROCEDENCIA_CLIENTEValue : String; function GetOldPROCEDENCIA_CLIENTEValue : String;
function GetOldEMAIL_1Value : String; function GetOldEMAIL_1Value : String;
function GetOldFECHA_ULT_PRESENTACION_CLIENTEValue : DateTime; function GetOldFECHA_ULT_PRESENTACION_CLIENTEValue : DateTime;
function GetOldFECHA_RECHAZOValue : DateTime;
{ Properties } { Properties }
property OldID : Integer read GetOldIDValue; property OldID : Integer read GetOldIDValue;
@ -490,6 +491,7 @@ type
property OldPROCEDENCIA_CLIENTE : String read GetOldPROCEDENCIA_CLIENTEValue; property OldPROCEDENCIA_CLIENTE : String read GetOldPROCEDENCIA_CLIENTEValue;
property OldEMAIL_1 : String read GetOldEMAIL_1Value; property OldEMAIL_1 : String read GetOldEMAIL_1Value;
property OldFECHA_ULT_PRESENTACION_CLIENTE : DateTime read GetOldFECHA_ULT_PRESENTACION_CLIENTEValue; property OldFECHA_ULT_PRESENTACION_CLIENTE : DateTime read GetOldFECHA_ULT_PRESENTACION_CLIENTEValue;
property OldFECHA_RECHAZO : DateTime read GetOldFECHA_RECHAZOValue;
end; end;
{ TContratosClienteBusinessProcessorRules } { TContratosClienteBusinessProcessorRules }
@ -845,6 +847,12 @@ type
function GetOldFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean; virtual; function GetOldFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean; virtual;
procedure SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime); virtual; procedure SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime); virtual;
procedure SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean); virtual; procedure SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetFECHA_RECHAZOValue: DateTime; virtual;
function GetFECHA_RECHAZOIsNull: Boolean; virtual;
function GetOldFECHA_RECHAZOValue: DateTime; virtual;
function GetOldFECHA_RECHAZOIsNull: Boolean; virtual;
procedure SetFECHA_RECHAZOValue(const aValue: DateTime); virtual;
procedure SetFECHA_RECHAZOIsNull(const aValue: Boolean); virtual;
{ Properties } { Properties }
property ID : Integer read GetIDValue write SetIDValue; property ID : Integer read GetIDValue write SetIDValue;
@ -1075,6 +1083,10 @@ type
property FECHA_ULT_PRESENTACION_CLIENTEIsNull : Boolean read GetFECHA_ULT_PRESENTACION_CLIENTEIsNull write SetFECHA_ULT_PRESENTACION_CLIENTEIsNull; 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_CLIENTE : DateTime read GetOldFECHA_ULT_PRESENTACION_CLIENTEValue;
property OldFECHA_ULT_PRESENTACION_CLIENTEIsNull : Boolean read GetOldFECHA_ULT_PRESENTACION_CLIENTEIsNull; property OldFECHA_ULT_PRESENTACION_CLIENTEIsNull : Boolean read GetOldFECHA_ULT_PRESENTACION_CLIENTEIsNull;
property FECHA_RECHAZO : DateTime read GetFECHA_RECHAZOValue write SetFECHA_RECHAZOValue;
property FECHA_RECHAZOIsNull : Boolean read GetFECHA_RECHAZOIsNull write SetFECHA_RECHAZOIsNull;
property OldFECHA_RECHAZO : DateTime read GetOldFECHA_RECHAZOValue;
property OldFECHA_RECHAZOIsNull : Boolean read GetOldFECHA_RECHAZOIsNull;
public public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override; constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@ -1084,7 +1096,7 @@ type
{ ITiposCapitulosDelta } { ITiposCapitulosDelta }
ITiposCapitulosDelta = interface(ITiposCapitulos) ITiposCapitulosDelta = interface(ITiposCapitulos)
['{C2270A90-511B-4330-B083-2AB5AE7B2621}'] ['{0CE1D021-C816-464F-8BDE-F1892636EFFB}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldPOSICIONValue : Integer; function GetOldPOSICIONValue : Integer;
@ -1178,7 +1190,7 @@ type
{ IContratosCliente_DetallesDelta } { IContratosCliente_DetallesDelta }
IContratosCliente_DetallesDelta = interface(IContratosCliente_Detalles) IContratosCliente_DetallesDelta = interface(IContratosCliente_Detalles)
['{D393C1E6-380F-4806-9BE9-C4894A4D3E3E}'] ['{E213EFE6-9AA9-4E94-BF7F-23E37D48392F}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_CONTRATOValue : Integer; function GetOldID_CONTRATOValue : Integer;
@ -3953,6 +3965,37 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE] := Null; BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE] := Null;
end; end;
function TContratosClienteBusinessProcessorRules.GetFECHA_RECHAZOValue: DateTime;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteFECHA_RECHAZO];
end;
function TContratosClienteBusinessProcessorRules.GetFECHA_RECHAZOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteFECHA_RECHAZO]);
end;
function TContratosClienteBusinessProcessorRules.GetOldFECHA_RECHAZOValue: DateTime;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContratosClienteFECHA_RECHAZO];
end;
function TContratosClienteBusinessProcessorRules.GetOldFECHA_RECHAZOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContratosClienteFECHA_RECHAZO]);
end;
procedure TContratosClienteBusinessProcessorRules.SetFECHA_RECHAZOValue(const aValue: DateTime);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteFECHA_RECHAZO] := aValue;
end;
procedure TContratosClienteBusinessProcessorRules.SetFECHA_RECHAZOIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteFECHA_RECHAZO] := Null;
end;
{ TTiposCapitulosBusinessProcessorRules } { TTiposCapitulosBusinessProcessorRules }
constructor TTiposCapitulosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); constructor TTiposCapitulosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);

View File

@ -510,6 +510,10 @@ object srvContratosCliente: TsrvContratosCliente
item item
DatasetField = 'FECHA_ULT_PRESENTACION_CLIENTE' DatasetField = 'FECHA_ULT_PRESENTACION_CLIENTE'
TableField = 'FECHA_ULT_PRESENTACION_CLIENTE' TableField = 'FECHA_ULT_PRESENTACION_CLIENTE'
end
item
DatasetField = 'FECHA_RECHAZO'
TableField = 'FECHA_RECHAZO'
end> end>
end> end>
Name = 'ContratosCliente' Name = 'ContratosCliente'
@ -820,6 +824,10 @@ object srvContratosCliente: TsrvContratosCliente
item item
Name = 'FECHA_ULT_PRESENTACION_CLIENTE' Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
DataType = datDateTime DataType = datDateTime
end
item
Name = 'FECHA_RECHAZO'
DataType = datDateTime
end> end>
end end
item item
@ -1305,6 +1313,11 @@ object srvContratosCliente: TsrvContratosCliente
Name = 'FECHA_ULT_PRESENTACION_CLIENTE' Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
DataType = datDateTime DataType = datDateTime
Value = '' Value = ''
end
item
Name = 'FECHA_RECHAZO'
DataType = datDateTime
Value = ''
end> end>
Statements = < Statements = <
item item
@ -1322,18 +1335,19 @@ object srvContratosCliente: TsrvContratosCliente
' PERSONA_CONTACTO,'#10' RE, IMPORTE_RE, RECARGO_EQUIVALENCIA, TE' + ' PERSONA_CONTACTO,'#10' RE, IMPORTE_RE, RECARGO_EQUIVALENCIA, TE' +
'LEFONO, MOVIL, TIPO_CONTRATO, CONDICIONES,'#10' CALIDADES, REFER' + 'LEFONO, MOVIL, TIPO_CONTRATO, CONDICIONES,'#10' CALIDADES, REFER' +
'ENCIA_CLIENTE, FECHA_DECISION, FECHA_PREVISTA_MONTAJE, CAMPO_LIB' + 'ENCIA_CLIENTE, FECHA_DECISION, FECHA_PREVISTA_MONTAJE, CAMPO_LIB' +
'RE,'#10' FECHA_ULT_PRESENTACION_CLIENTE)'#10' VALUES'#10' (:ID, :ID_' + 'RE,'#10' FECHA_ULT_PRESENTACION_CLIENTE, FECHA_RECHAZO)'#10' VALUES' +
'CLIENTE, :NIF_CIF, :NOMBRE, :ID_DIRECCION, :CALLE, :POBLACION, :' + #10' (:ID, :ID_CLIENTE, :NIF_CIF, :NOMBRE, :ID_DIRECCION, :CALLE' +
'PROVINCIA,'#10' :CODIGO_POSTAL, :REFERENCIA, :FECHA_CONTRATO, :S' + ', :POBLACION, :PROVINCIA,'#10' :CODIGO_POSTAL, :REFERENCIA, :FEC' +
'ITUACION, :FORMA_PAGO,'#10' :PLAZO_ENTREGA, :OBSERVACIONES, :INC' + 'HA_CONTRATO, :SITUACION, :FORMA_PAGO,'#10' :PLAZO_ENTREGA, :OBSE' +
'IDENCIAS, :INCIDENCIAS_ACTIVAS, CURRENT_TIMESTAMP,'#10' :USUARIO' + 'RVACIONES, :INCIDENCIAS, :INCIDENCIAS_ACTIVAS, CURRENT_TIMESTAMP' +
', :IMPORTE_NETO, :IMPORTE_PORTE, :DESCUENTO, :IMPORTE_DESCUENTO,' + ','#10' :USUARIO, :IMPORTE_NETO, :IMPORTE_PORTE, :DESCUENTO, :IMP' +
#10' :BASE_IMPONIBLE, :ID_TIPO_IVA, :IVA, :IMPORTE_IVA, :IMPORT' + 'ORTE_DESCUENTO,'#10' :BASE_IMPONIBLE, :ID_TIPO_IVA, :IVA, :IMPOR' +
'E_TOTAL, :ID_FORMA_PAGO,'#10' :ID_TIENDA, :ID_VENDEDOR, :PERSONA' + 'TE_IVA, :IMPORTE_TOTAL, :ID_FORMA_PAGO,'#10' :ID_TIENDA, :ID_VEN' +
'_CONTACTO, :RE, :IMPORTE_RE, :RECARGO_EQUIVALENCIA,'#10' :TELEFO' + 'DEDOR, :PERSONA_CONTACTO, :RE, :IMPORTE_RE, :RECARGO_EQUIVALENCI' +
'NO, :MOVIL, :TIPO_CONTRATO, :CONDICIONES, :CALIDADES, :REFERENCI' + 'A,'#10' :TELEFONO, :MOVIL, :TIPO_CONTRATO, :CONDICIONES, :CALIDA' +
'A_CLIENTE,'#10' :FECHA_DECISION, :FECHA_PREVISTA_MONTAJE, :CAMPO' + 'DES, :REFERENCIA_CLIENTE,'#10' :FECHA_DECISION, :FECHA_PREVISTA_' +
'_LIBRE, :FECHA_ULT_PRESENTACION_CLIENTE)'#10#10 'MONTAJE, :CAMPO_LIBRE, :FECHA_ULT_PRESENTACION_CLIENTE, :FECHA_R' +
'ECHAZO)'#10#10
StatementType = stSQL StatementType = stSQL
ColumnMappings = <> ColumnMappings = <>
end> end>
@ -1594,6 +1608,11 @@ object srvContratosCliente: TsrvContratosCliente
DataType = datDateTime DataType = datDateTime
Value = '' Value = ''
end end
item
Name = 'FECHA_RECHAZO'
DataType = datDateTime
Value = ''
end
item item
Name = 'OLD_ID' Name = 'OLD_ID'
Value = '' Value = ''
@ -1626,8 +1645,8 @@ object srvContratosCliente: TsrvContratosCliente
'ES,'#10' REFERENCIA_CLIENTE = :REFERENCIA_CLIENTE,'#10' FECHA_DECI' + 'ES,'#10' REFERENCIA_CLIENTE = :REFERENCIA_CLIENTE,'#10' FECHA_DECI' +
'SION = :FECHA_DECISION,'#10' FECHA_PREVISTA_MONTAJE = :FECHA_PREV' + 'SION = :FECHA_DECISION,'#10' FECHA_PREVISTA_MONTAJE = :FECHA_PREV' +
'ISTA_MONTAJE,'#10' CAMPO_LIBRE = :CAMPO_LIBRE,'#10' FECHA_ULT_PRES' + 'ISTA_MONTAJE,'#10' CAMPO_LIBRE = :CAMPO_LIBRE,'#10' FECHA_ULT_PRES' +
'ENTACION_CLIENTE = :FECHA_ULT_PRESENTACION_CLIENTE'#10' WHERE'#10' (' + 'ENTACION_CLIENTE = :FECHA_ULT_PRESENTACION_CLIENTE,'#10' FECHA_RE' +
'ID = :OLD_ID)'#10#10 'CHAZO = :FECHA_RECHAZO'#10' WHERE'#10' (ID = :OLD_ID)'#10#10
StatementType = stSQL StatementType = stSQL
ColumnMappings = <> ColumnMappings = <>
end> end>

View File

@ -2,8 +2,8 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
Caption = 'Lista de presupuestos de cliente' Caption = 'Lista de presupuestos de cliente'
ClientHeight = 551 ClientHeight = 551
ClientWidth = 1119 ClientWidth = 1119
ExplicitWidth = 1127 ExplicitWidth = 1135
ExplicitHeight = 585 ExplicitHeight = 589
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader inherited JvNavPanelHeader: TJvNavPanelHeader
@ -126,7 +126,7 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
Width = 1119 Width = 1119
ExplicitWidth = 1119 ExplicitWidth = 1119
inherited tbxMain: TTBXToolbar inherited tbxMain: TTBXToolbar
ExplicitWidth = 982 ExplicitWidth = 1052
object TBXSubmenuItem3: TTBXSubmenuItem [0] object TBXSubmenuItem3: TTBXSubmenuItem [0]
Caption = 'Nuevo' Caption = 'Nuevo'
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText
@ -161,7 +161,7 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
end end
end end
inherited tbxFiltro: TTBXToolbar inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 481 ExplicitWidth = 487
inherited lblAno: TTBXLabelItem inherited lblAno: TTBXLabelItem
Visible = True Visible = True
end end
@ -198,11 +198,11 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
end end
end end
inherited TBXTMain2: TTBXToolbar inherited TBXTMain2: TTBXToolbar
Left = 481 Left = 487
DockPos = 343 DockPos = 343
Visible = True Visible = True
ExplicitLeft = 481 ExplicitLeft = 487
ExplicitWidth = 430 ExplicitWidth = 448
object TBXItem50: TTBXItem object TBXItem50: TTBXItem
Action = actLOPD Action = actLOPD
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText

View File

@ -459,7 +459,7 @@ begin
inherited; inherited;
(Sender as TAction).Enabled := HayDatos (Sender as TAction).Enabled := HayDatos
and ViewGrid.esSeleccionCeldaDatos and ViewGrid.esSeleccionCeldaDatos
and (FContratos.SITUACION = SITUACION_CONTRATO_PENDIENTE); and (FContratos.SITUACION <> SITUACION_CONTRATO_RECHAZADO);
end; end;
procedure TfEditorContratosCliente.actGenerarReciboCliExecute(Sender: TObject); procedure TfEditorContratosCliente.actGenerarReciboCliExecute(Sender: TObject);

View File

@ -3,6 +3,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Height = 491 Height = 491
OnCreate = CustomViewCreate OnCreate = CustomViewCreate
OnDestroy = CustomViewDestroy OnDestroy = CustomViewDestroy
OnShow = CustomViewShow
ExplicitWidth = 817 ExplicitWidth = 817
ExplicitHeight = 491 ExplicitHeight = 491
object dxLayoutControl1: TdxLayoutControl object dxLayoutControl1: TdxLayoutControl
@ -59,7 +60,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleFocused.LookAndFeel.NativeStyle = True StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 14 TabOrder = 15
Height = 139 Height = 139
Width = 404 Width = 404
end end
@ -90,7 +91,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
end end
object cbFormaPago: TcxDBLookupComboBox object cbFormaPago: TcxDBLookupComboBox
Left = 198 Left = 198
Top = 217 Top = 244
DataBinding.DataField = 'ID_FORMA_PAGO' DataBinding.DataField = 'ID_FORMA_PAGO'
DataBinding.DataSource = DADataSource DataBinding.DataSource = DADataSource
Properties.KeyFieldNames = 'ID' Properties.KeyFieldNames = 'ID'
@ -115,16 +116,16 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleFocused.LookAndFeel.NativeStyle = True StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 8 TabOrder = 9
Width = 122 Width = 122
end end
object bFormasPago: TButton object bFormasPago: TButton
Left = 305 Left = 305
Top = 217 Top = 244
Width = 132 Width = 132
Height = 21 Height = 21
Caption = 'Ver las formas de pago...' Caption = 'Ver las formas de pago...'
TabOrder = 9 TabOrder = 10
OnClick = bFormasPagoClick OnClick = bFormasPagoClick
end end
object cbSituacion: TcxDBImageComboBox object cbSituacion: TcxDBImageComboBox
@ -132,6 +133,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Top = 163 Top = 163
DataBinding.DataField = 'SITUACION' DataBinding.DataField = 'SITUACION'
DataBinding.DataSource = DADataSource DataBinding.DataSource = DADataSource
Properties.ImmediatePost = True
Properties.Items = < Properties.Items = <
item item
Description = 'PENDIENTE' Description = 'PENDIENTE'
@ -159,7 +161,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
end end
object memFormaPago: TcxDBMemo object memFormaPago: TcxDBMemo
Left = 22 Left = 22
Top = 301 Top = 328
Anchors = [akLeft, akTop, akRight, akBottom] Anchors = [akLeft, akTop, akRight, akBottom]
DataBinding.DataField = 'FORMA_PAGO' DataBinding.DataField = 'FORMA_PAGO'
DataBinding.DataSource = DADataSource DataBinding.DataSource = DADataSource
@ -175,35 +177,35 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleFocused.LookAndFeel.NativeStyle = True StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True 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 TabOrder = 12
Height = 100 Height = 100
Width = 396 Width = 396
end end
object memPlazoEntrega: TcxDBMemo
Left = 22
Top = 417
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 = 13
Height = 100
Width = 396
end
object cbVendedor: TcxDBLookupComboBox object cbVendedor: TcxDBLookupComboBox
Left = 198 Left = 198
Top = 244 Top = 271
DataBinding.DataField = 'ID_VENDEDOR' DataBinding.DataField = 'ID_VENDEDOR'
DataBinding.DataSource = DADataSource DataBinding.DataSource = DADataSource
Properties.KeyFieldNames = 'ID' Properties.KeyFieldNames = 'ID'
@ -228,7 +230,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleFocused.LookAndFeel.NativeStyle = True StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 10 TabOrder = 11
Width = 27 Width = 27
end end
object cbTipoContrato: TcxDBComboBox object cbTipoContrato: TcxDBComboBox
@ -284,7 +286,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Top = 28 Top = 28
Width = 366 Width = 366
Height = 270 Height = 270
TabOrder = 13 TabOrder = 14
ReadOnly = False ReadOnly = False
ExplicitLeft = 467 ExplicitLeft = 467
ExplicitTop = 28 ExplicitTop = 28
@ -293,7 +295,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
inherited dxLayoutControl1: TdxLayoutControl inherited dxLayoutControl1: TdxLayoutControl
Width = 366 Width = 366
Height = 270 Height = 270
ExplicitWidth = 327 ExplicitWidth = 366
ExplicitHeight = 270 ExplicitHeight = 270
inherited edtlNombre: TcxDBTextEdit inherited edtlNombre: TcxDBTextEdit
ExplicitWidth = 707 ExplicitWidth = 707
@ -323,6 +325,10 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Left = 126 Left = 126
ExplicitLeft = 126 ExplicitLeft = 126
end end
inherited cxDBTextEdit1: TcxDBTextEdit
ExplicitWidth = 283
Width = 283
end
inherited dxLayoutControl1Group_Root: TdxLayoutGroup inherited dxLayoutControl1Group_Root: TdxLayoutGroup
inherited dxLayoutControl1Item10: TdxLayoutItem inherited dxLayoutControl1Item10: TdxLayoutItem
Enabled = False Enabled = False
@ -360,6 +366,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Anchors = [akLeft, akTop, akRight] Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_PREVISTA_MONTAJE' DataBinding.DataField = 'FECHA_PREVISTA_MONTAJE'
DataBinding.DataSource = DADataSource DataBinding.DataSource = DADataSource
Enabled = False
Properties.DateButtons = [btnToday] Properties.DateButtons = [btnToday]
Properties.ImmediatePost = True Properties.ImmediatePost = True
Style.BorderColor = clWindowFrame Style.BorderColor = clWindowFrame
@ -400,6 +407,30 @@ inherited frViewContratoCliente: TfrViewContratoCliente
TabOrder = 4 TabOrder = 4
Width = 106 Width = 106
end end
object edtFechaRechazo: TcxDBDateEdit
Left = 198
Top = 217
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_RECHAZO'
DataBinding.DataSource = DADataSource
Enabled = False
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 = 8
Width = 239
end
object dxLayoutControl1Group_Root: TdxLayoutGroup object dxLayoutControl1Group_Root: TdxLayoutGroup
ShowCaption = False ShowCaption = False
Hidden = True Hidden = True
@ -469,11 +500,18 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Control = cbSituacion Control = cbSituacion
ControlOptions.ShowBorder = False ControlOptions.ShowBorder = False
end end
object dxLayoutControl1Item14: TdxLayoutItem object dxLayoutControlMontaje: TdxLayoutItem
Caption = 'Fecha prev. montaje:' Caption = 'Fecha prev. montaje:'
Enabled = False
Control = edtFechaPrevMontaje Control = edtFechaPrevMontaje
ControlOptions.ShowBorder = False ControlOptions.ShowBorder = False
end end
object dxLayoutControlRechazo: TdxLayoutItem
Caption = 'Fecha rechazo:'
Enabled = False
Control = edtFechaRechazo
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Group5: TdxLayoutGroup object dxLayoutControl1Group5: TdxLayoutGroup
ShowCaption = False ShowCaption = False
Hidden = True Hidden = True

View File

@ -69,16 +69,20 @@ type
frViewClienteContrato1: TfrViewClienteContrato; frViewClienteContrato1: TfrViewClienteContrato;
dxLayoutControl1Item13: TdxLayoutItem; dxLayoutControl1Item13: TdxLayoutItem;
edtFechaDecision: TcxDBDateEdit; edtFechaDecision: TcxDBDateEdit;
dxLayoutControl1Item14: TdxLayoutItem; dxLayoutControlMontaje: TdxLayoutItem;
edtFechaPrevMontaje: TcxDBDateEdit; edtFechaPrevMontaje: TcxDBDateEdit;
dxLayoutControl1Item15: TdxLayoutItem; dxLayoutControl1Item15: TdxLayoutItem;
edtFechaUltPresentacion: TcxDBDateEdit; edtFechaUltPresentacion: TcxDBDateEdit;
dxLayoutControl1Group10: TdxLayoutGroup; dxLayoutControl1Group10: TdxLayoutGroup;
dxLayoutControlRechazo: TdxLayoutItem;
edtFechaRechazo: TcxDBDateEdit;
procedure CustomViewCreate(Sender: TObject); procedure CustomViewCreate(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject); procedure CustomViewDestroy(Sender: TObject);
procedure bFormasPagoClick(Sender: TObject); procedure bFormasPagoClick(Sender: TObject);
procedure frViewClienteContratoButton1Click(Sender: TObject); procedure frViewClienteContratoButton1Click(Sender: TObject);
procedure frViewClienteContratoButton2Click(Sender: TObject); procedure frViewClienteContratoButton2Click(Sender: TObject);
procedure OnSituacionPropertiesEditValueChanged(Sender: TObject);
procedure CustomViewShow(Sender: TObject);
protected protected
FContrato : IBizContratoCliente; FContrato : IBizContratoCliente;
FFormasPago : IBizFormaPago; FFormasPago : IBizFormaPago;
@ -92,6 +96,7 @@ type
function GetController : IContratosClienteController; function GetController : IContratosClienteController;
procedure SetController (const Value : IContratosClienteController); procedure SetController (const Value : IContratosClienteController);
procedure cambiarSituacion;
public public
property Controller : IContratosClienteController read GetController write SetController; property Controller : IContratosClienteController read GetController write SetController;
property Contrato: IBizContratoCliente read GetContrato write SetContrato; property Contrato: IBizContratoCliente read GetContrato write SetContrato;
@ -114,6 +119,32 @@ begin
FFormasPagoController.VerTodos(FFormasPago); FFormasPagoController.VerTodos(FFormasPago);
end; end;
procedure TfrViewContratoCliente.OnSituacionPropertiesEditValueChanged(
Sender: TObject);
begin
inherited;
cambiarSituacion;
end;
procedure TfrViewContratoCliente.cambiarSituacion;
begin
if (Contrato.SITUACION = SITUACION_CONTRATO_PENDIENTE) then
begin
dxLayoutControlMontaje.Enabled := False;
dxLayoutControlRechazo.Enabled := False;
end
else if (Contrato.SITUACION = SITUACION_CONTRATO_ACEPTADO) then
begin
dxLayoutControlMontaje.Enabled := True;
dxLayoutControlRechazo.Enabled := False;
end
else if (Contrato.SITUACION = SITUACION_CONTRATO_RECHAZADO) then
begin
dxLayoutControlMontaje.Enabled := False;
dxLayoutControlRechazo.Enabled := True;
end;
end;
procedure TfrViewContratoCliente.CustomViewCreate(Sender: TObject); procedure TfrViewContratoCliente.CustomViewCreate(Sender: TObject);
begin begin
inherited; inherited;
@ -133,6 +164,7 @@ end;
procedure TfrViewContratoCliente.CustomViewDestroy(Sender: TObject); procedure TfrViewContratoCliente.CustomViewDestroy(Sender: TObject);
begin begin
cbSituacion.Properties.OnEditValueChanged := Nil;
FFormasPago := Nil; FFormasPago := Nil;
FFormasPagoController := NIL; FFormasPagoController := NIL;
FVendedor := Nil; FVendedor := Nil;
@ -141,6 +173,13 @@ begin
inherited; inherited;
end; end;
procedure TfrViewContratoCliente.CustomViewShow(Sender: TObject);
begin
inherited;
cbSituacion.Properties.OnEditValueChanged := OnSituacionPropertiesEditValueChanged;
cambiarSituacion;
end;
procedure TfrViewContratoCliente.frViewClienteContratoButton1Click(Sender: TObject); procedure TfrViewContratoCliente.frViewClienteContratoButton1Click(Sender: TObject);
begin begin
if Assigned(Contrato) and Assigned(Contrato.Cliente) and if Assigned(Contrato) and Assigned(Contrato.Cliente) and

View File

@ -125,6 +125,10 @@ inherited frViewContratosCliente: TfrViewContratosCliente
Caption = 'Fecha prev. montaje' Caption = 'Fecha prev. montaje'
DataBinding.FieldName = 'FECHA_PREVISTA_MONTAJE' DataBinding.FieldName = 'FECHA_PREVISTA_MONTAJE'
end end
object cxGridViewFECHA_RECHAZO: TcxGridDBColumn
Caption = 'Fecha rechazo'
DataBinding.FieldName = 'FECHA_RECHAZO'
end
object cxGridViewTIPO_CONTRATO: TcxGridDBColumn object cxGridViewTIPO_CONTRATO: TcxGridDBColumn
DataBinding.FieldName = 'TIPO_CONTRATO' DataBinding.FieldName = 'TIPO_CONTRATO'
BestFitMaxWidth = 25 BestFitMaxWidth = 25

View File

@ -68,6 +68,7 @@ type
cxGridViewIMPORTE_NETO: TcxGridDBColumn; cxGridViewIMPORTE_NETO: TcxGridDBColumn;
cxGridViewFECHA_ULT_PRESENTACION_CLIENTE: TcxGridDBColumn; cxGridViewFECHA_ULT_PRESENTACION_CLIENTE: TcxGridDBColumn;
cxGridViewFORMA_PAGO: TcxGridDBColumn; cxGridViewFORMA_PAGO: TcxGridDBColumn;
cxGridViewFECHA_RECHAZO: TcxGridDBColumn;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel:
TcxGridLevel); TcxGridLevel);
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView; procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;

View File

@ -55,6 +55,7 @@ type
procedure FiltrarAno(AFactura: IBizFacturaCliente; ADynWhereDataTable: WideString; const Ano: String); procedure FiltrarAno(AFactura: IBizFacturaCliente; ADynWhereDataTable: WideString; const Ano: String);
function CambiarSituacion(AFactura : IBizFacturaCliente; AllItems: Boolean = false; ASituacion: String = CTE_PENDIENTE; AListaCausas: TStringList = nil): Boolean; function CambiarSituacion(AFactura : IBizFacturaCliente; AllItems: Boolean = false; ASituacion: String = CTE_PENDIENTE; AListaCausas: TStringList = nil): Boolean;
function AsignarLOPD(AFacturas: IBizFacturaCliente): Boolean; function AsignarLOPD(AFacturas: IBizFacturaCliente): Boolean;
function enviarVerifactu(AFactura: IBizFacturaCliente; AllItems: Boolean = false; AListaCausas: TStringList = nil): Boolean;
end; end;
TFacturasClienteController = class(TControllerBase, IFacturasClienteController) TFacturasClienteController = class(TControllerBase, IFacturasClienteController)
@ -126,6 +127,7 @@ type
function CambiarSituacion(AFactura : IBizFacturaCliente; AllItems: Boolean = false; ASituacion: String = CTE_PENDIENTE; AListaCausas: TStringList = nil): Boolean; function CambiarSituacion(AFactura : IBizFacturaCliente; AllItems: Boolean = false; ASituacion: String = CTE_PENDIENTE; AListaCausas: TStringList = nil): Boolean;
function AsignarLOPD(AFacturas: IBizFacturaCliente): Boolean; function AsignarLOPD(AFacturas: IBizFacturaCliente): Boolean;
function enviarVerifactu(AFactura: IBizFacturaCliente; AllItems: Boolean = false; AListaCausas: TStringList = nil): Boolean;
end; end;
implementation implementation
@ -739,6 +741,7 @@ begin
SITUACION := CTE_PENDIENTE; //Al ser una nueva debe de estar pendiente SITUACION := CTE_PENDIENTE; //Al ser una nueva debe de estar pendiente
FECHA_FACTURA := DateOf(Now); FECHA_FACTURA := DateOf(Now);
ID_COMISION_LIQUIDADA := 0; ID_COMISION_LIQUIDADA := 0;
VERIFACTU := 0;
//CONTABILIDAD //CONTABILIDAD
ID_EJERCICIO := AppFactuGES.EjercicioActivo.ID; ID_EJERCICIO := AppFactuGES.EjercicioActivo.ID;
@ -1048,6 +1051,72 @@ begin
end; end;
end; end;
function TFacturasClienteController.enviarVerifactu(AFactura: IBizFacturaCliente; AllItems: Boolean; AListaCausas: TStringList): Boolean;
//Solo devolverá true en el caso de eliminar todos y cada uno de los elementos a eliminar
var
bModificado: Boolean;
ACausa: Variant;
begin
bModificado := True;
if not Assigned(AFactura) then
raise Exception.Create ('Factura no asignada');
ShowHourglassCursor;
try
if not AFactura.DataTable.Active then
AFactura.DataTable.Active := True;
if (AFactura.State in dsEditModes) then
AFactura.Cancel;
//Siempre modificaremos el seleccionado tanto si es una lista de facturas a eliminar como si es la propia lista del editor.
if AFactura.VERIFACTU = 0 then
begin
if not AFactura.DataTable.Editing then
AFactura.DataTable.Edit;
AFactura.VERIFACTU := 1;
AFactura.DataTable.Post;
end;
//En el caso de querer modificar todos los items del objeto AFactura
if AllItems then
begin
with AFactura.DataTable do
begin
First;
while not EOF do
begin
if AFactura.VERIFACTU = 1 then
begin
bModificado := False;
Next;
end
else
begin
if not AFactura.DataTable.Editing then
AFactura.DataTable.Edit;
AFactura.VERIFACTU := 1;
AFactura.DataTable.Post;
end;
end;
end;
end;
try
AFactura.DataTable.ApplyUpdates;
Result := bModificado;
except
Result := False;
end;
finally
HideHourglassCursor;
end;
end;
function TFacturasClienteController.EsEliminable(AFactura: IBizFacturaCliente; var AComentario: Variant): Boolean; function TFacturasClienteController.EsEliminable(AFactura: IBizFacturaCliente; var AComentario: Variant): Boolean;
begin begin
Result := True; Result := True;
@ -1055,7 +1124,12 @@ begin
if not Assigned(AFactura) then if not Assigned(AFactura) then
raise Exception.Create ('Factura no asignado: EsEliminable'); raise Exception.Create ('Factura no asignado: EsEliminable');
if (AFactura.SITUACION <> CTE_PENDIENTE) then if (AFactura.VERIFACTU = 1) then
begin
Result := False;
AComentario := 'La factura se ha mandado a VERIFACTU, por lo que no puede ser eliminada';
end
else if (AFactura.SITUACION <> CTE_PENDIENTE) then
begin begin
Result := False; Result := False;
AComentario := 'La factura esta parcial o totalmente pagada, por lo que no puede ser eliminada'; AComentario := 'La factura esta parcial o totalmente pagada, por lo que no puede ser eliminada';
@ -1080,8 +1154,12 @@ begin
if not Assigned(AFactura) then if not Assigned(AFactura) then
raise Exception.Create ('Factura no asignado: EsModificable'); raise Exception.Create ('Factura no asignado: EsModificable');
if (AFactura.VERIFACTU = 1) then
if (AFactura.SITUACION <> CTE_PENDIENTE) then begin
Result := False;
AComentario := 'La factura se ha mandado a VERIFACTU, por lo que no puede ser eliminada';
end
else if (AFactura.SITUACION <> CTE_PENDIENTE) then
begin begin
if (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_ADMINISTRADOR) if (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_ADMINISTRADOR)
or (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PREFIL_GERENCIA) then or (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PREFIL_GERENCIA) then

View File

@ -344,6 +344,14 @@ inherited DataModuleFacturasCliente: TDataModuleFacturasCliente
Name = 'PROCEDENCIA_CLIENTE' Name = 'PROCEDENCIA_CLIENTE'
DataType = datString DataType = datString
Size = 255 Size = 255
end
item
Name = 'VERIFACTU'
DataType = datSmallInt
end
item
Name = 'VERIFACTU_NOTES'
DataType = datMemo
end> end>
Params = <> Params = <>
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]

View File

@ -9,9 +9,9 @@ const
{ Data table rules ids { Data table rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_ListaAnosFacturas = '{C20CF57F-5920-416F-9249-367A4691A064}'; RID_ListaAnosFacturas = '{3F96D548-F60F-47A9-8FF5-69911BF9A52F}';
RID_FacturasCliente = '{C27622E4-449D-4D51-A938-F95AFFB07A9F}'; RID_FacturasCliente = '{6812EF13-C1F6-4408-A14E-2D350D48FBB9}';
RID_FacturasCliente_Detalles = '{0DB3EB96-08FF-4251-A5E1-82746147F81E}'; RID_FacturasCliente_Detalles = '{737BFF0A-CF18-45F0-9E77-4E40DF66AE2F}';
{ Data table names } { Data table names }
nme_ListaAnosFacturas = 'ListaAnosFacturas'; nme_ListaAnosFacturas = 'ListaAnosFacturas';
@ -80,6 +80,8 @@ const
fld_FacturasClienteTIPO_FACTURA = 'TIPO_FACTURA'; fld_FacturasClienteTIPO_FACTURA = 'TIPO_FACTURA';
fld_FacturasClienteLISTA_NOMBRES = 'LISTA_NOMBRES'; fld_FacturasClienteLISTA_NOMBRES = 'LISTA_NOMBRES';
fld_FacturasClientePROCEDENCIA_CLIENTE = 'PROCEDENCIA_CLIENTE'; fld_FacturasClientePROCEDENCIA_CLIENTE = 'PROCEDENCIA_CLIENTE';
fld_FacturasClienteVERIFACTU = 'VERIFACTU';
fld_FacturasClienteVERIFACTU_NOTES = 'VERIFACTU_NOTES';
{ FacturasCliente field indexes } { FacturasCliente field indexes }
idx_FacturasClienteID = 0; idx_FacturasClienteID = 0;
@ -137,6 +139,8 @@ const
idx_FacturasClienteTIPO_FACTURA = 52; idx_FacturasClienteTIPO_FACTURA = 52;
idx_FacturasClienteLISTA_NOMBRES = 53; idx_FacturasClienteLISTA_NOMBRES = 53;
idx_FacturasClientePROCEDENCIA_CLIENTE = 54; idx_FacturasClientePROCEDENCIA_CLIENTE = 54;
idx_FacturasClienteVERIFACTU = 55;
idx_FacturasClienteVERIFACTU_NOTES = 56;
{ FacturasCliente_Detalles fields } { FacturasCliente_Detalles fields }
fld_FacturasCliente_DetallesID = 'ID'; fld_FacturasCliente_DetallesID = 'ID';
@ -173,7 +177,7 @@ const
type type
{ IListaAnosFacturas } { IListaAnosFacturas }
IListaAnosFacturas = interface(IDAStronglyTypedDataTable) IListaAnosFacturas = interface(IDAStronglyTypedDataTable)
['{0DFD9CF9-9ACC-4CAB-AAA5-EA74D23016DE}'] ['{8A84B0DE-B034-48D1-8C69-8213E69F3369}']
{ Property getters and setters } { Property getters and setters }
function GetANOValue: String; function GetANOValue: String;
procedure SetANOValue(const aValue: String); procedure SetANOValue(const aValue: String);
@ -208,7 +212,7 @@ type
{ IFacturasCliente } { IFacturasCliente }
IFacturasCliente = interface(IDAStronglyTypedDataTable) IFacturasCliente = interface(IDAStronglyTypedDataTable)
['{08554CA8-CD1B-493A-BEC1-5945282D8408}'] ['{4507B473-7DD5-4F77-870F-BAB62C5E368A}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -429,6 +433,13 @@ type
procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String);
function GetPROCEDENCIA_CLIENTEIsNull: Boolean; function GetPROCEDENCIA_CLIENTEIsNull: Boolean;
procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean);
function GetVERIFACTUValue: SmallInt;
procedure SetVERIFACTUValue(const aValue: SmallInt);
function GetVERIFACTUIsNull: Boolean;
procedure SetVERIFACTUIsNull(const aValue: Boolean);
function GetVERIFACTU_NOTESValue: IROStrings;
function GetVERIFACTU_NOTESIsNull: Boolean;
procedure SetVERIFACTU_NOTESIsNull(const aValue: Boolean);
{ Properties } { Properties }
@ -542,13 +553,19 @@ type
property LISTA_NOMBRESIsNull: Boolean read GetLISTA_NOMBRESIsNull write SetLISTA_NOMBRESIsNull; property LISTA_NOMBRESIsNull: Boolean read GetLISTA_NOMBRESIsNull write SetLISTA_NOMBRESIsNull;
property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue; property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue;
property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull; property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
property VERIFACTU: SmallInt read GetVERIFACTUValue write SetVERIFACTUValue;
property VERIFACTUIsNull: Boolean read GetVERIFACTUIsNull write SetVERIFACTUIsNull;
property VERIFACTU_NOTES: IROStrings read GetVERIFACTU_NOTESValue;
property VERIFACTU_NOTESIsNull: Boolean read GetVERIFACTU_NOTESIsNull write SetVERIFACTU_NOTESIsNull;
end; end;
{ TFacturasClienteDataTableRules } { TFacturasClienteDataTableRules }
TFacturasClienteDataTableRules = class(TIntfObjectDADataTableRules, IFacturasCliente) TFacturasClienteDataTableRules = class(TIntfObjectDADataTableRules, IFacturasCliente)
private private
f_OBSERVACIONES: IROStrings; f_OBSERVACIONES: IROStrings;
f_VERIFACTU_NOTES: IROStrings;
procedure OBSERVACIONES_OnChange(Sender: TObject); procedure OBSERVACIONES_OnChange(Sender: TObject);
procedure VERIFACTU_NOTES_OnChange(Sender: TObject);
protected protected
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; virtual; function GetIDValue: Integer; virtual;
@ -770,6 +787,13 @@ type
procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual; procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual;
function GetPROCEDENCIA_CLIENTEIsNull: Boolean; virtual; function GetPROCEDENCIA_CLIENTEIsNull: Boolean; virtual;
procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual; procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetVERIFACTUValue: SmallInt; virtual;
procedure SetVERIFACTUValue(const aValue: SmallInt); virtual;
function GetVERIFACTUIsNull: Boolean; virtual;
procedure SetVERIFACTUIsNull(const aValue: Boolean); virtual;
function GetVERIFACTU_NOTESValue: IROStrings; virtual;
function GetVERIFACTU_NOTESIsNull: Boolean; virtual;
procedure SetVERIFACTU_NOTESIsNull(const aValue: Boolean); virtual;
{ Properties } { Properties }
property ID: Integer read GetIDValue write SetIDValue; property ID: Integer read GetIDValue write SetIDValue;
@ -882,6 +906,10 @@ type
property LISTA_NOMBRESIsNull: Boolean read GetLISTA_NOMBRESIsNull write SetLISTA_NOMBRESIsNull; property LISTA_NOMBRESIsNull: Boolean read GetLISTA_NOMBRESIsNull write SetLISTA_NOMBRESIsNull;
property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue; property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue;
property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull; property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
property VERIFACTU: SmallInt read GetVERIFACTUValue write SetVERIFACTUValue;
property VERIFACTUIsNull: Boolean read GetVERIFACTUIsNull write SetVERIFACTUIsNull;
property VERIFACTU_NOTES: IROStrings read GetVERIFACTU_NOTESValue;
property VERIFACTU_NOTESIsNull: Boolean read GetVERIFACTU_NOTESIsNull write SetVERIFACTU_NOTESIsNull;
public public
constructor Create(aDataTable: TDADataTable); override; constructor Create(aDataTable: TDADataTable); override;
@ -891,7 +919,7 @@ type
{ IFacturasCliente_Detalles } { IFacturasCliente_Detalles }
IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable) IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable)
['{14D5D2ED-02F4-44DC-899A-29119D36FD90}'] ['{6D0FEE88-A9F5-460C-B18E-107E6043013C}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -1127,6 +1155,10 @@ begin
StrList := TStringList.Create; StrList := TStringList.Create;
StrList.OnChange := OBSERVACIONES_OnChange; StrList.OnChange := OBSERVACIONES_OnChange;
f_OBSERVACIONES := NewROStrings(StrList,True); f_OBSERVACIONES := NewROStrings(StrList,True);
StrList := TStringList.Create;
StrList.OnChange := VERIFACTU_NOTES_OnChange;
f_VERIFACTU_NOTES := NewROStrings(StrList,True);
end; end;
destructor TFacturasClienteDataTableRules.Destroy; destructor TFacturasClienteDataTableRules.Destroy;
@ -1139,6 +1171,11 @@ begin
if DataTable.Editing then DataTable.Fields[idx_FacturasClienteOBSERVACIONES].AsVariant := TStringList(Sender).Text; if DataTable.Editing then DataTable.Fields[idx_FacturasClienteOBSERVACIONES].AsVariant := TStringList(Sender).Text;
end; end;
procedure TFacturasClienteDataTableRules.VERIFACTU_NOTES_OnChange(Sender: TObject);
begin
if DataTable.Editing then DataTable.Fields[idx_FacturasClienteVERIFACTU_NOTES].AsVariant := TStringList(Sender).Text;
end;
function TFacturasClienteDataTableRules.GetIDValue: Integer; function TFacturasClienteDataTableRules.GetIDValue: Integer;
begin begin
result := DataTable.Fields[idx_FacturasClienteID].AsInteger; result := DataTable.Fields[idx_FacturasClienteID].AsInteger;
@ -2290,6 +2327,44 @@ begin
DataTable.Fields[idx_FacturasClientePROCEDENCIA_CLIENTE].AsVariant := Null; DataTable.Fields[idx_FacturasClientePROCEDENCIA_CLIENTE].AsVariant := Null;
end; end;
function TFacturasClienteDataTableRules.GetVERIFACTUValue: SmallInt;
begin
result := DataTable.Fields[idx_FacturasClienteVERIFACTU].AsSmallInt;
end;
procedure TFacturasClienteDataTableRules.SetVERIFACTUValue(const aValue: SmallInt);
begin
DataTable.Fields[idx_FacturasClienteVERIFACTU].AsSmallInt := aValue;
end;
function TFacturasClienteDataTableRules.GetVERIFACTUIsNull: boolean;
begin
result := DataTable.Fields[idx_FacturasClienteVERIFACTU].IsNull;
end;
procedure TFacturasClienteDataTableRules.SetVERIFACTUIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_FacturasClienteVERIFACTU].AsVariant := Null;
end;
function TFacturasClienteDataTableRules.GetVERIFACTU_NOTESValue: IROStrings;
begin
result := f_VERIFACTU_NOTES;
result.Text := DataTable.Fields[idx_FacturasClienteVERIFACTU_NOTES].AsString;
end;
function TFacturasClienteDataTableRules.GetVERIFACTU_NOTESIsNull: boolean;
begin
result := DataTable.Fields[idx_FacturasClienteVERIFACTU_NOTES].IsNull;
end;
procedure TFacturasClienteDataTableRules.SetVERIFACTU_NOTESIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_FacturasClienteVERIFACTU_NOTES].AsVariant := Null;
end;
{ TFacturasCliente_DetallesDataTableRules } { TFacturasCliente_DetallesDataTableRules }
constructor TFacturasCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable); constructor TFacturasCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable);

View File

@ -9,14 +9,14 @@ const
{ Delta rules ids { Delta rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_ListaAnosFacturasDelta = '{BC4B775B-C16B-48D3-B40F-B9684CDD9839}'; RID_ListaAnosFacturasDelta = '{9AA3FE0F-1FB8-4A28-B8F7-5EBAD11281E4}';
RID_FacturasClienteDelta = '{AAE0C12B-EEB0-41BD-9374-D2492F491485}'; RID_FacturasClienteDelta = '{4299E068-B1B0-4B45-AD01-3494E8CEB99B}';
RID_FacturasCliente_DetallesDelta = '{DEF2FAAB-FA4A-4478-B582-9F32D15AE44E}'; RID_FacturasCliente_DetallesDelta = '{D2FF3B9A-DD0B-4E78-AD52-1C6D072564A7}';
type type
{ IListaAnosFacturasDelta } { IListaAnosFacturasDelta }
IListaAnosFacturasDelta = interface(IListaAnosFacturas) IListaAnosFacturasDelta = interface(IListaAnosFacturas)
['{BC4B775B-C16B-48D3-B40F-B9684CDD9839}'] ['{9AA3FE0F-1FB8-4A28-B8F7-5EBAD11281E4}']
{ Property getters and setters } { Property getters and setters }
function GetOldANOValue : String; function GetOldANOValue : String;
@ -50,7 +50,7 @@ type
{ IFacturasClienteDelta } { IFacturasClienteDelta }
IFacturasClienteDelta = interface(IFacturasCliente) IFacturasClienteDelta = interface(IFacturasCliente)
['{AAE0C12B-EEB0-41BD-9374-D2492F491485}'] ['{4299E068-B1B0-4B45-AD01-3494E8CEB99B}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer; function GetOldID_EMPRESAValue : Integer;
@ -107,6 +107,8 @@ type
function GetOldTIPO_FACTURAValue : String; function GetOldTIPO_FACTURAValue : String;
function GetOldLISTA_NOMBRESValue : String; function GetOldLISTA_NOMBRESValue : String;
function GetOldPROCEDENCIA_CLIENTEValue : String; function GetOldPROCEDENCIA_CLIENTEValue : String;
function GetOldVERIFACTUValue : SmallInt;
function GetOldVERIFACTU_NOTESValue : IROStrings;
{ Properties } { Properties }
property OldID : Integer read GetOldIDValue; property OldID : Integer read GetOldIDValue;
@ -164,13 +166,17 @@ type
property OldTIPO_FACTURA : String read GetOldTIPO_FACTURAValue; property OldTIPO_FACTURA : String read GetOldTIPO_FACTURAValue;
property OldLISTA_NOMBRES : String read GetOldLISTA_NOMBRESValue; property OldLISTA_NOMBRES : String read GetOldLISTA_NOMBRESValue;
property OldPROCEDENCIA_CLIENTE : String read GetOldPROCEDENCIA_CLIENTEValue; property OldPROCEDENCIA_CLIENTE : String read GetOldPROCEDENCIA_CLIENTEValue;
property OldVERIFACTU : SmallInt read GetOldVERIFACTUValue;
property OldVERIFACTU_NOTES : IROStrings read GetOldVERIFACTU_NOTESValue;
end; end;
{ TFacturasClienteBusinessProcessorRules } { TFacturasClienteBusinessProcessorRules }
TFacturasClienteBusinessProcessorRules = class(TDABusinessProcessorRules, IFacturasCliente, IFacturasClienteDelta) TFacturasClienteBusinessProcessorRules = class(TDABusinessProcessorRules, IFacturasCliente, IFacturasClienteDelta)
private private
f_OBSERVACIONES: IROStrings; f_OBSERVACIONES: IROStrings;
f_VERIFACTU_NOTES: IROStrings;
procedure OBSERVACIONES_OnChange(Sender: TObject); procedure OBSERVACIONES_OnChange(Sender: TObject);
procedure VERIFACTU_NOTES_OnChange(Sender: TObject);
protected protected
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; virtual; function GetIDValue: Integer; virtual;
@ -502,6 +508,17 @@ type
function GetOldPROCEDENCIA_CLIENTEIsNull: Boolean; virtual; function GetOldPROCEDENCIA_CLIENTEIsNull: Boolean; virtual;
procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual; procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual;
procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual; procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetVERIFACTUValue: SmallInt; virtual;
function GetVERIFACTUIsNull: Boolean; virtual;
function GetOldVERIFACTUValue: SmallInt; virtual;
function GetOldVERIFACTUIsNull: Boolean; virtual;
procedure SetVERIFACTUValue(const aValue: SmallInt); virtual;
procedure SetVERIFACTUIsNull(const aValue: Boolean); virtual;
function GetVERIFACTU_NOTESValue: IROStrings; virtual;
function GetVERIFACTU_NOTESIsNull: Boolean; virtual;
function GetOldVERIFACTU_NOTESValue: IROStrings; virtual;
function GetOldVERIFACTU_NOTESIsNull: Boolean; virtual;
procedure SetVERIFACTU_NOTESIsNull(const aValue: Boolean); virtual;
{ Properties } { Properties }
property ID : Integer read GetIDValue write SetIDValue; property ID : Integer read GetIDValue write SetIDValue;
@ -724,6 +741,14 @@ type
property PROCEDENCIA_CLIENTEIsNull : Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull; property PROCEDENCIA_CLIENTEIsNull : Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
property OldPROCEDENCIA_CLIENTE : String read GetOldPROCEDENCIA_CLIENTEValue; property OldPROCEDENCIA_CLIENTE : String read GetOldPROCEDENCIA_CLIENTEValue;
property OldPROCEDENCIA_CLIENTEIsNull : Boolean read GetOldPROCEDENCIA_CLIENTEIsNull; property OldPROCEDENCIA_CLIENTEIsNull : Boolean read GetOldPROCEDENCIA_CLIENTEIsNull;
property VERIFACTU : SmallInt read GetVERIFACTUValue write SetVERIFACTUValue;
property VERIFACTUIsNull : Boolean read GetVERIFACTUIsNull write SetVERIFACTUIsNull;
property OldVERIFACTU : SmallInt read GetOldVERIFACTUValue;
property OldVERIFACTUIsNull : Boolean read GetOldVERIFACTUIsNull;
property VERIFACTU_NOTES : IROStrings read GetVERIFACTU_NOTESValue;
property VERIFACTU_NOTESIsNull : Boolean read GetVERIFACTU_NOTESIsNull write SetVERIFACTU_NOTESIsNull;
property OldVERIFACTU_NOTES : IROStrings read GetOldVERIFACTU_NOTESValue;
property OldVERIFACTU_NOTESIsNull : Boolean read GetOldVERIFACTU_NOTESIsNull;
public public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override; constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@ -733,7 +758,7 @@ type
{ IFacturasCliente_DetallesDelta } { IFacturasCliente_DetallesDelta }
IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles) IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles)
['{DEF2FAAB-FA4A-4478-B582-9F32D15AE44E}'] ['{D2FF3B9A-DD0B-4E78-AD52-1C6D072564A7}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_FACTURAValue : Integer; function GetOldID_FACTURAValue : Integer;
@ -979,6 +1004,10 @@ begin
StrList := TStringList.Create; StrList := TStringList.Create;
StrList.OnChange := OBSERVACIONES_OnChange; StrList.OnChange := OBSERVACIONES_OnChange;
f_OBSERVACIONES := NewROStrings(StrList,True); f_OBSERVACIONES := NewROStrings(StrList,True);
StrList := TStringList.Create;
StrList.OnChange := VERIFACTU_NOTES_OnChange;
f_VERIFACTU_NOTES := NewROStrings(StrList,True);
end; end;
destructor TFacturasClienteBusinessProcessorRules.Destroy; destructor TFacturasClienteBusinessProcessorRules.Destroy;
@ -991,6 +1020,11 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteOBSERVACIONES] := TStringList(Sender).Text; BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteOBSERVACIONES] := TStringList(Sender).Text;
end; end;
procedure TFacturasClienteBusinessProcessorRules.VERIFACTU_NOTES_OnChange(Sender: TObject);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteVERIFACTU_NOTES] := TStringList(Sender).Text;
end;
function TFacturasClienteBusinessProcessorRules.GetIDValue: Integer; function TFacturasClienteBusinessProcessorRules.GetIDValue: Integer;
begin begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteID]; result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteID];
@ -2693,6 +2727,65 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClientePROCEDENCIA_CLIENTE] := Null; BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClientePROCEDENCIA_CLIENTE] := Null;
end; end;
function TFacturasClienteBusinessProcessorRules.GetVERIFACTUValue: SmallInt;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteVERIFACTU];
end;
function TFacturasClienteBusinessProcessorRules.GetVERIFACTUIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteVERIFACTU]);
end;
function TFacturasClienteBusinessProcessorRules.GetOldVERIFACTUValue: SmallInt;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteVERIFACTU];
end;
function TFacturasClienteBusinessProcessorRules.GetOldVERIFACTUIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteVERIFACTU]);
end;
procedure TFacturasClienteBusinessProcessorRules.SetVERIFACTUValue(const aValue: SmallInt);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteVERIFACTU] := aValue;
end;
procedure TFacturasClienteBusinessProcessorRules.SetVERIFACTUIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteVERIFACTU] := Null;
end;
function TFacturasClienteBusinessProcessorRules.GetVERIFACTU_NOTESValue: IROStrings;
begin
result := f_VERIFACTU_NOTES;
result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteVERIFACTU_NOTES];
end;
function TFacturasClienteBusinessProcessorRules.GetVERIFACTU_NOTESIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteVERIFACTU_NOTES]);
end;
function TFacturasClienteBusinessProcessorRules.GetOldVERIFACTU_NOTESValue: IROStrings;
begin
result := NewROStrings();
result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteVERIFACTU_NOTES];
end;
function TFacturasClienteBusinessProcessorRules.GetOldVERIFACTU_NOTESIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteVERIFACTU_NOTES]);
end;
procedure TFacturasClienteBusinessProcessorRules.SetVERIFACTU_NOTESIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteVERIFACTU_NOTES] := Null;
end;
{ TFacturasCliente_DetallesBusinessProcessorRules } { TFacturasCliente_DetallesBusinessProcessorRules }
constructor TFacturasCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); constructor TFacturasCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);

View File

@ -257,6 +257,7 @@ begin
SITUACION := CTE_PENDIENTE; SITUACION := CTE_PENDIENTE;
ID_CLIENTE := ID_NULO; ID_CLIENTE := ID_NULO;
SIN_COMISION := 0; SIN_COMISION := 0;
VERIFACTU := 0;
ID_FORMA_PAGO := AppFactuGES.EmpresaActiva.ID_FORMA_PAGO; ID_FORMA_PAGO := AppFactuGES.EmpresaActiva.ID_FORMA_PAGO;
ID_TIPO_IVA := AppFactuGES.EmpresaActiva.ID_TIPO_IVA; ID_TIPO_IVA := AppFactuGES.EmpresaActiva.ID_TIPO_IVA;

View File

@ -267,6 +267,14 @@ object srvFacturasCliente: TsrvFacturasCliente
item item
DatasetField = 'REF_FORMA_PAGO' DatasetField = 'REF_FORMA_PAGO'
TableField = 'REF_FORMA_PAGO' TableField = 'REF_FORMA_PAGO'
end
item
DatasetField = 'VERIFACTU'
TableField = 'VERIFACTU'
end
item
DatasetField = 'VERIFACTU_NOTES'
TableField = 'VERIFACTU_NOTES'
end> end>
end> end>
Name = 'FacturasCliente' Name = 'FacturasCliente'
@ -555,6 +563,14 @@ object srvFacturasCliente: TsrvFacturasCliente
Name = 'PROCEDENCIA_CLIENTE' Name = 'PROCEDENCIA_CLIENTE'
DataType = datString DataType = datString
Size = 255 Size = 255
end
item
Name = 'VERIFACTU'
DataType = datSmallInt
end
item
Name = 'VERIFACTU_NOTES'
DataType = datMemo
end> end>
end end
item item
@ -1343,6 +1359,11 @@ object srvFacturasCliente: TsrvFacturasCliente
Size = 255 Size = 255
Value = '' Value = ''
end end
item
Name = 'VERIFACTU'
DataType = datSmallInt
Value = ''
end
item item
Name = 'OLD_ID' Name = 'OLD_ID'
Value = '' Value = ''
@ -1369,7 +1390,7 @@ object srvFacturasCliente: TsrvFacturasCliente
'RAR_CONTABILIDAD = :IGNORAR_CONTABILIDAD,'#10' ID_TIENDA = :ID_TI' + 'RAR_CONTABILIDAD = :IGNORAR_CONTABILIDAD,'#10' ID_TIENDA = :ID_TI' +
'ENDA,'#10' ID_CONTRATO = :ID_CONTRATO,'#10' SIN_COMISION = :SIN_CO' + 'ENDA,'#10' ID_CONTRATO = :ID_CONTRATO,'#10' SIN_COMISION = :SIN_CO' +
'MISION,'#10' TIPO_FACTURA = :TIPO_FACTURA,'#10' SITUACION = :SITUA' + 'MISION,'#10' TIPO_FACTURA = :TIPO_FACTURA,'#10' SITUACION = :SITUA' +
'CION'#10' WHERE'#10' (ID = :OLD_ID);'#10 'CION,'#10' VERIFACTU = :VERIFACTU'#10' WHERE'#10' (ID = :OLD_ID);'#10
StatementType = stSQL StatementType = stSQL
ColumnMappings = <> ColumnMappings = <>
end> end>

View File

@ -1,17 +1,17 @@
inherited fEditorFacturasCliente: TfEditorFacturasCliente inherited fEditorFacturasCliente: TfEditorFacturasCliente
Caption = 'Lista de facturas de cliente' Caption = 'Lista de facturas de cliente'
ClientHeight = 666 ClientHeight = 637
ClientWidth = 640 ClientWidth = 1094
ExplicitWidth = 648 ExplicitWidth = 1110
ExplicitHeight = 700 ExplicitHeight = 675
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 640 Width = 1094
Caption = 'Lista de facturas de cliente' Caption = 'Lista de facturas de cliente'
ExplicitWidth = 640 ExplicitWidth = 640
inherited Image1: TImage inherited Image1: TImage
Left = 613 Left = 1067
Picture.Data = { Picture.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800
0000180806000000E0773DF80000000970485973000017120000171201679FD2 0000180806000000E0773DF80000000970485973000017120000171201679FD2
@ -35,10 +35,10 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
end end
end end
inherited TBXDock: TTBXDock inherited TBXDock: TTBXDock
Width = 640 Width = 1094
ExplicitWidth = 640 ExplicitWidth = 640
inherited tbxMain: TTBXToolbar inherited tbxMain: TTBXToolbar
ExplicitWidth = 640 ExplicitWidth = 926
object TBXSubmenuItem2: TTBXSubmenuItem [0] object TBXSubmenuItem2: TTBXSubmenuItem [0]
Caption = 'Nuevo' Caption = 'Nuevo'
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText
@ -66,7 +66,7 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
end end
end end
inherited tbxFiltro: TTBXToolbar inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 481 ExplicitWidth = 487
inherited lblAno: TTBXLabelItem inherited lblAno: TTBXLabelItem
Visible = True Visible = True
end end
@ -82,21 +82,25 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
end end
end end
inherited tbxMenu: TTBXToolbar inherited tbxMenu: TTBXToolbar
ExplicitWidth = 640 ExplicitWidth = 1094
end end
inherited TBXTMain2: TTBXToolbar inherited TBXTMain2: TTBXToolbar
Left = 481 Left = 487
Visible = True Visible = True
ExplicitLeft = 481 ExplicitLeft = 487
ExplicitWidth = 159 ExplicitWidth = 392
object TBXItem42: TTBXItem object TBXItem42: TTBXItem
Action = actCambiarSituacion Action = actCambiarSituacion
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText
end end
object TBSeparatorItem2: TTBSeparatorItem
end
object TBXItem44: TTBXItem object TBXItem44: TTBXItem
Action = actLOPD Action = actLOPD
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText
end end
object TBSeparatorItem3: TTBSeparatorItem
end
object TBXItem43: TTBXItem object TBXItem43: TTBXItem
Action = actVerContrato Action = actVerContrato
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText
@ -107,19 +111,25 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Action = actInformes Action = actInformes
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText
end end
object TBSeparatorItem1: TTBSeparatorItem
end
object TBXItem46: TTBXItem
Action = actMandarVerifactu
DisplayMode = nbdmImageAndText
end
end end
end end
inherited StatusBar: TJvStatusBar inherited StatusBar: TJvStatusBar
Top = 647 Top = 618
Width = 640 Width = 1094
ExplicitTop = 647 ExplicitTop = 555
ExplicitWidth = 640 ExplicitWidth = 640
end end
inline frViewFacturasCliente1: TfrViewFacturasCliente [3] inline frViewFacturasCliente1: TfrViewFacturasCliente [3]
Left = 0 Left = 0
Top = 102 Top = 105
Width = 640 Width = 1094
Height = 545 Height = 513
Align = alClient Align = alClient
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
@ -129,14 +139,14 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
ParentFont = False ParentFont = False
TabOrder = 3 TabOrder = 3
ReadOnly = False ReadOnly = False
ExplicitTop = 102 ExplicitTop = 105
ExplicitWidth = 640 ExplicitWidth = 640
ExplicitHeight = 545 ExplicitHeight = 450
inherited cxGrid: TcxGrid inherited cxGrid: TcxGrid
Width = 640 Width = 1094
Height = 414 Height = 382
ExplicitWidth = 640 ExplicitWidth = 640
ExplicitHeight = 414 ExplicitHeight = 319
inherited cxGridView: TcxGridDBTableView inherited cxGridView: TcxGridDBTableView
DataController.Summary.DefaultGroupSummaryItems = < DataController.Summary.DefaultGroupSummaryItems = <
item item
@ -213,12 +223,12 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
end end
end end
inherited frViewFiltroBase1: TfrViewFiltroBase inherited frViewFiltroBase1: TfrViewFiltroBase
Width = 640 Width = 1094
ExplicitWidth = 640 ExplicitWidth = 640
inherited TBXDockablePanel1: TTBXDockablePanel inherited TBXDockablePanel1: TTBXDockablePanel
ExplicitWidth = 640 ExplicitWidth = 640
inherited dxLayoutControl1: TdxLayoutControl inherited dxLayoutControl1: TdxLayoutControl
Width = 640 Width = 1094
ExplicitWidth = 640 ExplicitWidth = 640
inherited txtFiltroTodo: TcxTextEdit inherited txtFiltroTodo: TcxTextEdit
Style.LookAndFeel.SkinName = '' Style.LookAndFeel.SkinName = ''
@ -267,35 +277,36 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
StyleHot.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = ''
end end
inherited txtFiltroTodo2: TcxTextEdit inherited txtFiltroTodo2: TcxTextEdit
Left = 436 Left = 746
Style.LookAndFeel.SkinName = '' Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 436 ExplicitLeft = 746
ExplicitWidth = 275 ExplicitWidth = 275
Width = 275 Width = 275
end end
end end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 640 Width = 1094
ExplicitTop = 75
ExplicitWidth = 640 ExplicitWidth = 640
inherited tbxBotones: TTBXToolbar inherited tbxBotones: TTBXToolbar
Width = 630 Width = 1084
ExplicitWidth = 630 ExplicitWidth = 630
end end
end end
end end
end end
inherited pnlAgrupaciones: TTBXDockablePanel inherited pnlAgrupaciones: TTBXDockablePanel
Top = 519 Top = 487
ExplicitTop = 519 ExplicitTop = 424
ExplicitWidth = 640 ExplicitWidth = 640
inherited TBXAlignmentPanel1: TTBXAlignmentPanel inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 640 Width = 1094
ExplicitWidth = 640 ExplicitWidth = 640
inherited TBXToolbar1: TTBXToolbar inherited TBXToolbar1: TTBXToolbar
Width = 630 Width = 1084
ExplicitWidth = 630 ExplicitWidth = 630
end end
end end
@ -385,6 +396,12 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
OnExecute = actGenerarPDFExecute OnExecute = actGenerarPDFExecute
OnUpdate = actGenerarPDFUpdate OnUpdate = actGenerarPDFUpdate
end end
object actMandarVerifactu: TAction
Caption = 'Mandar Verifactu'
ImageIndex = 16
OnExecute = actMandarVerifactuExecute
OnUpdate = actMandarVerifactuUpdate
end
end end
inherited SmallImages: TPngImageList [5] inherited SmallImages: TPngImageList [5]
PngImages = < PngImages = <
@ -2043,12 +2060,24 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
inherited N2: TMenuItem inherited N2: TMenuItem
Visible = False Visible = False
end end
object N4: TMenuItem [8] object GenerarPDF1: TMenuItem [8]
Action = actGenerarPDF
end
object N4: TMenuItem [9]
Caption = '-' Caption = '-'
end end
object Cambiarlasituacin1: TMenuItem [9] object Cambiarlasituacin1: TMenuItem [10]
Action = actCambiarSituacion Action = actCambiarSituacion
end end
object GDPR1: TMenuItem [11]
Action = actLOPD
end
object MandarVerifactu1: TMenuItem [12]
Action = actMandarVerifactu
end
object Verpresupuesto1: TMenuItem [16]
Action = actVerContrato
end
end end
object JsNuevaFacturaDialog: TJSDialog object JsNuevaFacturaDialog: TJSDialog
Content.Strings = ( Content.Strings = (
@ -3608,39 +3637,40 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
000000180806000000E0773DF8000000017352474200AECE1CE9000000046741 000000180806000000E0773DF8000000017352474200AECE1CE9000000046741
4D410000B18F0BFC6105000000206348524D00007A26000080840000FA000000 4D410000B18F0BFC6105000000206348524D00007A26000080840000FA000000
80E8000075300000EA6000003A98000017709CBA513C00000009704859730000 80E8000075300000EA6000003A98000017709CBA513C00000009704859730000
0AE900000AE901FD75CED3000003F049444154484BBD557B6C53651C3D7DAD7B 0AE900000AE901FD75CED30000040449444154484BB5957B6C53551CC7BF7DAD
B0ADADC0363ADDA0834D2DDA6E5904A24C17E64864BAF8484C348E104940FD47 7BD0AD2D8F6D74BA413736B060BB65911165BA304702D3C54762A271844002EA
128D31121213134DD4C4F8644F794C6413188E81A003B3A15B8AC87C4CA39D9A 3F90608C9190989868A226C6277B0A38918DC7700CE431301BBAA5080C6510EC
685013515B36D8B3F7E7F9AEDCDAB9760F62BCC94D9ADEEF3BE7FCCE777EBFCF D444C32301B465833D7B7FFECEEDE96537ED3209F19B9CA4F79EDFEFF33DE7D7
2422F8DF9ED781A56D0EFB730D56945D0EA9BE3F2F676F3D70DF36C01C15FF0A DF391744F4BF0E9D3E07F25AEDD6F7EACD2895AFEE496A7E76E6AE3AE0C52D80
30AF333BB9E9E74ADF68E4A12A19A8F0851BADB869B6242F00292DD9AE6DBD2B 5133F80498D69191D878A5C23B127EA592FACBBDA106331E8BCC4EAD0F80A4E6
BD43273D4E79371D5A1DB05527B807B0BCE7C0FEC1EB20A3373A447B60B5688F 0CE7969E12CFE049B783BEB541A90536AB06CF03A6EFECD83BB00834F2A89D94
544BF0567FA8113393D45970F3C9E265FD7D371448E77C93746442DB6945B322 979792F25A15059EF4051B30B549AD098F9F2C9CD7D7FB482E75CC30507B1A94
D5099ACCD8F8DBD5D0467C90E1EB21178A6D3276979F247748B0A2385C6FC5EA ED66340953D5A0D188B5D7E74319F682861E06DD2EB4D0E8B33E36799A02E585
789550A1EBD02247DD57AB964DF4E4A7C9072E487B06B426139E55A2D51E9DE0 A13A33964A964EBC42E781D9F6DA0B4BE68D77E7A4D03127A82D154AA301EF8A
656051201B030A7C885584BC9073D740C2E55789B6799D0C54964CB1EB0D6065 458B18D5E06360B63F03FD023EC8BB087A4037168042650F92B27E25F55714C5
4F81EBC76FFDD9F2E17CE8E0B465BCC18C4763C544CF603B5074C68D5FFFBC16 94EB0BA0A43BD7F9E7AFBE0CFA7E0654389765ACDE880D324495F61F6C050ACE
C26AE49742C84F4B21677D193252532EC1B5A521E34C76D9CD0FF67B175CFCCC BA70ED9F8740BC1BBA9A0FFA2B0F74D99B4AC3D56514585E1C8C9AECB01AD7F4
931A056F4BC3700370FFBF2B9D94D02660455F2E060DF01F3C90E062C8371E8B 7966DE39E74ED6E0AD2918AA075E526113A4190835028B7BB3301085FFE10605
FC5EE593606569B8353D69F7803F2B12C8B546C10F109CA9B92D9E8D535A6087 E6802EB94D74B3D24B818AE2508B2DE1AB7E5F7AD89F65D6E0FB18CE5DB34262
05EBFADC1835C0BFCE837C7125E44C2EC94A72E4F4E264F928CB2427AE80BCEF 74D219086D336165AF0B2351F8C56CD02F0F80CE66F17351269D9E93483FA41B
841C9C8771567F6FA2B4C5EDB15D366CF8D48D8928B81B722A07D29305E95E80 E8C474D0510768FF348CF1EE5F90E9318A3110DA61C1EA332E8C6B7017E85426
28383D8FD0F387A78B72C2266E4EC29304D5782E71C10F5D4ACB4C7D92904075 A83B1DD435131A9C6B1EE69ABF2AD3E22AAE81505302DE64A83219FC80EC1619
E1DE64040254FE319577C5283F9209A1EF5A1DE34802D39C2BA0A7B6B7D3936A 3EA9263510A7705722FC7E86FFC8F0CE09F043696ADD95DA88812192115F710D
BFBC65B966801FA7E7C7E8F96182D31AD99F06D9930CAD16786A4E04044F6D77 B8A6966F6C0935E79F58A844E1C7197E84E10719CEA5A1BD29A09D89506A80B7
BB0E9CDB52239F143A75E5F1C05B52206FD9216F5A75922DB33A6482671E5B92 645A5CC518303CB9CDE5DC77636335FD94EF9814DE9C04FADA0AFAD2AC9A6C94
73E2E2E335F25DA57F0A382DFB638F1DE70DF09D3648A305B2DD840936DEA669 E931D219303CEDC8DCCC13775EAFA6DF2A7C31702ED9DF3BADB815856FB7801A
634ACFAD47721D1D639BAA24B47EAD742D344D52DE9A82610A287B0D286C34A3 4CA0AD068CF3C15B27313A69065C73F3A12C7BFBE8BA4A0AAE5A4E9DB30C3A78
7B87F56FF05A1384E0C2293AC66F35091BAD25DDF6F460758936B1A1424E79D2 4B12867801A59F01F90D46746D3347E0350610C3896FD1519EAB8ED0EE4A3368
A593AD7FD401E9C880EC4B458436AC3736B770CE10F431FE7741811BEF25128E B659DE1EA82A52C65797D329B78D3AF8001DB683DA53417B9211E632AC8A4472
A17F1E3D4554527E7655FEB8DCE993EF4BDD93C0555AEA4D783E5EF954EC2568 2CDF330CDDC4EF6E0B78744813BE86EE4A35E095945D5E923346CF78E9F76297
2F5F2D8668E455A0CA58AF139C2E5AD82FD5CBE5FC9A0239CE716B2867970A3B 0E2EBAA5CE80F765BC4E0CF330B4878732C168F853A05286440C4E17CCEAA3AA
BB4BA52AD121D2DA24126D25C9704C2543DCB3263A4DBBF39DAD91DBBD12C84B 85746B592E1DE7EB360AE7534A7CB23B4557C9F818716913D868339B0C4DD8C9
9904DE6CC7A0BAA1666A26F59D80C524E88BA924AC26AE5E418305777F5EE414 20E72C13F3AA41578EA325FC9487FCD9493A789315031C9CA792A610030B19DE
5E3AC20E95362A6752D48DB47936E0C69A97003B053DA3CE82E0115A55A613A8 1B35E111E251A21AD49BF0DCCF050EE28F8E38A1D4CA70EE14F1455A2FF3FF93
32391A7ADBD9400AFC9D5426C48CA3AA9BE74260ACA5652BF8BE18B548FDE0F5 3E02ACBCA077788C323CCCA52A550DC436F96AE869E31E17F0DDC9DC21461C16
E662F40E2BE5CC77880B965C0EF8B4F7818A1F6D7982F1DBF85F801B15FC059E A759E6DE93B8648B797C287EAB0642FC797372EB1D142BE7FE0E72C0DCC8CCFD
6028BEE22B69170000000049454E44AE426082} 49331012EDC7657983DB6FAD7C75DF2222FC0B51266D78E692E7220000000049
454E44AE426082}
Instruction.Text = 'Las siguientes facturas no han podido ser eliminadas:' Instruction.Text = 'Las siguientes facturas no han podido ser eliminadas:'
Instruction.Glyph.Data = { Instruction.Glyph.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
@ -4223,8 +4253,8 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
0007C0000007C000000700000007000000070000000700000007C000000FC000 0007C0000007C000000700000007000000070000000700000007C000000FC000
001F8000003F800000FFF8FFFFFF} 001F8000003F800000FFF8FFFFFF}
Width = 450 Width = 450
Left = 408 Left = 400
Top = 80 Top = 104
end end
object JsListaFacturasNoModificadas: TJSDialog object JsListaFacturasNoModificadas: TJSDialog
Glyph.Data = { Glyph.Data = {
@ -4232,39 +4262,40 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
000000180806000000E0773DF8000000017352474200AECE1CE9000000046741 000000180806000000E0773DF8000000017352474200AECE1CE9000000046741
4D410000B18F0BFC6105000000206348524D00007A26000080840000FA000000 4D410000B18F0BFC6105000000206348524D00007A26000080840000FA000000
80E8000075300000EA6000003A98000017709CBA513C00000009704859730000 80E8000075300000EA6000003A98000017709CBA513C00000009704859730000
0AE900000AE901FD75CED3000003F049444154484BBD557B6C53651C3D7DAD7B 0AE900000AE901FD75CED30000040449444154484BB5957B6C53551CC7BF7DAD
B0ADADC0363ADDA0834D2DDA6E5904A24C17E64864BAF8484C348E104940FD47 7BD0AD2D8F6D74BA413736B060BB65911165BA304702D3C54762A271844002EA
128D31121213134DD4C4F8644F794C6413188E81A003B3A15B8AC87C4CA39D9A 3F90608C9190989868A226C6277B0A38918DC7700CE431301BBAA5080C6510EC
685013515B36D8B3F7E7F9AEDCDAB9760F62BCC94D9ADEEF3BE7FCCE777EBFCF D444C32301B465833D7B7FFECEEDE96537ED3209F19B9CA4F79EDFEFF33DE7D7
2422F8DF9ED781A56D0EFB730D56945D0EA9BE3F2F676F3D70DF36C01C15FF0A DF391744F4BF0E9D3E07F25AEDD6F7EACD2895AFEE496A7E76E6AE3AE0C52D80
30AF333BB9E9E74ADF68E4A12A19A8F0851BADB869B6242F00292DD9AE6DBD2B 5133F80498D69191D878A5C23B127EA592FACBBDA106331E8BCC4EAD0F80A4E6
BD43273D4E79371D5A1DB05527B807B0BCE7C0FEC1EB20A3373A447B60B5688F 0CE7969E12CFE049B783BEB541A90536AB06CF03A6EFECD83BB00834F2A89D94
544BF0567FA8113393D45970F3C9E265FD7D371448E77C93746442DB6945B322 979792F25A15059EF4051B30B549AD098F9F2C9CD7D7FB482E75CC30507B1A94
D5099ACCD8F8DBD5D0467C90E1EB21178A6D3276979F247748B0A2385C6FC5EA ED66340953D5A0D188B5D7E74319F682861E06DD2EB4D0E8B33E36799A02E585
789550A1EBD02247DD57AB964DF4E4A7C9072E487B06B426139E55A2D51E9DE0 A13A33964A964EBC42E781D9F6DA0B4BE68D77E7A4D03127A82D154AA301EF8A
656051201B030A7C885584BC9073D740C2E55789B6799D0C54964CB1EB0D6065 458B18D5E06360B63F03FD023EC8BB087A4037168042650F92B27E25F55714C5
4F81EBC76FFDD9F2E17CE8E0B465BCC18C4763C544CF603B5074C68D5FFFBC16 94EB0BA0A43BD7F9E7AFBE0CFA7E0654389765ACDE880D324495F61F6C050ACE
C26AE49742C84F4B21677D193252532EC1B5A521E34C76D9CD0FF67B175CFCCC BA70ED9F8740BC1BBA9A0FFA2B0F74D99B4AC3D56514585E1C8C9AECB01AD7F4
931A056F4BC3700370FFBF2B9D94D02660455F2E060DF01F3C90E062C8371E8B 7966DE39E74ED6E0AD2918AA075E526113A4190835028B7BB3301085FFE10605
FC5EE593606569B8353D69F7803F2B12C8B546C10F109CA9B92D9E8D535A6087 E6802EB94D74B3D24B818AE2508B2DE1AB7E5F7AD89F65D6E0FB18CE5DB34262
05EBFADC1835C0BFCE837C7125E44C2EC94A72E4F4E264F928CB2427AE80BCEF 74D219086D336165AF0B2351F8C56CD02F0F80CE66F17351269D9E93483FA41B
841C9C8771567F6FA2B4C5EDB15D366CF8D48D8928B81B722A07D29305E95E80 E8C474D0510768FF348CF1EE5F90E9318A3110DA61C1EA332E8C6B7017E85426
28383D8FD0F387A78B72C2266E4EC29304D5782E71C10F5D4ACB4C7D92904075 A83B1DD435131A9C6B1EE69ABF2AD3E22AAE81505302DE64A83219FC80EC1619
E1DE64040254FE319577C5283F9209A1EF5A1DE34802D39C2BA0A7B6B7D3936A 3EA9263510A7705722FC7E86FFC8F0CE09F043696ADD95DA88812192115F710D
BFBC65B966801FA7E7C7E8F96182D31AD99F06D9930CAD16786A4E04044F6D77 B8A6966F6C0935E79F58A844E1C7197E84E10719CEA5A1BD29A09D89506A80B7
BB0E9CDB52239F143A75E5F1C05B52206FD9216F5A75922DB33A6482671E5B92 645A5CC518303CB9CDE5DC77636335FD94EF9814DE9C04FADA0AFAD2AC9A6C94
73E2E2E335F25DA57F0A382DFB638F1DE70DF09D3648A305B2DD840936DEA669 E931D219303CEDC8DCCC13775EAFA6DF2A7C31702ED9DF3BADB815856FB7801A
634ACFAD47721D1D639BAA24B47EAD742D344D52DE9A82610A287B0D286C34A3 4CA0AD068CF3C15B27313A69065C73F3A12C7BFBE8BA4A0AAE5A4E9DB30C3A78
7B87F56FF05A1384E0C2293AC66F35091BAD25DDF6F460758936B1A1424E79D2 4B12867801A59F01F90D46746D3347E0350610C3896FD1519EAB8ED0EE4A3368
A593AD7FD401E9C880EC4B458436AC3736B770CE10F431FE7741811BEF25128E B659DE1EA82A52C65797D329B78D3AF8001DB683DA53417B9211E632AC8A4472
A17F1E3D4554527E7655FEB8DCE993EF4BDD93C0555AEA4D783E5EF954EC2568 2CDF330CDDC4EF6E0B78744813BE86EE4A35E095945D5E923346CF78E9F76297
2F5F2D8668E455A0CA58AF139C2E5AD82FD5CBE5FC9A0239CE716B2867970A3B 0E2EBAA5CE80F765BC4E0CF330B4878732C168F853A05286440C4E17CCEAA3AA
BB4BA52AD121D2DA24126D25C9704C2543DCB3263A4DBBF39DAD91DBBD12C84B 85746B592E1DE7EB360AE7534A7CB23B4557C9F818716913D868339B0C4DD8C9
9904DE6CC7A0BAA1666A26F59D80C524E88BA924AC26AE5E418305777F5EE414 20E72C13F3AA41578EA325FC9487FCD9493A789315031C9CA792A610030B19DE
5E3AC20E95362A6752D48DB47936E0C69A97003B053DA3CE82E0115A55A613A8 1B35E111E251A21AD49BF0DCCF050EE28F8E38A1D4CA70EE14F1455A2FF3FF93
32391A7ADBD9400AFC9D5426C48CA3AA9BE74260ACA5652BF8BE18B548FDE0F5 3E02ACBCA077788C323CCCA52A550DC436F96AE869E31E17F0DDC9DC21461C16
E662F40E2BE5CC77880B965C0EF8B4F7818A1F6D7982F1DBF85F801B15FC059E A759E6DE93B8648B797C287EAB0642FC797372EB1D142BE7FE0E72C0DCC8CCFD
6028BEE22B69170000000049454E44AE426082} 49331012EDC7657983DB6FAD7C75DF2222FC0B51266D78E692E7220000000049
454E44AE426082}
Instruction.Text = 'Las siguientes facturas no han podido ser modificadas:' Instruction.Text = 'Las siguientes facturas no han podido ser modificadas:'
Instruction.Glyph.Data = { Instruction.Glyph.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00

View File

@ -47,6 +47,15 @@ type
TBXItem44: TTBXItem; TBXItem44: TTBXItem;
actGenerarPDF: TAction; actGenerarPDF: TAction;
TBXItem45: TTBXItem; TBXItem45: TTBXItem;
actMandarVerifactu: TAction;
TBXItem46: TTBXItem;
TBSeparatorItem1: TTBSeparatorItem;
GenerarPDF1: TMenuItem;
MandarVerifactu1: TMenuItem;
TBSeparatorItem2: TTBSeparatorItem;
TBSeparatorItem3: TTBSeparatorItem;
GDPR1: TMenuItem;
Verpresupuesto1: TMenuItem;
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject); procedure actEliminarUpdate(Sender: TObject);
procedure actNuevaFacturaExecute(Sender: TObject); procedure actNuevaFacturaExecute(Sender: TObject);
@ -62,6 +71,8 @@ type
procedure actVerContratoExecute(Sender: TObject); procedure actVerContratoExecute(Sender: TObject);
procedure actGenerarPDFExecute(Sender: TObject); procedure actGenerarPDFExecute(Sender: TObject);
procedure actGenerarPDFUpdate(Sender: TObject); procedure actGenerarPDFUpdate(Sender: TObject);
procedure actMandarVerifactuExecute(Sender: TObject);
procedure actMandarVerifactuUpdate(Sender: TObject);
private private
FFacturas: IBizFacturaCliente; FFacturas: IBizFacturaCliente;
@ -304,6 +315,80 @@ begin
end; end;
procedure TfEditorFacturasCliente.actMandarVerifactuExecute(Sender: TObject);
var
AFacturas: IBizFacturaCliente;
AllItems: Boolean;
AListaCausas: TStringList;
begin
AFacturas := Nil;
AllItems := False;
AListaCausas := TStringList.Create;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
if AllItems then
begin
if (Application.MessageBox('¿Desea mandar a VERIFACTU los borradores seleccionados, para que se conviertan en FACTURAS DEFINITIVAS EN LA AEAT?, ya no podrá modificarlos', 'Atención', MB_YESNO) = IDYES) then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Facturas as ISeleccionable).SelectedRecords);
AFacturas := (Controller as IFacturasClienteController).ExtraerSeleccionados(Facturas) as IBizFacturaCliente;
end
end
else begin
if (Application.MessageBox('¿Desea mandar a VERIFACTU el borrador seleccionado, para que se convierta en FACTURA DEFINITIVAS EN LA AEAT?, ya no podrá modificarlo', 'Atención', MB_YESNO) = IDYES) then
AFacturas := Facturas;
end;
if Assigned(AFacturas) then
begin
FController.enviarVerifactu(AFacturas, AllItems, AListaCausas);
if AllItems then
begin
{ if (AFacturas.DataTable.RecordCount > 0) then
begin
with AFacturas.DataTable do
begin
JsListaFacturasNoEliminadas.Content.Clear;
First;
while not EOF do
begin
JsListaFacturasNoEliminadas.Content.Add('Ref. factura: ' + AFacturas.REFERENCIA + ' ' + AFacturas.NOMBRE);
if Length(AListaCausas.Values[IntToStr(AFacturas.ID)]) > 0 then
JsListaFacturasNoEliminadas.Content.Add(VarToStr(AListaCausas.Values[IntToStr(AFacturas.ID)]))
else
JsListaFacturasNoEliminadas.Content.Add('La factura puede tener algún recibo devuelto y no puede ser eliminada');
JsListaFacturasNoEliminadas.Content.Add('');
Next;
end;
end;
JsListaFacturasNoEliminadas.Execute;
end;
}
actRefrescar.Execute;
end
end;
AListaCausas.Free;
ViewGrid.GotoFirst;
end;
procedure TfEditorFacturasCliente.actMandarVerifactuUpdate(Sender: TObject);
begin
inherited;
{
if HayDatos and Assigned(ViewGrid) then
(Sender as TAction).Enabled := ViewGrid.EsSeleccionCeldaDatos
and (ViewGrid.NumSeleccionados > 0)
and (FFacturas.VERIFACTU < 1)
else
}
(Sender as TAction).Enabled := False;
end;
procedure TfEditorFacturasCliente.actNuevaFacturaExecute(Sender: TObject); procedure TfEditorFacturasCliente.actNuevaFacturaExecute(Sender: TObject);
begin begin
actNuevo.Execute; actNuevo.Execute;

View File

@ -196,6 +196,31 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
Caption = 'Forma pago' Caption = 'Forma pago'
DataBinding.FieldName = 'REF_FORMA_PAGO' DataBinding.FieldName = 'REF_FORMA_PAGO'
end end
object cxGridViewVERIFACTU: TcxGridDBColumn
DataBinding.FieldName = 'VERIFACTU'
PropertiesClassName = 'TcxImageComboBoxProperties'
Properties.Images = PngImageList
Properties.Items = <
item
Value = 0
end
item
Description = 'VERIFACTU'
ImageIndex = 0
Value = 1
end
item
Description = 'INCIDENCIA'
ImageIndex = 4
Value = '2'
end>
OnGetCellHint = cxGridViewVERIFACTUGetCellHint
end
object cxGridViewVERIFACTU_NOTES: TcxGridDBColumn
DataBinding.FieldName = 'VERIFACTU_NOTES'
Visible = False
VisibleForCustomization = False
end
end end
inherited cxGridLevel: TcxGridLevel inherited cxGridLevel: TcxGridLevel
Caption = 'Todas' Caption = 'Todas'
@ -727,6 +752,34 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
064200A70120096201BA0100A6C62916A56F74520000000049454E44AE426082} 064200A70120096201BA0100A6C62916A56F74520000000049454E44AE426082}
Name = 'PngImage3' Name = 'PngImage3'
Background = clWindow Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000AEB00000AEB01828B0D5A0000027F4944415478DA
95926D48535118C79FDB268AA54485D62C4C50962CDC87F5416D9AB966CEA440
A4E84D828C304C89B217DB87D00F65252B69422F9A4161D6A0507C6D595A6450
83CC55787129CE19949B6DD3DDEDDE9D73BABB561835D3030FCF39E739FFDFF3
C2A1608EF5A1467A415632783A589C100254B0A0EB5A623A9392DCD365B89DBE
FF3CBC5830C0DD9DD726922B34EFDAEB5B53F75972170470D4C8E461DB724D78
091139AC66F4FC5E9BA24007FDF3064C75E6DE7DE94BD8DBDC4A834615014B5D
BD8D6985E37BE6056074D2B544934357DCFA1CD2FBEA1B6C908742E96EAFBFFB
7E5FE2A15A18FA2FC0F978B35E9CBAE94895EE2DB474D82053B918CA4BA2A1BF
D37823B3D879784E80BB36298ADA98368C97937043F3185CACA1E164F12AD89E
1509132316E659BB39A14807B6A000E74365A5282D43EB67BFC020FD1D76159A
C0502785D8984580B8691830BEA9561F634EFC1340AAA4111E55C60817859611
E4038EF34256FE6BE86C5A0F807D4010035F2DA3EE1EA32DEEA81EEC7F0126EF
288E87A8D597389F8DC28280858ACB9FE06C690CBFF702E60DB153E463EF70C5
D632EEDC1F00FA6A7CA824397D888B46AB671EF300CC826DDC092B5710411CB0
406C62D86EEFEA72C69DAA07F76FC0645DD241B15A7D93E3C6A85FE2471D5E68
6872C1CE1C2FE46BF0AC2A1842F7B9CBB2CFF8AB05007900A26949819995E075
184D43A0FF400B95575CD0FED4010A9907AAB5E1BC9801EC9FA9C261656D0346
7FFC8106E2A55C7A591EA551197CC84A1121BB4FC8346AF540CB1307A8950462
25E8670B8CD01E6611B198C445D9E5DC75EABD7E4DA32B322C05630F3F15BE54
82788F788FF9E9FB679D9110C781FBC077B753433BB478CB0F7C3B8CF0987D51
CF0000000049454E44AE426082}
Name = 'PngImage4'
Background = clWindow
end> end>
Left = 56 Left = 56
Top = 48 Top = 48

View File

@ -68,6 +68,8 @@ type
cxGridViewLOPD: TcxGridDBColumn; cxGridViewLOPD: TcxGridDBColumn;
cxGridViewPROCEDENCIA_CLIENTE: TcxGridDBColumn; cxGridViewPROCEDENCIA_CLIENTE: TcxGridDBColumn;
cxGridViewREF_FORMA_PAGO: TcxGridDBColumn; cxGridViewREF_FORMA_PAGO: TcxGridDBColumn;
cxGridViewVERIFACTU: TcxGridDBColumn;
cxGridViewVERIFACTU_NOTES: TcxGridDBColumn;
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView; procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
out AStyle: TcxStyle); out AStyle: TcxStyle);
@ -76,6 +78,10 @@ type
procedure actProvinciaExecute(Sender: TObject); procedure actProvinciaExecute(Sender: TObject);
procedure actProvinciaUpdate(Sender: TObject); procedure actProvinciaUpdate(Sender: TObject);
procedure actClienteUpdate(Sender: TObject); procedure actClienteUpdate(Sender: TObject);
procedure cxGridViewVERIFACTUGetCellHint(Sender: TcxCustomGridTableItem;
ARecord: TcxCustomGridRecord; ACellViewInfo: TcxGridTableDataCellViewInfo;
const AMousePos: TPoint; var AHintText: TCaption;
var AIsHintMultiLine: Boolean; var AHintTextRect: TRect);
private private
//Filtros relativos a la vista //Filtros relativos a la vista
@ -223,6 +229,21 @@ begin
end; end;
end; end;
procedure TfrViewFacturasCliente.cxGridViewVERIFACTUGetCellHint(
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
ACellViewInfo: TcxGridTableDataCellViewInfo; const AMousePos: TPoint;
var AHintText: TCaption; var AIsHintMultiLine: Boolean;
var AHintTextRect: TRect);
begin
inherited;
if (ARecord.DisplayTexts[Sender.Index] = 'INCIDENCIA') then
begin
AIsHintMultiLine := True;
if not VarIsNull(ARecord.Values[cxGridViewVERIFACTU_NOTES.Index]) then
AHintText := ARecord.Values[cxGridViewVERIFACTU_NOTES.Index];
end;
end;
function TfrViewFacturasCliente.GetFacturas: IBizFacturaCliente; function TfrViewFacturasCliente.GetFacturas: IBizFacturaCliente;
begin begin
Result := FFacturas; Result := FFacturas;

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More