diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj index 92f2a92e..82f998db 100644 --- a/Source/Base/Base.dproj +++ b/Source/Base/Base.dproj @@ -45,6 +45,10 @@ Package FalseTrueFalseLibreria base de FactuGESFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + + + + Microsoft Office 2000 Sample Automation Server Wrapper Components Microsoft Office XP Sample Automation Server Wrapper Components Base.dpk @@ -54,58 +58,58 @@ MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
fConfigurarConexion
TForm diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj index db59be65..eaa173bb 100644 --- a/Source/Cliente/FactuGES.dproj +++ b/Source/Cliente/FactuGES.dproj @@ -53,7 +53,7 @@ Delphi.Personality VCLApplication -FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse2400FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.4.0.0FactuGESFactuGES2.4.0.0FactuGES.dprFalse +FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse2510FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.5.1.0FactuGESFactuGES2.5.1.0FactuGES.dprFalse diff --git a/Source/Cliente/FactuGES.rc b/Source/Cliente/FactuGES.rc index 34e40ecf..5a7ab119 100644 --- a/Source/Cliente/FactuGES.rc +++ b/Source/Cliente/FactuGES.rc @@ -1,7 +1,7 @@ MAINICON ICON "C:\Codigo tecsitel\Resources\Iconos\Factuges.ico" 1 VERSIONINFO -FILEVERSION 2,4,0,0 -PRODUCTVERSION 2,4,0,0 +FILEVERSION 2,5,1,0 +PRODUCTVERSION 2,5,1,0 FILEFLAGSMASK 0x3FL FILEFLAGS 0x00L FILEOS 0x40004L @@ -13,10 +13,10 @@ BEGIN BLOCK "0C0A04E4" BEGIN VALUE "CompanyName", "Rodax Software S.L.\0" - VALUE "FileVersion", "2.4.0.0\0" + VALUE "FileVersion", "2.5.1.0\0" VALUE "InternalName", "FactuGES\0" VALUE "ProductName", "FactuGES\0" - VALUE "ProductVersion", "2.4.0.0\0" + VALUE "ProductVersion", "2.5.1.0\0" END END BLOCK "VarFileInfo" diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res index 7e638f7b..75d4651f 100644 Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ diff --git a/Source/Informes/1/FacturaCliente.rdx b/Source/Informes/1/FacturaCliente.rdx index 571c5640..c578a557 100644 Binary files a/Source/Informes/1/FacturaCliente.rdx and b/Source/Informes/1/FacturaCliente.rdx differ diff --git a/Source/Informes/1/InfFacturaCliente.fr3 b/Source/Informes/1/InfFacturaCliente.fr3 index 649760e3..91f4d785 100644 --- a/Source/Informes/1/InfFacturaCliente.fr3 +++ b/Source/Informes/1/InfFacturaCliente.fr3 @@ -1,9 +1,9 @@ - + - + @@ -65,11 +65,13 @@ - + + + - + diff --git a/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm index 46fc474b..714cf85b 100644 --- a/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm @@ -287,6 +287,10 @@ inherited DataModuleFacturasCliente: TDataModuleFacturasCliente item Name = 'FACTURA_WEB' DataType = datSmallInt + end + item + Name = 'ANTICIPADA' + DataType = datSmallInt end> Params = <> StreamingOptions = [soDisableEventsWhileStreaming] diff --git a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas index 71d0ff1f..cde47eb3 100644 --- a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas +++ b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas @@ -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 = '{B6420F5C-D91E-48CE-B5AE-1601C339BCFB}'; - RID_FacturasCliente = '{CFAF95F1-1417-4EFB-9434-9F6E72BEC0A2}'; - RID_FacturasCliente_Detalles = '{48E213DD-72ED-44BB-9E6F-FB5D350B50D4}'; + RID_ListaAnosFacturas = '{73B3E607-12AC-45CC-A271-B71B7CB04265}'; + RID_FacturasCliente = '{CCDFBD59-C5F8-4D55-B1FF-6ADED793246B}'; + RID_FacturasCliente_Detalles = '{D4D44383-AE2B-448A-BE39-BA7A7BF96DC2}'; { Data table names } nme_ListaAnosFacturas = 'ListaAnosFacturas'; @@ -69,6 +69,7 @@ const fld_FacturasClienteID_PRESUPUESTO = 'ID_PRESUPUESTO'; fld_FacturasClienteREFERENCIA_PRESUPUESTO = 'REFERENCIA_PRESUPUESTO'; fld_FacturasClienteFACTURA_WEB = 'FACTURA_WEB'; + fld_FacturasClienteANTICIPADA = 'ANTICIPADA'; { FacturasCliente field indexes } idx_FacturasClienteID = 0; @@ -115,6 +116,7 @@ const idx_FacturasClienteID_PRESUPUESTO = 41; idx_FacturasClienteREFERENCIA_PRESUPUESTO = 42; idx_FacturasClienteFACTURA_WEB = 43; + idx_FacturasClienteANTICIPADA = 44; { FacturasCliente_Detalles fields } fld_FacturasCliente_DetallesID = 'ID'; @@ -153,7 +155,7 @@ const type { IListaAnosFacturas } IListaAnosFacturas = interface(IDAStronglyTypedDataTable) - ['{5CB55BC4-3F60-4960-A0CB-B487CC69AE87}'] + ['{2DB3E7B0-074E-437F-8A05-B13A13B86C3F}'] { Property getters and setters } function GetANOValue: String; procedure SetANOValue(const aValue: String); @@ -188,7 +190,7 @@ type { IFacturasCliente } IFacturasCliente = interface(IDAStronglyTypedDataTable) - ['{DD0C6685-6F03-48F9-9628-0C1B2255F118}'] + ['{A82FC171-C66B-428B-BB34-FE7FD430543A}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -365,6 +367,10 @@ type procedure SetFACTURA_WEBValue(const aValue: SmallInt); function GetFACTURA_WEBIsNull: Boolean; procedure SetFACTURA_WEBIsNull(const aValue: Boolean); + function GetANTICIPADAValue: SmallInt; + procedure SetANTICIPADAValue(const aValue: SmallInt); + function GetANTICIPADAIsNull: Boolean; + procedure SetANTICIPADAIsNull(const aValue: Boolean); { Properties } @@ -456,6 +462,8 @@ type property REFERENCIA_PRESUPUESTOIsNull: Boolean read GetREFERENCIA_PRESUPUESTOIsNull write SetREFERENCIA_PRESUPUESTOIsNull; property FACTURA_WEB: SmallInt read GetFACTURA_WEBValue write SetFACTURA_WEBValue; property FACTURA_WEBIsNull: Boolean read GetFACTURA_WEBIsNull write SetFACTURA_WEBIsNull; + property ANTICIPADA: SmallInt read GetANTICIPADAValue write SetANTICIPADAValue; + property ANTICIPADAIsNull: Boolean read GetANTICIPADAIsNull write SetANTICIPADAIsNull; end; { TFacturasClienteDataTableRules } @@ -640,6 +648,10 @@ type procedure SetFACTURA_WEBValue(const aValue: SmallInt); virtual; function GetFACTURA_WEBIsNull: Boolean; virtual; procedure SetFACTURA_WEBIsNull(const aValue: Boolean); virtual; + function GetANTICIPADAValue: SmallInt; virtual; + procedure SetANTICIPADAValue(const aValue: SmallInt); virtual; + function GetANTICIPADAIsNull: Boolean; virtual; + procedure SetANTICIPADAIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; @@ -730,6 +742,8 @@ type property REFERENCIA_PRESUPUESTOIsNull: Boolean read GetREFERENCIA_PRESUPUESTOIsNull write SetREFERENCIA_PRESUPUESTOIsNull; property FACTURA_WEB: SmallInt read GetFACTURA_WEBValue write SetFACTURA_WEBValue; property FACTURA_WEBIsNull: Boolean read GetFACTURA_WEBIsNull write SetFACTURA_WEBIsNull; + property ANTICIPADA: SmallInt read GetANTICIPADAValue write SetANTICIPADAValue; + property ANTICIPADAIsNull: Boolean read GetANTICIPADAIsNull write SetANTICIPADAIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -739,7 +753,7 @@ type { IFacturasCliente_Detalles } IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable) - ['{C6858DC1-BBDE-4EC0-93E6-E1D177191707}'] + ['{F3DED1B6-4C46-4A15-97C0-C5E56824CF36}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -1919,6 +1933,27 @@ begin DataTable.Fields[idx_FacturasClienteFACTURA_WEB].AsVariant := Null; end; +function TFacturasClienteDataTableRules.GetANTICIPADAValue: SmallInt; +begin + result := DataTable.Fields[idx_FacturasClienteANTICIPADA].AsSmallInt; +end; + +procedure TFacturasClienteDataTableRules.SetANTICIPADAValue(const aValue: SmallInt); +begin + DataTable.Fields[idx_FacturasClienteANTICIPADA].AsSmallInt := aValue; +end; + +function TFacturasClienteDataTableRules.GetANTICIPADAIsNull: boolean; +begin + result := DataTable.Fields[idx_FacturasClienteANTICIPADA].IsNull; +end; + +procedure TFacturasClienteDataTableRules.SetANTICIPADAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_FacturasClienteANTICIPADA].AsVariant := Null; +end; + { TFacturasCliente_DetallesDataTableRules } constructor TFacturasCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable); diff --git a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas index ccd701ff..75b0490e 100644 --- a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas +++ b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas @@ -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 = '{4545AB94-BA1A-498B-82CC-6BB34ACFBF86}'; - RID_FacturasClienteDelta = '{AB0BB13F-03DD-46A7-9C1E-82C075A9DE7B}'; - RID_FacturasCliente_DetallesDelta = '{3C02B67E-221C-403B-AE8D-FAD1AB3E0FCC}'; + RID_ListaAnosFacturasDelta = '{2C4A6B5A-64F9-4553-99CE-A567BBC9D1EF}'; + RID_FacturasClienteDelta = '{92A860A2-9687-477D-BD9C-EFDB42BAAEFC}'; + RID_FacturasCliente_DetallesDelta = '{F439447E-F248-42DF-8BEA-2E1049E06244}'; type { IListaAnosFacturasDelta } IListaAnosFacturasDelta = interface(IListaAnosFacturas) - ['{4545AB94-BA1A-498B-82CC-6BB34ACFBF86}'] + ['{2C4A6B5A-64F9-4553-99CE-A567BBC9D1EF}'] { Property getters and setters } function GetOldANOValue : String; @@ -50,7 +50,7 @@ type { IFacturasClienteDelta } IFacturasClienteDelta = interface(IFacturasCliente) - ['{AB0BB13F-03DD-46A7-9C1E-82C075A9DE7B}'] + ['{92A860A2-9687-477D-BD9C-EFDB42BAAEFC}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -96,6 +96,7 @@ type function GetOldID_PRESUPUESTOValue : Integer; function GetOldREFERENCIA_PRESUPUESTOValue : String; function GetOldFACTURA_WEBValue : SmallInt; + function GetOldANTICIPADAValue : SmallInt; { Properties } property OldID : Integer read GetOldIDValue; @@ -142,6 +143,7 @@ type property OldID_PRESUPUESTO : Integer read GetOldID_PRESUPUESTOValue; property OldREFERENCIA_PRESUPUESTO : String read GetOldREFERENCIA_PRESUPUESTOValue; property OldFACTURA_WEB : SmallInt read GetOldFACTURA_WEBValue; + property OldANTICIPADA : SmallInt read GetOldANTICIPADAValue; end; { TFacturasClienteBusinessProcessorRules } @@ -414,6 +416,12 @@ type function GetOldFACTURA_WEBIsNull: Boolean; virtual; procedure SetFACTURA_WEBValue(const aValue: SmallInt); virtual; procedure SetFACTURA_WEBIsNull(const aValue: Boolean); virtual; + function GetANTICIPADAValue: SmallInt; virtual; + function GetANTICIPADAIsNull: Boolean; virtual; + function GetOldANTICIPADAValue: SmallInt; virtual; + function GetOldANTICIPADAIsNull: Boolean; virtual; + procedure SetANTICIPADAValue(const aValue: SmallInt); virtual; + procedure SetANTICIPADAIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; @@ -592,6 +600,10 @@ type property FACTURA_WEBIsNull : Boolean read GetFACTURA_WEBIsNull write SetFACTURA_WEBIsNull; property OldFACTURA_WEB : SmallInt read GetOldFACTURA_WEBValue; property OldFACTURA_WEBIsNull : Boolean read GetOldFACTURA_WEBIsNull; + property ANTICIPADA : SmallInt read GetANTICIPADAValue write SetANTICIPADAValue; + property ANTICIPADAIsNull : Boolean read GetANTICIPADAIsNull write SetANTICIPADAIsNull; + property OldANTICIPADA : SmallInt read GetOldANTICIPADAValue; + property OldANTICIPADAIsNull : Boolean read GetOldANTICIPADAIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -601,7 +613,7 @@ type { IFacturasCliente_DetallesDelta } IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles) - ['{3C02B67E-221C-403B-AE8D-FAD1AB3E0FCC}'] + ['{F439447E-F248-42DF-8BEA-2E1049E06244}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_FACTURAValue : Integer; @@ -2232,6 +2244,37 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteFACTURA_WEB] := Null; end; +function TFacturasClienteBusinessProcessorRules.GetANTICIPADAValue: SmallInt; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteANTICIPADA]; +end; + +function TFacturasClienteBusinessProcessorRules.GetANTICIPADAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteANTICIPADA]); +end; + +function TFacturasClienteBusinessProcessorRules.GetOldANTICIPADAValue: SmallInt; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteANTICIPADA]; +end; + +function TFacturasClienteBusinessProcessorRules.GetOldANTICIPADAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteANTICIPADA]); +end; + +procedure TFacturasClienteBusinessProcessorRules.SetANTICIPADAValue(const aValue: SmallInt); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteANTICIPADA] := aValue; +end; + +procedure TFacturasClienteBusinessProcessorRules.SetANTICIPADAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteANTICIPADA] := Null; +end; + { TFacturasCliente_DetallesBusinessProcessorRules } constructor TFacturasCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); diff --git a/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas index 299dd9e3..f6be2700 100644 --- a/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas +++ b/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas @@ -270,6 +270,7 @@ begin RE := 0; SITUACION := CTE_PENDIENTE; FACTURA_WEB := 0; + ANTICIPADA := 0; end; procedure TBizFacturaCliente.IVAOnChange(Sender: TDACustomField); diff --git a/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm b/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm index 8c7265af..f10c9e7d 100644 --- a/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm +++ b/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm @@ -223,6 +223,10 @@ object srvFacturasCliente: TsrvFacturasCliente item DatasetField = 'FACTURA_WEB' TableField = 'FACTURA_WEB' + end + item + DatasetField = 'ANTICIPADA' + TableField = 'ANTICIPADA' end> end> Name = 'FacturasCliente' @@ -454,6 +458,10 @@ object srvFacturasCliente: TsrvFacturasCliente item Name = 'FACTURA_WEB' DataType = datSmallInt + end + item + Name = 'ANTICIPADA' + DataType = datSmallInt end> end item @@ -1031,6 +1039,11 @@ object srvFacturasCliente: TsrvFacturasCliente Name = 'FACTURA_WEB' DataType = datSmallInt Value = '' + end + item + Name = 'ANTICIPADA' + DataType = datSmallInt + Value = '' end> Statements = < item @@ -1048,18 +1061,19 @@ object srvFacturasCliente: TsrvFacturasCliente 'IO,'#10' ID_FORMA_PAGO,'#10' RECARGO_EQUIVALENCIA,'#10' ID_TIPO_IVA' + ','#10' IMPORTE_NETO,'#10' IMPORTE_PORTE,'#10' DATOS_BANCARIOS,'#10' ' + 'CLIENTE_FINAL,'#10' RETENCION,'#10' IMPORTE_RETENCION,'#10' CERTIFI' + - 'CADO_ISO,'#10' ID_PRESUPUESTO,'#10' FACTURA_WEB)'#10' VALUES ('#10' :I' + - 'D,'#10' :ID_EMPRESA,'#10' :REFERENCIA,'#10' :FECHA_FACTURA,'#10' :FE' + - 'CHA_VENCIMIENTO,'#10' :FECHA_RETENCION,'#10' :BASE_IMPONIBLE,'#10' ' + - ':DESCUENTO,'#10' :IMPORTE_DESCUENTO,'#10' :IVA,'#10' :IMPORTE_IVA,'#10 + - ' :RE,'#10' :IMPORTE_RE,'#10' :IMPORTE_TOTAL,'#10' :OBSERVACIONES' + - ','#10' :ID_CLIENTE,'#10' :NIF_CIF,'#10' :NOMBRE,'#10' :ID_DIRECCION,' + - #10' :CALLE,'#10' :POBLACION,'#10' :PROVINCIA,'#10' :CODIGO_POSTAL,' + - #10' :FECHA_ALTA,'#10' :FECHA_MODIFICACION,'#10' :USUARIO,'#10' :ID' + - '_FORMA_PAGO,'#10' :RECARGO_EQUIVALENCIA,'#10' :ID_TIPO_IVA,'#10' :I' + - 'MPORTE_NETO,'#10' :IMPORTE_PORTE,'#10' :DATOS_BANCARIOS,'#10' :CLIE' + - 'NTE_FINAL,'#10' :RETENCION,'#10' :IMPORTE_RETENCION,'#10' :CERTIFIC' + - 'ADO_ISO,'#10' :ID_PRESUPUESTO,'#10' :FACTURA_WEB);'#10 + 'CADO_ISO,'#10' ID_PRESUPUESTO,'#10' FACTURA_WEB,'#10' ANTICIPADA)'#10' ' + + ' VALUES ('#10' :ID,'#10' :ID_EMPRESA,'#10' :REFERENCIA,'#10' :FECHA_' + + 'FACTURA,'#10' :FECHA_VENCIMIENTO,'#10' :FECHA_RETENCION,'#10' :BASE' + + '_IMPONIBLE,'#10' :DESCUENTO,'#10' :IMPORTE_DESCUENTO,'#10' :IVA,'#10' ' + + ' :IMPORTE_IVA,'#10' :RE,'#10' :IMPORTE_RE,'#10' :IMPORTE_TOTAL,'#10' ' + + ' :OBSERVACIONES,'#10' :ID_CLIENTE,'#10' :NIF_CIF,'#10' :NOMBRE,'#10' ' + + ' :ID_DIRECCION,'#10' :CALLE,'#10' :POBLACION,'#10' :PROVINCIA,'#10' ' + + ' :CODIGO_POSTAL,'#10' :FECHA_ALTA,'#10' :FECHA_MODIFICACION,'#10' :' + + 'USUARIO,'#10' :ID_FORMA_PAGO,'#10' :RECARGO_EQUIVALENCIA,'#10' :ID_' + + 'TIPO_IVA,'#10' :IMPORTE_NETO,'#10' :IMPORTE_PORTE,'#10' :DATOS_BANC' + + 'ARIOS,'#10' :CLIENTE_FINAL,'#10' :RETENCION,'#10' :IMPORTE_RETENCIO' + + 'N,'#10' :CERTIFICADO_ISO,'#10' :ID_PRESUPUESTO,'#10' :FACTURA_WEB,'#10 + + ' :ANTICIPADA);'#10 StatementType = stSQL ColumnMappings = <> end> @@ -1262,6 +1276,11 @@ object srvFacturasCliente: TsrvFacturasCliente DataType = datSmallInt Value = '' end + item + Name = 'ANTICIPADA' + DataType = datSmallInt + Value = '' + end item Name = 'OLD_ID' Value = '' @@ -1290,7 +1309,8 @@ object srvFacturasCliente: TsrvFacturasCliente 'ANCARIOS,'#10' CLIENTE_FINAL = :CLIENTE_FINAL,'#10' RETENCION = :R' + 'ETENCION,'#10' IMPORTE_RETENCION = :IMPORTE_RETENCION,'#10' CERTIF' + 'ICADO_ISO = :CERTIFICADO_ISO,'#10' ID_PRESUPUESTO = :ID_PRESUPUES' + - 'TO,'#10' FACTURA_WEB = :FACTURA_WEB'#10' WHERE'#10' (ID = :OLD_ID);'#10 + 'TO,'#10' FACTURA_WEB = :FACTURA_WEB,'#10' ANTICIPADA = :ANTICIPADA' + + #10' WHERE'#10' (ID = :OLD_ID);'#10 StatementType = stSQL ColumnMappings = <> end> diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm index 8fb5907e..c1a53bea 100644 --- a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm @@ -98,7 +98,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.SkinName = '' - TabOrder = 11 + TabOrder = 12 Height = 345 Width = 355 end @@ -136,7 +136,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.SkinName = '' - TabOrder = 4 + TabOrder = 5 Width = 269 end object bFormasPago: TButton @@ -145,7 +145,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente Width = 132 Height = 23 Caption = 'Ver las formas de pago...' - TabOrder = 5 + TabOrder = 6 OnClick = bFormasPagoClick end object cbCuentaBancaria: TcxDBComboBox @@ -167,7 +167,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - TabOrder = 7 + TabOrder = 8 Width = 165 end object cbClienteFinal: TcxDBTextEdit @@ -195,7 +195,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.SkinName = '' - TabOrder = 9 + TabOrder = 10 Width = 339 end object bElegirClienteFinal: TButton @@ -204,7 +204,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente Width = 23 Height = 25 Action = actElegirClienteFinal - TabOrder = 10 + TabOrder = 11 end inline frViewDatosYSeleccionClienteFacturaCliente1: TfrViewDatosYSeleccionClienteFacturaCliente Left = 343 @@ -217,16 +217,19 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente Font.Name = 'Tahoma' Font.Style = [] ParentFont = False - TabOrder = 8 + TabOrder = 9 ReadOnly = False ExplicitLeft = 343 ExplicitTop = 30 inherited dxLayoutControl1: TdxLayoutControl + ExplicitWidth = 101 inherited edtlNombre: TcxDBTextEdit Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' + ExplicitWidth = 224 + Width = 224 end inherited edtNIFCIF: TcxDBTextEdit Left = 171 @@ -245,6 +248,8 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' + ExplicitWidth = 121 + Width = 121 end inherited Button4: TButton Left = 251 @@ -287,13 +292,14 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.SkinName = '' - TabOrder = 6 + TabOrder = 7 Width = 275 end object eCertificadoISO: TcxDBCheckBox Left = 22 Top = 84 Caption = 'Certificaci'#243'n ISO' + Constraints.MinWidth = 110 DataBinding.DataField = 'CERTIFICADO_ISO' DataBinding.DataSource = DADataSource Properties.ValueChecked = 1 @@ -308,10 +314,10 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente StyleHot.LookAndFeel.NativeStyle = True TabOrder = 2 Transparent = True - Width = 125 + Width = 110 end object eFacturaWeb: TcxDBCheckBox - Left = 153 + Left = 219 Top = 84 Caption = 'Factura WEB' DataBinding.DataField = 'FACTURA_WEB' @@ -327,10 +333,32 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente StyleFocused.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True - TabOrder = 3 + TabOrder = 4 Transparent = True Width = 293 end + object eFacturaANT: TcxDBCheckBox + Left = 138 + Top = 84 + Caption = 'Anticipada' + Constraints.MinWidth = 75 + DataBinding.DataField = 'ANTICIPADA' + DataBinding.DataSource = DADataSource + Properties.ImmediatePost = True + Properties.ValueChecked = 1 + Properties.ValueUnchecked = 0 + 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 = 3 + Transparent = True + Width = 75 + end object dxLayoutControl1Group_Root: TdxLayoutGroup ShowCaption = False Hidden = True @@ -364,8 +392,17 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente LayoutDirection = ldHorizontal ShowBorder = False object dxLayoutControl1Item11: TdxLayoutItem + AutoAligns = [aaVertical] ShowCaption = False Control = eCertificadoISO + ControlOptions.MinWidth = 100 + ControlOptions.ShowBorder = False + end + object dxLayoutControl1Item13: TdxLayoutItem + AutoAligns = [aaVertical] + ShowCaption = False + Control = eFacturaANT + ControlOptions.MinWidth = 75 ControlOptions.ShowBorder = False end object dxLayoutControl1Item12: TdxLayoutItem diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas index 3a7e4c60..898a644b 100644 --- a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas +++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas @@ -72,6 +72,8 @@ type dxLayoutControl1Item12: TdxLayoutItem; eFacturaWeb: TcxDBCheckBox; dxLayoutControl1Group10: TdxLayoutGroup; + dxLayoutControl1Item13: TdxLayoutItem; + eFacturaANT: TcxDBCheckBox; procedure bFormasPagoClick(Sender: TObject); procedure CustomViewDestroy(Sender: TObject); procedure CustomViewCreate(Sender: TObject); diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm index 8b900b21..41eac715 100644 --- a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm @@ -22,6 +22,21 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente DataController.OnCompare = cxGridViewDataControllerCompare OptionsCustomize.ColumnHidingOnGrouping = False OptionsView.GroupFooters = gfAlwaysVisible + object cxGridViewANTICIPADA: TcxGridDBColumn + Caption = 'Anticipada' + DataBinding.FieldName = 'ANTICIPADA' + PropertiesClassName = 'TcxImageComboBoxProperties' + Properties.Images = GridPNGImageList + Properties.Items = < + item + Description = 'Anticipada' + ImageIndex = 0 + Value = 1 + end + item + Value = 0 + end> + end object cxGridViewWEB: TcxGridDBColumn Caption = 'Web' DataBinding.FieldName = 'FACTURA_WEB' diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas index c28ab359..76d16503 100644 --- a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas +++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas @@ -62,6 +62,7 @@ type cxGridPendientes: TcxGridLevel; cxGridParcial: TcxGridLevel; cxGridPagadas: TcxGridLevel; + cxGridViewANTICIPADA: TcxGridDBColumn; procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); diff --git a/Source/Modulos/Formas de pago/Views/uEditorFormaPago.pas b/Source/Modulos/Formas de pago/Views/uEditorFormaPago.pas index cedcb8a6..e096a446 100644 --- a/Source/Modulos/Formas de pago/Views/uEditorFormaPago.pas +++ b/Source/Modulos/Formas de pago/Views/uEditorFormaPago.pas @@ -121,6 +121,9 @@ end; procedure TfEditorFormaPago.actAnadirExecute(Sender: TObject); begin + if Assigned(FFormaPago) and (FFormaPago.State = dsInsert) then + FController.Guardar(FFormaPago); + FPlazos.Append; end; diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas index 56abbddf..ad717b74 100644 --- a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas +++ b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas @@ -61,7 +61,9 @@ type procedure Preview(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1); procedure Print(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1); function GenerarCertificados(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean; - function CambiarSituacion(APresupuesto : IBizPresupuestoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean; + function CambiarSituacion(APresupuesto : IBizPresupuestoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean; overload; + function CambiarSituacion(APresupuesto : IBizPresupuestoCliente; Situacion: String): Boolean; overload; + function PedidoRecibido(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean; function EnviarPresupuestoPorEMail(APresupuesto : IBizPresupuestoCliente; const AEnviarDirectamente: Boolean = True; @@ -146,7 +148,9 @@ type procedure Preview(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1); procedure Print(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1); function GenerarCertificados(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean; - function CambiarSituacion(APresupuesto : IBizPresupuestoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean; + function CambiarSituacion(APresupuesto : IBizPresupuestoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean; overload; + function CambiarSituacion(APresupuesto : IBizPresupuestoCliente; Situacion: String): Boolean; overload; + function PedidoRecibido(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean; function EnviarPresupuestoPorEMail(APresupuesto : IBizPresupuestoCliente; const AEnviarDirectamente: Boolean = True; @@ -381,6 +385,38 @@ begin end; end; +function TPresupuestosClienteController.CambiarSituacion( + APresupuesto: IBizPresupuestoCliente; Situacion: String): Boolean; + //Solo cambia la situacion del presupuesto seleccionado +begin + if not Assigned(APresupuesto) then + raise Exception.Create ('APresupuesto no asignado'); + + ShowHourglassCursor; + try + if not APresupuesto.DataTable.Active then + APresupuesto.DataTable.Active := True; + + if (APresupuesto.State in dsEditModes) then + APresupuesto.Cancel; + + //Siempre cambiaremos de situacion el seleccionado + if APresupuesto.SITUACION <> Situacion then + begin + APresupuesto.DataTable.Edit; + APresupuesto.SITUACION := Situacion; + APresupuesto.DataTable.Post; + end; + + APresupuesto.DataTable.ApplyUpdates; + Result := True; + + finally + HideHourglassCursor; + end; + +end; + constructor TPresupuestosClienteController.Create; begin inherited; @@ -1079,6 +1115,58 @@ begin } end; +function TPresupuestosClienteController.PedidoRecibido( + APresupuesto: IBizPresupuestoCliente; AllItems: Boolean): Boolean; +//En el caso de cambiar al menos un presupuesto devuelve true +begin + Result := false; + + if not Assigned(APresupuesto) then + raise Exception.Create ('APresupuesto no asignado'); + + ShowHourglassCursor; + try + if not APresupuesto.DataTable.Active then + APresupuesto.DataTable.Active := True; + + if (APresupuesto.State in dsEditModes) then + APresupuesto.Cancel; + + //Siempre cambiaremos de situacion el seleccionado + if APresupuesto.SIN_PEDIDO > 0 then + begin + APresupuesto.DataTable.Edit; + APresupuesto.SIN_PEDIDO := 0; + APresupuesto.DataTable.Post; + Result := true + end; + + //En el caso de querer eliminar todos los items del objeto APresupuesto + if AllItems then + begin + with APresupuesto.DataTable do + begin + First; + while not EOF do + begin + if APresupuesto.SIN_PEDIDO > 0 then + begin + APresupuesto.DataTable.Edit; + APresupuesto.SIN_PEDIDO := 0; + APresupuesto.DataTable.Post; + Result := true; + end; + Next; + end; + end; + end; + + APresupuesto.DataTable.ApplyUpdates; + finally + HideHourglassCursor; + end; +end; + procedure TPresupuestosClienteController.Preview(APresupuesto: IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1); var AReportController : IPresupuestosClienteReportController; diff --git a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm index 014e5c4b..7179620a 100644 --- a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm +++ b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm @@ -246,6 +246,10 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente item Name = 'PRESUPUESTO_WEB' DataType = datSmallInt + end + item + Name = 'SIN_PEDIDO' + DataType = datSmallInt end> Params = <> StreamingOptions = [soDisableEventsWhileStreaming] diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas index 8f5ef670..10e50f9e 100644 --- a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas +++ b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas @@ -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_ListaAnosPresupuestos = '{57F229C4-0E25-4B14-9EF2-FDDD99E71C84}'; - RID_PresupuestosCliente = '{59171E8B-CE19-4D89-B535-C89A0CF3A7A8}'; - RID_PresupuestosCliente_Detalles = '{DEBB6BD7-53C4-423A-A7BC-7EDB8FE1E85B}'; + RID_ListaAnosPresupuestos = '{4CFB1796-BDFD-43C6-AE2B-B751A8B4F255}'; + RID_PresupuestosCliente = '{BD0FBC36-0736-4EE2-892E-F861F1C5FF2C}'; + RID_PresupuestosCliente_Detalles = '{2381DA76-3CDB-4826-BEBA-8064B4EB7A98}'; { Data table names } nme_ListaAnosPresupuestos = 'ListaAnosPresupuestos'; @@ -61,6 +61,7 @@ const fld_PresupuestosClienteCERTIFICADO_ISO = 'CERTIFICADO_ISO'; fld_PresupuestosClienteNUM_FACTURA = 'NUM_FACTURA'; fld_PresupuestosClientePRESUPUESTO_WEB = 'PRESUPUESTO_WEB'; + fld_PresupuestosClienteSIN_PEDIDO = 'SIN_PEDIDO'; { PresupuestosCliente field indexes } idx_PresupuestosClienteID = 0; @@ -99,6 +100,7 @@ const idx_PresupuestosClienteCERTIFICADO_ISO = 33; idx_PresupuestosClienteNUM_FACTURA = 34; idx_PresupuestosClientePRESUPUESTO_WEB = 35; + idx_PresupuestosClienteSIN_PEDIDO = 36; { PresupuestosCliente_Detalles fields } fld_PresupuestosCliente_DetallesID = 'ID'; @@ -137,7 +139,7 @@ const type { IListaAnosPresupuestos } IListaAnosPresupuestos = interface(IDAStronglyTypedDataTable) - ['{8205902D-1C1B-4481-8FA3-990C69B260CA}'] + ['{ADC742B8-CD7D-4E50-82DB-3DBFE70E49FD}'] { Property getters and setters } function GetANOValue: String; procedure SetANOValue(const aValue: String); @@ -172,7 +174,7 @@ type { IPresupuestosCliente } IPresupuestosCliente = interface(IDAStronglyTypedDataTable) - ['{80C8000B-8736-4612-B2A2-0D4B0EFD5401}'] + ['{84ED34FA-3A9A-4299-A2F9-C5E4C9758F8B}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -314,6 +316,10 @@ type procedure SetPRESUPUESTO_WEBValue(const aValue: SmallInt); function GetPRESUPUESTO_WEBIsNull: Boolean; procedure SetPRESUPUESTO_WEBIsNull(const aValue: Boolean); + function GetSIN_PEDIDOValue: SmallInt; + procedure SetSIN_PEDIDOValue(const aValue: SmallInt); + function GetSIN_PEDIDOIsNull: Boolean; + procedure SetSIN_PEDIDOIsNull(const aValue: Boolean); { Properties } @@ -389,6 +395,8 @@ type property NUM_FACTURAIsNull: Boolean read GetNUM_FACTURAIsNull write SetNUM_FACTURAIsNull; property PRESUPUESTO_WEB: SmallInt read GetPRESUPUESTO_WEBValue write SetPRESUPUESTO_WEBValue; property PRESUPUESTO_WEBIsNull: Boolean read GetPRESUPUESTO_WEBIsNull write SetPRESUPUESTO_WEBIsNull; + property SIN_PEDIDO: SmallInt read GetSIN_PEDIDOValue write SetSIN_PEDIDOValue; + property SIN_PEDIDOIsNull: Boolean read GetSIN_PEDIDOIsNull write SetSIN_PEDIDOIsNull; end; { TPresupuestosClienteDataTableRules } @@ -544,6 +552,10 @@ type procedure SetPRESUPUESTO_WEBValue(const aValue: SmallInt); virtual; function GetPRESUPUESTO_WEBIsNull: Boolean; virtual; procedure SetPRESUPUESTO_WEBIsNull(const aValue: Boolean); virtual; + function GetSIN_PEDIDOValue: SmallInt; virtual; + procedure SetSIN_PEDIDOValue(const aValue: SmallInt); virtual; + function GetSIN_PEDIDOIsNull: Boolean; virtual; + procedure SetSIN_PEDIDOIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; @@ -618,6 +630,8 @@ type property NUM_FACTURAIsNull: Boolean read GetNUM_FACTURAIsNull write SetNUM_FACTURAIsNull; property PRESUPUESTO_WEB: SmallInt read GetPRESUPUESTO_WEBValue write SetPRESUPUESTO_WEBValue; property PRESUPUESTO_WEBIsNull: Boolean read GetPRESUPUESTO_WEBIsNull write SetPRESUPUESTO_WEBIsNull; + property SIN_PEDIDO: SmallInt read GetSIN_PEDIDOValue write SetSIN_PEDIDOValue; + property SIN_PEDIDOIsNull: Boolean read GetSIN_PEDIDOIsNull write SetSIN_PEDIDOIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -627,7 +641,7 @@ type { IPresupuestosCliente_Detalles } IPresupuestosCliente_Detalles = interface(IDAStronglyTypedDataTable) - ['{F117D80D-7B65-4791-8611-ACCF1099A09E}'] + ['{A258EA65-0288-4875-A0B7-EE0C858B7FF7}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -1654,6 +1668,27 @@ begin DataTable.Fields[idx_PresupuestosClientePRESUPUESTO_WEB].AsVariant := Null; end; +function TPresupuestosClienteDataTableRules.GetSIN_PEDIDOValue: SmallInt; +begin + result := DataTable.Fields[idx_PresupuestosClienteSIN_PEDIDO].AsSmallInt; +end; + +procedure TPresupuestosClienteDataTableRules.SetSIN_PEDIDOValue(const aValue: SmallInt); +begin + DataTable.Fields[idx_PresupuestosClienteSIN_PEDIDO].AsSmallInt := aValue; +end; + +function TPresupuestosClienteDataTableRules.GetSIN_PEDIDOIsNull: boolean; +begin + result := DataTable.Fields[idx_PresupuestosClienteSIN_PEDIDO].IsNull; +end; + +procedure TPresupuestosClienteDataTableRules.SetSIN_PEDIDOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_PresupuestosClienteSIN_PEDIDO].AsVariant := Null; +end; + { TPresupuestosCliente_DetallesDataTableRules } constructor TPresupuestosCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable); diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas index bcdd5613..91b12b6c 100644 --- a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas +++ b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas @@ -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_ListaAnosPresupuestosDelta = '{C0D3D85C-14FE-4640-ABB5-AFFA1E455AB5}'; - RID_PresupuestosClienteDelta = '{DBAC9306-FDD2-4E1C-8E32-1AD77204437E}'; - RID_PresupuestosCliente_DetallesDelta = '{5C3B3F44-DBFB-471E-B345-BCD2673FED43}'; + RID_ListaAnosPresupuestosDelta = '{2412538C-013F-4AAB-96F0-980B873F50C5}'; + RID_PresupuestosClienteDelta = '{5310863C-EAE6-4F47-A8CE-BB25CD1ECDF7}'; + RID_PresupuestosCliente_DetallesDelta = '{2A18B37C-F170-4EFD-8EC9-42258636D47D}'; type { IListaAnosPresupuestosDelta } IListaAnosPresupuestosDelta = interface(IListaAnosPresupuestos) - ['{C0D3D85C-14FE-4640-ABB5-AFFA1E455AB5}'] + ['{2412538C-013F-4AAB-96F0-980B873F50C5}'] { Property getters and setters } function GetOldANOValue : String; @@ -50,7 +50,7 @@ type { IPresupuestosClienteDelta } IPresupuestosClienteDelta = interface(IPresupuestosCliente) - ['{DBAC9306-FDD2-4E1C-8E32-1AD77204437E}'] + ['{5310863C-EAE6-4F47-A8CE-BB25CD1ECDF7}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -88,6 +88,7 @@ type function GetOldCERTIFICADO_ISOValue : SmallInt; function GetOldNUM_FACTURAValue : String; function GetOldPRESUPUESTO_WEBValue : SmallInt; + function GetOldSIN_PEDIDOValue : SmallInt; { Properties } property OldID : Integer read GetOldIDValue; @@ -126,6 +127,7 @@ type property OldCERTIFICADO_ISO : SmallInt read GetOldCERTIFICADO_ISOValue; property OldNUM_FACTURA : String read GetOldNUM_FACTURAValue; property OldPRESUPUESTO_WEB : SmallInt read GetOldPRESUPUESTO_WEBValue; + property OldSIN_PEDIDO : SmallInt read GetOldSIN_PEDIDOValue; end; { TPresupuestosClienteBusinessProcessorRules } @@ -353,6 +355,12 @@ type function GetOldPRESUPUESTO_WEBIsNull: Boolean; virtual; procedure SetPRESUPUESTO_WEBValue(const aValue: SmallInt); virtual; procedure SetPRESUPUESTO_WEBIsNull(const aValue: Boolean); virtual; + function GetSIN_PEDIDOValue: SmallInt; virtual; + function GetSIN_PEDIDOIsNull: Boolean; virtual; + function GetOldSIN_PEDIDOValue: SmallInt; virtual; + function GetOldSIN_PEDIDOIsNull: Boolean; virtual; + procedure SetSIN_PEDIDOValue(const aValue: SmallInt); virtual; + procedure SetSIN_PEDIDOIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; @@ -499,6 +507,10 @@ type property PRESUPUESTO_WEBIsNull : Boolean read GetPRESUPUESTO_WEBIsNull write SetPRESUPUESTO_WEBIsNull; property OldPRESUPUESTO_WEB : SmallInt read GetOldPRESUPUESTO_WEBValue; property OldPRESUPUESTO_WEBIsNull : Boolean read GetOldPRESUPUESTO_WEBIsNull; + property SIN_PEDIDO : SmallInt read GetSIN_PEDIDOValue write SetSIN_PEDIDOValue; + property SIN_PEDIDOIsNull : Boolean read GetSIN_PEDIDOIsNull write SetSIN_PEDIDOIsNull; + property OldSIN_PEDIDO : SmallInt read GetOldSIN_PEDIDOValue; + property OldSIN_PEDIDOIsNull : Boolean read GetOldSIN_PEDIDOIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -508,7 +520,7 @@ type { IPresupuestosCliente_DetallesDelta } IPresupuestosCliente_DetallesDelta = interface(IPresupuestosCliente_Detalles) - ['{5C3B3F44-DBFB-471E-B345-BCD2673FED43}'] + ['{2A18B37C-F170-4EFD-8EC9-42258636D47D}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_PRESUPUESTOValue : Integer; @@ -1909,6 +1921,37 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClientePRESUPUESTO_WEB] := Null; end; +function TPresupuestosClienteBusinessProcessorRules.GetSIN_PEDIDOValue: SmallInt; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteSIN_PEDIDO]; +end; + +function TPresupuestosClienteBusinessProcessorRules.GetSIN_PEDIDOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteSIN_PEDIDO]); +end; + +function TPresupuestosClienteBusinessProcessorRules.GetOldSIN_PEDIDOValue: SmallInt; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteSIN_PEDIDO]; +end; + +function TPresupuestosClienteBusinessProcessorRules.GetOldSIN_PEDIDOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteSIN_PEDIDO]); +end; + +procedure TPresupuestosClienteBusinessProcessorRules.SetSIN_PEDIDOValue(const aValue: SmallInt); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteSIN_PEDIDO] := aValue; +end; + +procedure TPresupuestosClienteBusinessProcessorRules.SetSIN_PEDIDOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteSIN_PEDIDO] := Null; +end; + { TPresupuestosCliente_DetallesBusinessProcessorRules } constructor TPresupuestosCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); diff --git a/Source/Modulos/Presupuestos de cliente/Model/uBizPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Model/uBizPresupuestosCliente.pas index 0871730e..223bcd29 100644 --- a/Source/Modulos/Presupuestos de cliente/Model/uBizPresupuestosCliente.pas +++ b/Source/Modulos/Presupuestos de cliente/Model/uBizPresupuestosCliente.pas @@ -13,6 +13,8 @@ const SITUACION_PRESUPUESTO_PENDIENTE = 'PENDIENTE'; SITUACION_PRESUPUESTO_ACEPTADO = 'ACEPTADO'; SITUACION_PRESUPUESTO_ANULADO = 'ANULADO'; + SITUACION_PRESUPUESTO_PARCIAL = 'PARCIALMENTE FACTURADO'; + SITUACION_PRESUPUESTO_TOTAL = 'FACTURADO'; type IBizPresupuestoCliente = interface(IPresupuestosCliente) @@ -206,6 +208,7 @@ begin INCIDENCIAS_ACTIVAS := 0; CERTIFICADO_ISO := 1; PRESUPUESTO_WEB := 0; + SIN_PEDIDO := 1; // INCIDENCIAS := NIL; REFERENCIA := ''; SITUACION := SITUACION_PRESUPUESTO_PENDIENTE; diff --git a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm index 4de33a21..4cc57c21 100644 --- a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm +++ b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm @@ -190,6 +190,10 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente item DatasetField = 'PRESUPUESTO_WEB' TableField = 'PRESUPUESTO_WEB' + end + item + DatasetField = 'SIN_PEDIDO' + TableField = 'SIN_PEDIDO' end> end> Name = 'PresupuestosCliente' @@ -384,6 +388,10 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente item Name = 'PRESUPUESTO_WEB' DataType = datSmallInt + end + item + Name = 'SIN_PEDIDO' + DataType = datSmallInt end> end item @@ -728,6 +736,11 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente Name = 'PRESUPUESTO_WEB' DataType = datSmallInt Value = '' + end + item + Name = 'SIN_PEDIDO' + DataType = datSmallInt + Value = '' end> Statements = < item @@ -743,16 +756,16 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente 'E_PORTE, DESCUENTO, IMPORTE_DESCUENTO, '#10' BASE_IMPONIBLE, IVA' + ', IMPORTE_IVA, IMPORTE_TOTAL, ID_FORMA_PAGO,'#10' PERSONA_CONTAC' + 'TO, DESCRIPCION_BONIFICACION, IMPORTE_BONIFICACION, CERTIFICADO_' + - 'ISO,'#10' PRESUPUESTO_WEB)'#10' VALUES'#10' (:ID, :ID_EMPRESA, :FECH' + - 'A_PRESUPUESTO, :FECHA_DECISION, :REFERENCIA,'#10' :REFERENCIA_AU' + - 'X, :SITUACION, :ID_CLIENTE, :ID_DIRECCION, :REFERENCIA_CLIENTE,'#10 + - ' :CLIENTE_FINAL, :PORTADA, :MEMORIA, :OBSERVACIONES, '#10' :' + - 'INCIDENCIAS, :INCIDENCIAS_ACTIVAS, CURRENT_TIMESTAMP,'#10' :USUA' + - 'RIO, :IMPORTE_NETO, :IMPORTE_PORTE, :DESCUENTO, '#10' :IMPORTE_D' + - 'ESCUENTO, :BASE_IMPONIBLE, :IVA, :IMPORTE_IVA, '#10' :IMPORTE_TO' + - 'TAL, :ID_FORMA_PAGO, :PERSONA_CONTACTO,'#10' :DESCRIPCION_BONIFI' + - 'CACION, :IMPORTE_BONIFICACION, :CERTIFICADO_ISO, :PRESUPUESTO_WE' + - 'B)'#10 + 'ISO,'#10' PRESUPUESTO_WEB, SIN_PEDIDO)'#10' VALUES'#10' (:ID, :ID_EM' + + 'PRESA, :FECHA_PRESUPUESTO, :FECHA_DECISION, :REFERENCIA,'#10' :R' + + 'EFERENCIA_AUX, :SITUACION, :ID_CLIENTE, :ID_DIRECCION, :REFERENC' + + 'IA_CLIENTE,'#10' :CLIENTE_FINAL, :PORTADA, :MEMORIA, :OBSERVACIO' + + 'NES, '#10' :INCIDENCIAS, :INCIDENCIAS_ACTIVAS, CURRENT_TIMESTAMP' + + ','#10' :USUARIO, :IMPORTE_NETO, :IMPORTE_PORTE, :DESCUENTO, '#10' ' + + ' :IMPORTE_DESCUENTO, :BASE_IMPONIBLE, :IVA, :IMPORTE_IVA, '#10' ' + + ' :IMPORTE_TOTAL, :ID_FORMA_PAGO, :PERSONA_CONTACTO,'#10' :DESCRI' + + 'PCION_BONIFICACION, :IMPORTE_BONIFICACION, :CERTIFICADO_ISO, :PR' + + 'ESUPUESTO_WEB,'#10' :SIN_PEDIDO)'#10 StatementType = stSQL ColumnMappings = <> end> @@ -943,6 +956,11 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente DataType = datSmallInt Value = '' end + item + Name = 'SIN_PEDIDO' + DataType = datSmallInt + Value = '' + end item Name = 'OLD_ID' Value = '' @@ -971,7 +989,8 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente 'PERSONA_CONTACTO = :PERSONA_CONTACTO,'#10' DESCRIPCION_BONIFICACI' + 'ON = :DESCRIPCION_BONIFICACION,'#10' IMPORTE_BONIFICACION = :IMPO' + 'RTE_BONIFICACION,'#10' CERTIFICADO_ISO = :CERTIFICADO_ISO,'#10' PR' + - 'ESUPUESTO_WEB = :PRESUPUESTO_WEB'#10' WHERE'#10' (ID = :OLD_ID)'#10 + 'ESUPUESTO_WEB = :PRESUPUESTO_WEB,'#10' SIN_PEDIDO = :SIN_PEDIDO'#10' ' + + ' WHERE'#10' (ID = :OLD_ID)'#10 StatementType = stSQL ColumnMappings = <> end> diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm index 1c15c08c..929429bf 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm +++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm @@ -205,9 +205,9 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente ExplicitHeight = 338 inherited ToolBar1: TToolBar Width = 750 - Height = 46 + Height = 78 ExplicitWidth = 750 - ExplicitHeight = 46 + ExplicitHeight = 78 inherited ToolButton3: TToolButton Wrap = False end @@ -220,88 +220,95 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente inherited ToolButton14: TToolButton Left = 334 Top = 0 + Wrap = False ExplicitLeft = 334 ExplicitTop = 0 end inherited FontName: TJvFontComboBox - Top = 22 - ExplicitTop = 22 + Left = 399 + Top = 0 + ExplicitLeft = 399 + ExplicitTop = 0 end - inherited FontSize: TEdit - Top = 22 + inherited ToolButton13: TToolButton [6] + Left = 0 + Top = 0 + Wrap = True + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitHeight = 27 + end + inherited FontSize: TEdit [7] + Left = 0 + Top = 27 Width = 200 - ExplicitTop = 22 + ExplicitLeft = 0 + ExplicitTop = 27 ExplicitWidth = 200 end - inherited UpDown1: TUpDown - Left = 345 - Top = 22 - ExplicitLeft = 345 - ExplicitTop = 22 - end - inherited ToolButton13: TToolButton - Left = 362 - Top = 22 - ExplicitLeft = 362 - ExplicitTop = 22 + inherited UpDown1: TUpDown [8] + Left = 200 + Top = 27 + ExplicitLeft = 200 + ExplicitTop = 27 end inherited ToolButton6: TToolButton - Left = 370 - Top = 22 - ExplicitLeft = 370 - ExplicitTop = 22 + Left = 217 + Top = 27 + ExplicitLeft = 217 + ExplicitTop = 27 end inherited ToolButton7: TToolButton - Left = 436 - Top = 22 - ExplicitLeft = 436 - ExplicitTop = 22 + Left = 283 + Top = 27 + ExplicitLeft = 283 + ExplicitTop = 27 end inherited ToolButton8: TToolButton - Left = 503 - Top = 22 - ExplicitLeft = 503 - ExplicitTop = 22 + Left = 350 + Top = 27 + ExplicitLeft = 350 + ExplicitTop = 27 end inherited ToolButton12: TToolButton Left = 0 - Top = 22 + Top = 27 Wrap = True ExplicitLeft = 0 - ExplicitTop = 22 + ExplicitTop = 27 ExplicitHeight = 27 end inherited ToolButton9: TToolButton Left = 0 - Top = 49 + Top = 54 ExplicitLeft = 0 - ExplicitTop = 49 + ExplicitTop = 54 end inherited ToolButton10: TToolButton Left = 145 - Top = 49 + Top = 54 ExplicitLeft = 145 - ExplicitTop = 49 + ExplicitTop = 54 end inherited ToolButton11: TToolButton Left = 270 - Top = 49 + Top = 54 ExplicitLeft = 270 - ExplicitTop = 49 + ExplicitTop = 54 end end inherited cxGrid: TcxGrid - Top = 99 + Top = 104 Width = 750 - Height = 239 - ExplicitTop = 77 + Height = 234 + ExplicitTop = 104 ExplicitWidth = 750 - ExplicitHeight = 239 + ExplicitHeight = 234 end inherited TBXDock1: TTBXDock - Top = 73 + Top = 78 Width = 750 - ExplicitTop = 46 + ExplicitTop = 78 ExplicitWidth = 750 inherited TBXToolbar1: TTBXToolbar ExplicitWidth = 750 diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm index 7af47009..c234948d 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm +++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm @@ -2,7 +2,6 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente Caption = 'Lista de presupuestos de cliente' ClientWidth = 805 ExplicitWidth = 813 - ExplicitHeight = 240 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader @@ -177,6 +176,10 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente Action = actAnular DisplayMode = nbdmImageAndText end + object TBXItem49: TTBXItem + Action = actPedidoRecibido + DisplayMode = nbdmImageAndText + end object TBXSeparatorItem18: TTBXSeparatorItem end object TBXItem42: TTBXItem @@ -264,6 +267,13 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente ImageIndex = 24 OnExecute = actVerFacturasRelacionadasExecute end + object actPedidoRecibido: TAction + Category = 'Acciones' + Caption = 'Pedido recibido' + ImageIndex = 29 + OnExecute = actPedidoRecibidoExecute + OnUpdate = actPedidoRecibidoUpdate + end end inherited SmallImages: TPngImageList PngImages = < @@ -995,6 +1005,108 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente 0049454E44AE426082} Name = 'PngImage28' Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD25200000A4D694343505068 + 6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF + F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A + 561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5 + 7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8 + 1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC + 01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200 + C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05 + 00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2 + 00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C + CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97 + 4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313 + 48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F + 223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA + 560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED + 2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383 + FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A + F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86 + 4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432 + 79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0 + 812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C + 0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70 + 170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261 + 48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA + 90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F + 5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961 + 5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402 + 8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2 + 272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93 + 48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90 + 6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452 + A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650 + 2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83 + 1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7 + 192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295 + 3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9 + 09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685 + 46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9 + EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C + 4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED + EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB + 79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31 + 3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87 + 67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94 + 6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85 + A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6 + 5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29 + D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B + 743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6 + 4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD + D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7 + C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E + 3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B + FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5 + 0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1 + 15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0 + 476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67 + BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845 + F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC + A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7 + 6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA + 68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C + 949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423 + F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433 + DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317 + 772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2 + A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17 + 955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4 + EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E + CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9 + 26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD + 8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF + B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C + 7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD + EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293 + E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7 + 5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F + EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6 + EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07 + FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247 + CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73 + ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC + CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F + F73EE77CFEFC2FF784F3FB25D29F33000001764944415478DA63FCFFFF3FC394 + C53BFE33900172623D1819610600394469FAF3F71FC3EF3F7F19ACFDF319CEED + 98866A80CB7E5B14C57B1C0F836964F1CD56FB18E6AEDACB306FE9264C03F081 + 5FBFFF826D06E1251B0E623700DD05D8C07283ED0C2BB71CC16D00CCD920F00F + 28F7E7CF3FB8CD2167DC1816EB6C6558BBE3187E03602ED9667380C1EB8803DC + E6C80B9E0CF33436316CDA7312BF01309B3FDF3ECCF072712C3E1FB96018B0CB + E11083DB013BB0ECA45D0F18941B6A18D8D9D33174FEFC3993615E620B038601 + 2067C3FCFCAC4D8D41ABFD3158311CFCF801C4DF1966EF326060DE9E8A302023 + CA8DC1E3903D8A2D2017A01800D2FCE11DC480534EA806248739836D85857AF4 + 252F5403609AC106FC64987D2B08D580B8200794284BB8E68B30E0E34484E60F + 1F202E7895826A40949F1D5C33DCA0194610031ED62334C3BCF0AB0CD580502F + 6B86D5DB8EA28481D3B554702CCC5E258F350E510C00250C74A0CDFB86C18AF5 + 38CE44602FCFE00200175B62A961F8A2FD0000000049454E44AE426082} + Name = 'PngImage29' + Background = clWindow end> Bitmap = {} end diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas index cffb347d..441055d1 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas +++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas @@ -49,6 +49,8 @@ type actVerFacturasRelacionadas: TAction; TBXSeparatorItem19: TTBXSeparatorItem; TBXItem48: TTBXItem; + actPedidoRecibido: TAction; + TBXItem49: TTBXItem; procedure FormShow(Sender: TObject); procedure actGenerarAlbaranCliExecute(Sender: TObject); procedure actEliminarUpdate(Sender: TObject); @@ -67,6 +69,8 @@ type procedure actInformesExecute(Sender: TObject); procedure OnListaAnosChange(Sender: TObject; const Text: string); procedure actVerFacturasRelacionadasExecute(Sender: TObject); + procedure actPedidoRecibidoExecute(Sender: TObject); + procedure actPedidoRecibidoUpdate(Sender: TObject); protected FPresupuestos: IBizPresupuestoCliente; @@ -339,11 +343,21 @@ begin inherited; if (ShowConfirmMessage('Generar factura', Format('¿Desea copiar todos los conceptos del presupuesto %s a la factura?', [Presupuestos.REFERENCIA])) = IDYES) then - GenerarFacturaCliPre(Presupuestos.ID) + begin + if GenerarFacturaCliPre(Presupuestos.ID) then + begin + FController.CambiarSituacion(Presupuestos, SITUACION_PRESUPUESTO_TOTAL); + actRefrescar.Execute; + end; + end else - GenerarFacturaCliPre(Presupuestos.ID, False); - - actRefrescar.Execute; + begin + if GenerarFacturaCliPre(Presupuestos.ID, False) then + begin + FController.CambiarSituacion(Presupuestos, SITUACION_PRESUPUESTO_TOTAL); + actRefrescar.Execute; + end; + end; end; procedure TfEditorPresupuestosCliente.actGenerarFacturaUpdate(Sender: TObject); @@ -387,6 +401,43 @@ begin end; end; +procedure TfEditorPresupuestosCliente.actPedidoRecibidoExecute(Sender: TObject); +var + APresupuestos: IBizPresupuestoCliente; + AllItems: Boolean; + AFecha: Variant; +begin + APresupuestos := Nil; + AllItems := False; + + if MultiSelect and Assigned(ViewGrid) then + AllItems := (ViewGrid.NumSeleccionados > 1); + + if AllItems then + begin + SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Presupuestos as ISeleccionable).SelectedRecords); + APresupuestos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Presupuestos) as IBizPresupuestoCliente; + end + else begin + APresupuestos := Presupuestos; + end; + + ViewGrid._Grid.BeginUpdate; + if Assigned(APresupuestos) then + begin + if FController.PedidoRecibido(APresupuestos, AllItems) then + actRefrescar.Execute; + end; + ViewGrid._Grid.EndUpdate; +end; + +procedure TfEditorPresupuestosCliente.actPedidoRecibidoUpdate(Sender: TObject); +begin + inherited; + (Sender as TAction).Enabled := HayDatos + and ViewGrid.esSeleccionCeldaDatos +end; + procedure TfEditorPresupuestosCliente.actVerFacturasRelacionadasExecute( Sender: TObject); begin diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm index 83311df6..8d754474 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm +++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm @@ -52,7 +52,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.SkinName = '' - TabOrder = 5 + TabOrder = 6 Width = 260 end object memObservaciones: TcxDBMemo @@ -77,7 +77,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.SkinName = '' - TabOrder = 10 + TabOrder = 11 Height = 217 Width = 507 end @@ -142,7 +142,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.SkinName = '' - TabOrder = 8 + TabOrder = 9 Width = 122 end object bFormasPago: TButton @@ -151,7 +151,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente Width = 132 Height = 21 Caption = 'Ver las formas de pago...' - TabOrder = 9 + TabOrder = 10 OnClick = bFormasPagoClick end object edtFechaDecision: TcxDBDateEdit @@ -177,7 +177,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.SkinName = '' - TabOrder = 6 + TabOrder = 7 Width = 260 end object eRefCliente: TcxDBTextEdit @@ -234,7 +234,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.SkinName = '' - TabOrder = 12 + TabOrder = 13 Width = 350 end object cbSituacion: TcxDBImageComboBox @@ -255,6 +255,14 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente item Description = 'ANULADO' Value = 'ANULADO' + end + item + Description = 'PARCIALMENTE FACTURADO' + Value = 'PARCIALMENTE FACTURADO' + end + item + Description = 'FACTURADO' + Value = 'FACTURADO' end> Style.BorderColor = clWindowFrame Style.BorderStyle = ebs3D @@ -268,7 +276,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.SkinName = '' - TabOrder = 7 + TabOrder = 8 Width = 260 end object eReferenciaAux: TcxDBTextEdit @@ -311,7 +319,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente Font.Name = 'Tahoma' Font.Style = [] ParentFont = False - TabOrder = 11 + TabOrder = 12 ReadOnly = False ExplicitLeft = 480 ExplicitTop = 28 @@ -368,7 +376,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente Width = 23 Height = 25 Action = actElegirClienteFinal - TabOrder = 13 + TabOrder = 14 end object eCertificadoISO: TcxDBCheckBox Left = 22 @@ -391,11 +399,33 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente Width = 110 end object eFacturaWeb: TcxDBCheckBox - Left = 138 + Left = 234 Top = 82 Caption = 'Presupuesto WEB' DataBinding.DataField = 'PRESUPUESTO_WEB' DataBinding.DataSource = DADataSource + Enabled = False + Properties.ImmediatePost = True + Properties.ValueChecked = 1 + Properties.ValueUnchecked = 0 + 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 = 5 + Transparent = True + Width = 162 + end + object eSinPedido: TcxDBCheckBox + Left = 138 + Top = 82 + Caption = 'Sin pedido' + DataBinding.DataField = 'SIN_PEDIDO' + DataBinding.DataSource = DADataSource Properties.ImmediatePost = True Properties.ValueChecked = 1 Properties.ValueUnchecked = 0 @@ -409,7 +439,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente StyleHot.LookAndFeel.NativeStyle = True TabOrder = 4 Transparent = True - Width = 162 + Width = 90 end object dxLayoutControl1Group_Root: TdxLayoutGroup ShowCaption = False @@ -461,10 +491,17 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente Control = eCertificadoISO ControlOptions.ShowBorder = False end + object dxLayoutControl1Item16: TdxLayoutItem + ShowCaption = False + Control = eSinPedido + ControlOptions.ShowBorder = False + end object dxLayoutControl1Item14: TdxLayoutItem AutoAligns = [aaVertical] AlignHorz = ahClient + Enabled = False ShowCaption = False + Visible = False Control = eFacturaWeb ControlOptions.ShowBorder = False end diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.pas index 8315f90c..50474f1a 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.pas +++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.pas @@ -72,6 +72,8 @@ type dxLayoutControl1Item14: TdxLayoutItem; eFacturaWeb: TcxDBCheckBox; dxLayoutControl1Group10: TdxLayoutGroup; + dxLayoutControl1Item16: TdxLayoutItem; + eSinPedido: TcxDBCheckBox; procedure CustomViewCreate(Sender: TObject); procedure CustomViewDestroy(Sender: TObject); procedure bFormasPagoClick(Sender: TObject); diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm index 6ad43480..9d87f893 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm +++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm @@ -54,6 +54,23 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente Visible = False VisibleForCustomization = False end + object cxGridViewSIN_PEDIDO: TcxGridDBColumn + Caption = 'Pedido' + DataBinding.FieldName = 'SIN_PEDIDO' + PropertiesClassName = 'TcxImageComboBoxProperties' + Properties.Images = GridPNGImageList + Properties.Items = < + item + Description = 'Sin pedido' + ImageIndex = 3 + Value = 1 + end + item + Description = 'Con pedido' + Tag = 1 + Value = 0 + end> + end object cxGridViewPRESUPUESTO_WEB: TcxGridDBColumn Caption = 'Web' DataBinding.FieldName = 'PRESUPUESTO_WEB' @@ -70,7 +87,9 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente Value = 1 end> Properties.ShowDescriptions = False + Visible = False BestFitMaxWidth = 40 + VisibleForCustomization = False Width = 40 end object cxGridViewINCIDENCIASACTIVAS: TcxGridDBColumn @@ -172,12 +191,18 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente object cxGridLevelPendientes: TcxGridLevel Caption = 'Pendientes' end - object cxGridLevelEnProceso: TcxGridLevel + object cxGridLevelAceptados: TcxGridLevel Caption = 'Aceptados' end - object cxGridLevelServidor: TcxGridLevel + object cxGridLevelAnulados: TcxGridLevel Caption = 'Anulados' end + object cxGridLevelParciales: TcxGridLevel + Caption = 'Parcialmente facturados' + end + object cxGridLevelTotales: TcxGridLevel + Caption = 'Facturados' + end end inherited frViewFiltroBase1: TfrViewFiltroBase Width = 903 @@ -312,15 +337,19 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente end object cxStyleACEPTADO: TcxStyle AssignedValues = [svTextColor] - TextColor = clGreen + TextColor = 33023 end object cxStyleRECHAZADO: TcxStyle AssignedValues = [svTextColor] TextColor = clGrayText end - object cxStyleConFacturas: TcxStyle + object cxStyleFACTURADOS: TcxStyle AssignedValues = [svTextColor] - TextColor = 23737 + TextColor = clGreen + end + object cxStylePARCIAL: TcxStyle + AssignedValues = [svTextColor] + TextColor = clBackground end end inherited ActionList1: TActionList diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas index 9f287278..d7336e54 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas +++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas @@ -32,8 +32,8 @@ type cxGridViewCLIENTE_FINAL: TcxGridDBColumn; cxGridViewIMPORTE_TOTAL: TcxGridDBColumn; cxGridLevelPendientes: TcxGridLevel; - cxGridLevelEnProceso: TcxGridLevel; - cxGridLevelServidor: TcxGridLevel; + cxGridLevelAceptados: TcxGridLevel; + cxGridLevelAnulados: TcxGridLevel; cxStylePENDIENTES: TcxStyle; cxStyleACEPTADO: TcxStyle; actCliente: TAction; @@ -48,8 +48,12 @@ type cxStyleRECHAZADO: TcxStyle; cxGridViewCERTIFICADO_ISO: TcxGridDBColumn; cxGridViewNUM_FACTURAS: TcxGridDBColumn; - cxStyleConFacturas: TcxStyle; cxGridViewPRESUPUESTO_WEB: TcxGridDBColumn; + cxGridViewSIN_PEDIDO: TcxGridDBColumn; + cxGridLevelParciales: TcxGridLevel; + cxGridLevelTotales: TcxGridLevel; + cxStyleFACTURADOS: TcxStyle; + cxStylePARCIAL: TcxStyle; procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: TcxGridLevel); procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView; @@ -228,6 +232,8 @@ begin 1 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PRESUPUESTO_PENDIENTE, SITUACION_PRESUPUESTO_PENDIENTE); 2 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PRESUPUESTO_ACEPTADO, SITUACION_PRESUPUESTO_ACEPTADO); 3 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PRESUPUESTO_ANULADO, SITUACION_PRESUPUESTO_ANULADO); + 4 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PRESUPUESTO_PARCIAL, SITUACION_PRESUPUESTO_PARCIAL); + 5 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PRESUPUESTO_TOTAL, SITUACION_PRESUPUESTO_TOTAL); end; end; @@ -338,16 +344,20 @@ begin if ASituacion = SITUACION_PRESUPUESTO_PENDIENTE then AStyle.TextColor := cxStylePENDIENTES.TextColor else if ASituacion = SITUACION_PRESUPUESTO_ACEPTADO then - begin - AStyle.TextColor := cxStyleACEPTADO.TextColor; + AStyle.TextColor := cxStyleACEPTADO.TextColor + else if ASituacion = SITUACION_PRESUPUESTO_TOTAL then + AStyle.TextColor := cxStyleFACTURADOS.TextColor + else if ASituacion = SITUACION_PRESUPUESTO_PARCIAL then + AStyle.TextColor := cxStylePARCIAL.TextColor + else if ASituacion = SITUACION_PRESUPUESTO_ANULADO then + AStyle.TextColor := cxStyleRECHAZADO.TextColor; + //Si está aceptado y no facturado que resalte - IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_PresupuestosClienteNUM_FACTURA).Index; +{ IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_PresupuestosClienteNUM_FACTURA).Index; AFacturas := VarToStr(ARecord.DisplayTexts[IndiceCol]); if EsCadenaVacia(AFacturas) then AStyle.TextColor := cxStyleConFacturas.TextColor; - end - else if ASituacion = SITUACION_PRESUPUESTO_ANULADO then - AStyle.TextColor := cxStyleRECHAZADO.TextColor; +} end; end; diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES index 70400aa3..b396db8b 100644 Binary files a/Source/Servidor/FactuGES_Server.RES and b/Source/Servidor/FactuGES_Server.RES differ diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr index fd57bfe3..f4dab56b 100644 --- a/Source/Servidor/FactuGES_Server.dpr +++ b/Source/Servidor/FactuGES_Server.dpr @@ -126,17 +126,17 @@ uses schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas', schRecibosProveedorClient_Intf in '..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas', schRecibosProveedorServer_Intf in '..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas', - schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas', - schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas', - schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas', - schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas', uRTFUtils in '..\Base\Utiles\uRTFUtils.pas', schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas', schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas', schPedidosProveedorClient_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas', schPedidosProveedorServer_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas', schFacturasProveedorClient_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas', - schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas'; + schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas', + schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas', + schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas', + schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas', + schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas'; {$R *.res} {$R ..\Servicios\RODLFile.res} diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj index cbdecfff..db0ef70a 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -35,7 +35,7 @@ Delphi.Personality - FalseTrueFalse/standaloneTrueFalse2400FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.4.0.0FactuGES Servidor2.4.0.0viernes, 03 de septiembre de 2021 19:33 + FalseTrueFalse/standaloneTrueFalse2510FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.5.1.0FactuGES Servidor2.5.1.0martes, 10 de mayo de 2022 11:18 ExpressPrinting System by Developer Express Inc. FactuGES_Server.dpr diff --git a/Source/Servidor/FactuGES_Server.rc b/Source/Servidor/FactuGES_Server.rc index 61d1d412..65db864e 100644 --- a/Source/Servidor/FactuGES_Server.rc +++ b/Source/Servidor/FactuGES_Server.rc @@ -1,7 +1,7 @@ MAINICON ICON "C:\Codigo tecsitel\Resources\Iconos\Servidor.ico" 1 VERSIONINFO -FILEVERSION 2,4,0,0 -PRODUCTVERSION 2,4,0,0 +FILEVERSION 2,5,1,0 +PRODUCTVERSION 2,5,1,0 FILEFLAGSMASK 0x3FL FILEFLAGS 0x00L FILEOS 0x40004L @@ -13,10 +13,10 @@ BEGIN BLOCK "0C0A04E4" BEGIN VALUE "CompanyName", "Rodax Software S.L.\0" - VALUE "FileVersion", "2.4.0.0\0" + VALUE "FileVersion", "2.5.1.0\0" VALUE "ProductName", "FactuGES Servidor\0" - VALUE "ProductVersion", "2.4.0.0\0" - VALUE "CompileDate", "miércoles, 08 de septiembre de 2021 18:46\0" + VALUE "ProductVersion", "2.5.1.0\0" + VALUE "CompileDate", "jueves, 23 de junio de 2022 12:10\0" END END BLOCK "VarFileInfo"