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.ProjectType>VCLApplication</Borland.ProjectType>
<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><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">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\Modulos\Facturas de proveedor\Base.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\ccpackD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\cxDataD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\cxEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\cxExportD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\cxLibraryD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dxLayoutControlD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dxPScxCommonD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dxThemeD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\frx11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\frxe11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\fs11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvAppFrmD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvGlobusD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\PngComponentsD10.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\PNG_D10.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\rtl.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\tb2k_d10.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\tbx_d10.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vcl.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vclactnband.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vcldb.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vcljpg.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vclx.dcp" />
<DCCReference Include="..\Servidor\Base.dcp" />
<DCCReference Include="..\Servidor\ccpackD11.dcp" />
<DCCReference Include="..\Servidor\cxDataD11.dcp" />
<DCCReference Include="..\Servidor\cxEditorsD11.dcp" />
<DCCReference Include="..\Servidor\cxExportD11.dcp" />
<DCCReference Include="..\Servidor\cxLibraryD11.dcp" />
<DCCReference Include="..\Servidor\dbrtl.dcp" />
<DCCReference Include="..\Servidor\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Servidor\dxLayoutControlD11.dcp" />
<DCCReference Include="..\Servidor\dxPScxCommonD11.dcp" />
<DCCReference Include="..\Servidor\dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="..\Servidor\dxThemeD11.dcp" />
<DCCReference Include="..\Servidor\frx11.dcp" />
<DCCReference Include="..\Servidor\frxe11.dcp" />
<DCCReference Include="..\Servidor\fs11.dcp" />
<DCCReference Include="..\Servidor\JvAppFrmD11R.dcp" />
<DCCReference Include="..\Servidor\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Servidor\JvGlobusD11R.dcp" />
<DCCReference Include="..\Servidor\PngComponentsD10.dcp" />
<DCCReference Include="..\Servidor\PNG_D10.dcp" />
<DCCReference Include="..\Servidor\rtl.dcp" />
<DCCReference Include="..\Servidor\tb2k_d10.dcp" />
<DCCReference Include="..\Servidor\tbx_d10.dcp" />
<DCCReference Include="..\Servidor\vcl.dcp" />
<DCCReference Include="..\Servidor\vclactnband.dcp" />
<DCCReference Include="..\Servidor\vcldb.dcp" />
<DCCReference Include="..\Servidor\vcljpg.dcp" />
<DCCReference Include="..\Servidor\vclx.dcp" />
<DCCReference Include="uDialogBase.pas">
<Form>fDialogBase</Form>
</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
AContrato.DataTable.Edit;
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;
end;
@ -315,7 +321,13 @@ begin
begin
AContrato.DataTable.Edit;
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;
end;
Next;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -55,6 +55,7 @@ type
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 AsignarLOPD(AFacturas: IBizFacturaCliente): Boolean;
function enviarVerifactu(AFactura: IBizFacturaCliente; AllItems: Boolean = false; AListaCausas: TStringList = nil): Boolean;
end;
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 AsignarLOPD(AFacturas: IBizFacturaCliente): Boolean;
function enviarVerifactu(AFactura: IBizFacturaCliente; AllItems: Boolean = false; AListaCausas: TStringList = nil): Boolean;
end;
implementation
@ -739,6 +741,7 @@ begin
SITUACION := CTE_PENDIENTE; //Al ser una nueva debe de estar pendiente
FECHA_FACTURA := DateOf(Now);
ID_COMISION_LIQUIDADA := 0;
VERIFACTU := 0;
//CONTABILIDAD
ID_EJERCICIO := AppFactuGES.EjercicioActivo.ID;
@ -1048,6 +1051,72 @@ begin
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;
begin
Result := True;
@ -1055,7 +1124,12 @@ begin
if not Assigned(AFactura) then
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
Result := False;
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
raise Exception.Create ('Factura no asignado: EsModificable');
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
if (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_ADMINISTRADOR)
or (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PREFIL_GERENCIA) then

View File

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

View File

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

View File

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

View File

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

View File

@ -267,6 +267,14 @@ object srvFacturasCliente: TsrvFacturasCliente
item
DatasetField = 'REF_FORMA_PAGO'
TableField = 'REF_FORMA_PAGO'
end
item
DatasetField = 'VERIFACTU'
TableField = 'VERIFACTU'
end
item
DatasetField = 'VERIFACTU_NOTES'
TableField = 'VERIFACTU_NOTES'
end>
end>
Name = 'FacturasCliente'
@ -555,6 +563,14 @@ object srvFacturasCliente: TsrvFacturasCliente
Name = 'PROCEDENCIA_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'VERIFACTU'
DataType = datSmallInt
end
item
Name = 'VERIFACTU_NOTES'
DataType = datMemo
end>
end
item
@ -1343,6 +1359,11 @@ object srvFacturasCliente: TsrvFacturasCliente
Size = 255
Value = ''
end
item
Name = 'VERIFACTU'
DataType = datSmallInt
Value = ''
end
item
Name = 'OLD_ID'
Value = ''
@ -1369,7 +1390,7 @@ object srvFacturasCliente: TsrvFacturasCliente
'RAR_CONTABILIDAD = :IGNORAR_CONTABILIDAD,'#10' ID_TIENDA = :ID_TI' +
'ENDA,'#10' ID_CONTRATO = :ID_CONTRATO,'#10' SIN_COMISION = :SIN_CO' +
'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
ColumnMappings = <>
end>

View File

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

View File

@ -47,6 +47,15 @@ type
TBXItem44: TTBXItem;
actGenerarPDF: TAction;
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 actEliminarUpdate(Sender: TObject);
procedure actNuevaFacturaExecute(Sender: TObject);
@ -62,6 +71,8 @@ type
procedure actVerContratoExecute(Sender: TObject);
procedure actGenerarPDFExecute(Sender: TObject);
procedure actGenerarPDFUpdate(Sender: TObject);
procedure actMandarVerifactuExecute(Sender: TObject);
procedure actMandarVerifactuUpdate(Sender: TObject);
private
FFacturas: IBizFacturaCliente;
@ -304,6 +315,80 @@ begin
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);
begin
actNuevo.Execute;

View File

@ -196,6 +196,31 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
Caption = 'Forma pago'
DataBinding.FieldName = 'REF_FORMA_PAGO'
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
inherited cxGridLevel: TcxGridLevel
Caption = 'Todas'
@ -727,6 +752,34 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
064200A70120096201BA0100A6C62916A56F74520000000049454E44AE426082}
Name = 'PngImage3'
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>
Left = 56
Top = 48

View File

@ -68,6 +68,8 @@ type
cxGridViewLOPD: TcxGridDBColumn;
cxGridViewPROCEDENCIA_CLIENTE: TcxGridDBColumn;
cxGridViewREF_FORMA_PAGO: TcxGridDBColumn;
cxGridViewVERIFACTU: TcxGridDBColumn;
cxGridViewVERIFACTU_NOTES: TcxGridDBColumn;
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
out AStyle: TcxStyle);
@ -76,6 +78,10 @@ type
procedure actProvinciaExecute(Sender: TObject);
procedure actProvinciaUpdate(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
//Filtros relativos a la vista
@ -223,6 +229,21 @@ begin
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;
begin
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