From 51d3eb228f8067a828f4fbb85824302d7ecab777 Mon Sep 17 00:00:00 2001 From: roberto Date: Wed, 26 Feb 2014 15:07:11 +0000 Subject: [PATCH] Version 2.5.7 git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@587 f4e31baf-9722-1c47-927c-6f952f962d4b --- Resources/acana-interiorismo.jpg | Bin 0 -> 25539 bytes Source/ApplicationBase/ApplicationBase.dproj | 3 + .../Empresas/Data/uDataModuleEmpresas.dfm | 4 + .../Empresas/Model/schEmpresasClient_Intf.pas | 47 ++- .../Empresas/Model/schEmpresasServer_Intf.pas | 55 ++- .../Empresas/Servidor/srvEmpresas_Impl.dfm | 339 +++++++++++++++++- .../Empresas/Servidor/srvEmpresas_Impl.pas | 1 + Source/Base/Base.dproj | 7 + Source/Informes/5/InfAlbaranCliente.fr3 | 46 +++ Source/Informes/5/InfComision.fr3 | 63 ++++ Source/Informes/5/InfFacturaCliente.fr3 | 81 +++++ Source/Informes/5/InfReciboCliente.fr3 | 78 ++++ Source/Informes/InfContratoCliente.fr3 | 68 ++-- Source/Informes/InfPresupuestoCliente.fr3 | 46 +-- .../uViewDatosYSeleccionClienteAlbaran.dfm | 2 - .../uViewDatosYSeleccionClienteAlbaran.pas | 8 + .../uContratosClienteController.pas | 12 +- .../uViewDatosYSeleccionClienteContrato.pas | 11 + .../Views/uViewDetallesContratoCliente.dfm | 1 - .../Views/uViewDetallesContratoCliente.pas | 14 +- .../Model/uBizFacturasCliente.pas | 9 +- .../uPresupuestosClienteController.pas | 12 +- .../Servidor/srvPresupuestosCliente_Impl.dfm | 4 +- ...uViewDatosYSeleccionClientePresupuesto.pas | 14 +- .../Views/uViewDetallesPresupuestoCliente.dfm | 1 - .../Views/uViewDetallesPresupuestoCliente.pas | 14 +- .../uGenerarFacturasCliUtils.pas | 8 +- Source/Servidor/FactuGES_Server.dpr | 6 +- Source/Servidor/FactuGES_Server.rc | 2 +- Source/Servidor/FactuGES_Server.res | Bin 23356 -> 23356 bytes 30 files changed, 838 insertions(+), 118 deletions(-) create mode 100644 Resources/acana-interiorismo.jpg create mode 100644 Source/Informes/5/InfAlbaranCliente.fr3 create mode 100644 Source/Informes/5/InfComision.fr3 create mode 100644 Source/Informes/5/InfFacturaCliente.fr3 create mode 100644 Source/Informes/5/InfReciboCliente.fr3 diff --git a/Resources/acana-interiorismo.jpg b/Resources/acana-interiorismo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c21c8b296b9065a9df21b3b6affa22d8d15c67b1 GIT binary patch literal 25539 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 literal 0 HcmV?d00001 diff --git a/Source/ApplicationBase/ApplicationBase.dproj b/Source/ApplicationBase/ApplicationBase.dproj index 343ce860..6aa76722 100644 --- a/Source/ApplicationBase/ApplicationBase.dproj +++ b/Source/ApplicationBase/ApplicationBase.dproj @@ -46,6 +46,9 @@ Package FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + + + RemObjects Data Abstract - SQLite Driver Microsoft Office 2000 Sample Automation Server Wrapper Components Microsoft Office XP Sample Automation Server Wrapper Components diff --git a/Source/ApplicationBase/Empresas/Data/uDataModuleEmpresas.dfm b/Source/ApplicationBase/Empresas/Data/uDataModuleEmpresas.dfm index 94862051..2e8dc249 100644 --- a/Source/ApplicationBase/Empresas/Data/uDataModuleEmpresas.dfm +++ b/Source/ApplicationBase/Empresas/Data/uDataModuleEmpresas.dfm @@ -191,6 +191,10 @@ inherited DataModuleEmpresas: TDataModuleEmpresas item Name = 'VALIDEZ_PRESUPUESTOS' DataType = datSmallInt + end + item + Name = 'NUM_ORDEN' + DataType = datSmallInt end> Params = <> StreamingOptions = [soDisableEventsWhileStreaming] diff --git a/Source/ApplicationBase/Empresas/Model/schEmpresasClient_Intf.pas b/Source/ApplicationBase/Empresas/Model/schEmpresasClient_Intf.pas index 1e43c6af..1fc454fe 100644 --- a/Source/ApplicationBase/Empresas/Model/schEmpresasClient_Intf.pas +++ b/Source/ApplicationBase/Empresas/Model/schEmpresasClient_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_EmpresasTiendas = '{19E1273C-BC29-4894-B54A-8F8CA38BD309}'; - RID_Empresas = '{E7DDF73A-5A4C-4154-984E-B7DAE118DEE5}'; - RID_EmpresasDatosBanco = '{8604E5E5-0DFF-4772-BD55-BD07450DE7CB}'; + RID_EmpresasTiendas = '{2D0CBF0D-F553-4B27-A97E-69F0CB992B85}'; + RID_Empresas = '{5F68CAB3-AA6C-4548-AA3D-9B2892E399D5}'; + RID_EmpresasDatosBanco = '{ADA2DFEA-5B7B-4213-AC8B-052718814CFB}'; { Data table names } nme_EmpresasTiendas = 'EmpresasTiendas'; @@ -80,6 +80,7 @@ const fld_EmpresasID_TIPO_IVA = 'ID_TIPO_IVA'; fld_EmpresasID_FORMA_PAGO = 'ID_FORMA_PAGO'; fld_EmpresasVALIDEZ_PRESUPUESTOS = 'VALIDEZ_PRESUPUESTOS'; + fld_EmpresasNUM_ORDEN = 'NUM_ORDEN'; { Empresas field indexes } idx_EmpresasID = 0; @@ -107,6 +108,7 @@ const idx_EmpresasID_TIPO_IVA = 22; idx_EmpresasID_FORMA_PAGO = 23; idx_EmpresasVALIDEZ_PRESUPUESTOS = 24; + idx_EmpresasNUM_ORDEN = 25; { EmpresasDatosBanco fields } fld_EmpresasDatosBancoID = 'ID'; @@ -133,7 +135,7 @@ const type { IEmpresasTiendas } IEmpresasTiendas = interface(IDAStronglyTypedDataTable) - ['{E56F825C-223C-4047-A7A3-F0859ACBF9BE}'] + ['{B17D4A25-3C95-4075-9307-CC0A359DA23D}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -348,7 +350,7 @@ type { IEmpresas } IEmpresas = interface(IDAStronglyTypedDataTable) - ['{EF0CA3C6-3E46-44C1-858B-02EB87E15A88}'] + ['{30C607F7-704F-4BB8-B0A3-60242A0731FC}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -448,6 +450,10 @@ type procedure SetVALIDEZ_PRESUPUESTOSValue(const aValue: SmallInt); function GetVALIDEZ_PRESUPUESTOSIsNull: Boolean; procedure SetVALIDEZ_PRESUPUESTOSIsNull(const aValue: Boolean); + function GetNUM_ORDENValue: SmallInt; + procedure SetNUM_ORDENValue(const aValue: SmallInt); + function GetNUM_ORDENIsNull: Boolean; + procedure SetNUM_ORDENIsNull(const aValue: Boolean); { Properties } @@ -501,6 +507,8 @@ type property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull; property VALIDEZ_PRESUPUESTOS: SmallInt read GetVALIDEZ_PRESUPUESTOSValue write SetVALIDEZ_PRESUPUESTOSValue; property VALIDEZ_PRESUPUESTOSIsNull: Boolean read GetVALIDEZ_PRESUPUESTOSIsNull write SetVALIDEZ_PRESUPUESTOSIsNull; + property NUM_ORDEN: SmallInt read GetNUM_ORDENValue write SetNUM_ORDENValue; + property NUM_ORDENIsNull: Boolean read GetNUM_ORDENIsNull write SetNUM_ORDENIsNull; end; { TEmpresasDataTableRules } @@ -610,6 +618,10 @@ type procedure SetVALIDEZ_PRESUPUESTOSValue(const aValue: SmallInt); virtual; function GetVALIDEZ_PRESUPUESTOSIsNull: Boolean; virtual; procedure SetVALIDEZ_PRESUPUESTOSIsNull(const aValue: Boolean); virtual; + function GetNUM_ORDENValue: SmallInt; virtual; + procedure SetNUM_ORDENValue(const aValue: SmallInt); virtual; + function GetNUM_ORDENIsNull: Boolean; virtual; + procedure SetNUM_ORDENIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; @@ -662,6 +674,8 @@ type property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull; property VALIDEZ_PRESUPUESTOS: SmallInt read GetVALIDEZ_PRESUPUESTOSValue write SetVALIDEZ_PRESUPUESTOSValue; property VALIDEZ_PRESUPUESTOSIsNull: Boolean read GetVALIDEZ_PRESUPUESTOSIsNull write SetVALIDEZ_PRESUPUESTOSIsNull; + property NUM_ORDEN: SmallInt read GetNUM_ORDENValue write SetNUM_ORDENValue; + property NUM_ORDENIsNull: Boolean read GetNUM_ORDENIsNull write SetNUM_ORDENIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -671,7 +685,7 @@ type { IEmpresasDatosBanco } IEmpresasDatosBanco = interface(IDAStronglyTypedDataTable) - ['{C6A2D675-8896-4B8A-A296-98A1C3DA6CB5}'] + ['{F7F1B489-BB1D-40BC-A59A-22B602496003}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -1712,6 +1726,27 @@ begin DataTable.Fields[idx_EmpresasVALIDEZ_PRESUPUESTOS].AsVariant := Null; end; +function TEmpresasDataTableRules.GetNUM_ORDENValue: SmallInt; +begin + result := DataTable.Fields[idx_EmpresasNUM_ORDEN].AsSmallInt; +end; + +procedure TEmpresasDataTableRules.SetNUM_ORDENValue(const aValue: SmallInt); +begin + DataTable.Fields[idx_EmpresasNUM_ORDEN].AsSmallInt := aValue; +end; + +function TEmpresasDataTableRules.GetNUM_ORDENIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpresasNUM_ORDEN].IsNull; +end; + +procedure TEmpresasDataTableRules.SetNUM_ORDENIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpresasNUM_ORDEN].AsVariant := Null; +end; + { TEmpresasDatosBancoDataTableRules } constructor TEmpresasDatosBancoDataTableRules.Create(aDataTable: TDADataTable); diff --git a/Source/ApplicationBase/Empresas/Model/schEmpresasServer_Intf.pas b/Source/ApplicationBase/Empresas/Model/schEmpresasServer_Intf.pas index a2e33bed..bb18629a 100644 --- a/Source/ApplicationBase/Empresas/Model/schEmpresasServer_Intf.pas +++ b/Source/ApplicationBase/Empresas/Model/schEmpresasServer_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_EmpresasTiendasDelta = '{61580243-F5C0-4AB3-A1DB-1607648BA5C4}'; - RID_EmpresasDelta = '{0C6E077A-F00A-47EE-8448-14AB9AAD08BC}'; - RID_EmpresasDatosBancoDelta = '{F8D15203-2664-4352-BAB6-4DD3CEC03078}'; + RID_EmpresasTiendasDelta = '{2B441BBC-0852-4F43-9F92-A80D1AEA0015}'; + RID_EmpresasDelta = '{075BBDAF-2A9C-4297-B998-07956394B428}'; + RID_EmpresasDatosBancoDelta = '{CF3899EF-A340-48E6-ACC6-463D9FB867F1}'; type { IEmpresasTiendasDelta } IEmpresasTiendasDelta = interface(IEmpresasTiendas) - ['{61580243-F5C0-4AB3-A1DB-1607648BA5C4}'] + ['{2B441BBC-0852-4F43-9F92-A80D1AEA0015}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -231,7 +231,7 @@ type { IEmpresasDelta } IEmpresasDelta = interface(IEmpresas) - ['{0C6E077A-F00A-47EE-8448-14AB9AAD08BC}'] + ['{075BBDAF-2A9C-4297-B998-07956394B428}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldNIF_CIFValue : String; @@ -258,6 +258,7 @@ type function GetOldID_TIPO_IVAValue : SmallInt; function GetOldID_FORMA_PAGOValue : SmallInt; function GetOldVALIDEZ_PRESUPUESTOSValue : SmallInt; + function GetOldNUM_ORDENValue : SmallInt; { Properties } property OldID : Integer read GetOldIDValue; @@ -285,6 +286,7 @@ type property OldID_TIPO_IVA : SmallInt read GetOldID_TIPO_IVAValue; property OldID_FORMA_PAGO : SmallInt read GetOldID_FORMA_PAGOValue; property OldVALIDEZ_PRESUPUESTOS : SmallInt read GetOldVALIDEZ_PRESUPUESTOSValue; + property OldNUM_ORDEN : SmallInt read GetOldNUM_ORDENValue; end; { TEmpresasBusinessProcessorRules } @@ -444,6 +446,12 @@ type function GetOldVALIDEZ_PRESUPUESTOSIsNull: Boolean; virtual; procedure SetVALIDEZ_PRESUPUESTOSValue(const aValue: SmallInt); virtual; procedure SetVALIDEZ_PRESUPUESTOSIsNull(const aValue: Boolean); virtual; + function GetNUM_ORDENValue: SmallInt; virtual; + function GetNUM_ORDENIsNull: Boolean; virtual; + function GetOldNUM_ORDENValue: SmallInt; virtual; + function GetOldNUM_ORDENIsNull: Boolean; virtual; + procedure SetNUM_ORDENValue(const aValue: SmallInt); virtual; + procedure SetNUM_ORDENIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; @@ -546,6 +554,10 @@ type property VALIDEZ_PRESUPUESTOSIsNull : Boolean read GetVALIDEZ_PRESUPUESTOSIsNull write SetVALIDEZ_PRESUPUESTOSIsNull; property OldVALIDEZ_PRESUPUESTOS : SmallInt read GetOldVALIDEZ_PRESUPUESTOSValue; property OldVALIDEZ_PRESUPUESTOSIsNull : Boolean read GetOldVALIDEZ_PRESUPUESTOSIsNull; + property NUM_ORDEN : SmallInt read GetNUM_ORDENValue write SetNUM_ORDENValue; + property NUM_ORDENIsNull : Boolean read GetNUM_ORDENIsNull write SetNUM_ORDENIsNull; + property OldNUM_ORDEN : SmallInt read GetOldNUM_ORDENValue; + property OldNUM_ORDENIsNull : Boolean read GetOldNUM_ORDENIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -555,7 +567,7 @@ type { IEmpresasDatosBancoDelta } IEmpresasDatosBancoDelta = interface(IEmpresasDatosBanco) - ['{F8D15203-2664-4352-BAB6-4DD3CEC03078}'] + ['{CF3899EF-A340-48E6-ACC6-463D9FB867F1}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -2009,6 +2021,37 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasVALIDEZ_PRESUPUESTOS] := Null; end; +function TEmpresasBusinessProcessorRules.GetNUM_ORDENValue: SmallInt; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasNUM_ORDEN]; +end; + +function TEmpresasBusinessProcessorRules.GetNUM_ORDENIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasNUM_ORDEN]); +end; + +function TEmpresasBusinessProcessorRules.GetOldNUM_ORDENValue: SmallInt; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpresasNUM_ORDEN]; +end; + +function TEmpresasBusinessProcessorRules.GetOldNUM_ORDENIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpresasNUM_ORDEN]); +end; + +procedure TEmpresasBusinessProcessorRules.SetNUM_ORDENValue(const aValue: SmallInt); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasNUM_ORDEN] := aValue; +end; + +procedure TEmpresasBusinessProcessorRules.SetNUM_ORDENIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasNUM_ORDEN] := Null; +end; + { TEmpresasDatosBancoBusinessProcessorRules } constructor TEmpresasDatosBancoBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); diff --git a/Source/ApplicationBase/Empresas/Servidor/srvEmpresas_Impl.dfm b/Source/ApplicationBase/Empresas/Servidor/srvEmpresas_Impl.dfm index 63c148a1..c08efce4 100644 --- a/Source/ApplicationBase/Empresas/Servidor/srvEmpresas_Impl.dfm +++ b/Source/ApplicationBase/Empresas/Servidor/srvEmpresas_Impl.dfm @@ -192,7 +192,7 @@ object srvEmpresas: TsrvEmpresas item Connection = 'IBX' Default = True - TargetTable = 'EMPRESAS' + TargetTable = 'V_EMPRESAS' Name = 'IBX' StatementType = stAutoSQL ColumnMappings = < @@ -295,6 +295,10 @@ object srvEmpresas: TsrvEmpresas item DatasetField = 'VALIDEZ_PRESUPUESTOS' TableField = 'VALIDEZ_PRESUPUESTOS' + end + item + DatasetField = 'NUM_ORDEN' + TableField = 'NUM_ORDEN' end> end> Name = 'Empresas' @@ -441,6 +445,10 @@ object srvEmpresas: TsrvEmpresas item Name = 'VALIDEZ_PRESUPUESTOS' DataType = datSmallInt + end + item + Name = 'NUM_ORDEN' + DataType = datSmallInt end> end item @@ -550,7 +558,317 @@ object srvEmpresas: TsrvEmpresas end> JoinDataTables = <> UnionDataTables = <> - Commands = <> + Commands = < + item + Params = < + item + Name = 'ID' + DataType = datAutoInc + GeneratorName = 'GEN_EMPRESAS_ID' + Value = '' + end + item + Name = 'NIF_CIF' + Value = '' + end + item + Name = 'NOMBRE' + Value = '' + end + item + Name = 'RAZON_SOCIAL' + Value = '' + end + item + Name = 'CALLE' + Value = '' + end + item + Name = 'POBLACION' + Value = '' + end + item + Name = 'PROVINCIA' + Value = '' + end + item + Name = 'CODIGO_POSTAL' + Value = '' + end + item + Name = 'TELEFONO_1' + Value = '' + end + item + Name = 'TELEFONO_2' + Value = '' + end + item + Name = 'MOVIL_1' + Value = '' + end + item + Name = 'MOVIL_2' + Value = '' + end + item + Name = 'FAX' + Value = '' + end + item + Name = 'EMAIL_1' + Value = '' + end + item + Name = 'EMAIL_2' + Value = '' + end + item + Name = 'PAGINA_WEB' + Value = '' + end + item + Name = 'NOTAS' + Value = '' + end + item + Name = 'FECHA_ALTA' + Value = '' + end + item + Name = 'FECHA_MODIFICACION' + Value = '' + end + item + Name = 'USUARIO' + Value = '' + end + item + Name = 'LOGOTIPO' + Value = '' + end + item + Name = 'REGISTRO_MERCANTIL' + Value = '' + end + item + Name = 'ID_TIPO_IVA' + Value = '' + end + item + Name = 'ID_FORMA_PAGO' + Value = '' + end + item + Name = 'VALIDEZ_PRESUPUESTOS' + Value = '' + end> + Statements = < + item + Connection = 'IBX' + Default = True + TargetTable = 'EMPRESAS' + SQL = + 'INSERT'#10' INTO EMPRESAS'#10' (ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, C' + + 'ALLE, POBLACION, PROVINCIA,'#10' CODIGO_POSTAL, TELEFONO_1, TELE' + + 'FONO_2, MOVIL_1, MOVIL_2, '#10' FAX, EMAIL_1, EMAIL_2, PAGINA_WE' + + 'B, NOTAS, FECHA_ALTA, '#10' FECHA_MODIFICACION, USUARIO, LOGOTIP' + + 'O, REGISTRO_MERCANTIL, '#10' ID_TIPO_IVA, ID_FORMA_PAGO, VALIDEZ' + + '_PRESUPUESTOS)'#10' VALUES'#10' (:ID,:NIF_CIF, :NOMBRE, :RAZON_SOCIA' + + 'L, :CALLE, :POBLACION,'#10' :PROVINCIA, :CODIGO_POSTAL, :TELEFON' + + 'O_1, :TELEFONO_2, '#10' :MOVIL_1, :MOVIL_2, :FAX, :EMAIL_1, :EMA' + + 'IL_2, :PAGINA_WEB, '#10' :NOTAS, :FECHA_ALTA, :FECHA_MODIFICACIO' + + 'N, :USUARIO, '#10' :LOGOTIPO, :REGISTRO_MERCANTIL, :ID_TIPO_IVA,' + + ' :ID_FORMA_PAGO, '#10' :VALIDEZ_PRESUPUESTOS)'#10 + StatementType = stSQL + ColumnMappings = <> + end> + Name = 'Insert_Empresas' + end + item + Params = < + item + Name = 'OLD_ID' + Value = '' + end> + Statements = < + item + Connection = 'IBX' + Default = True + TargetTable = 'EMPRESAS' + SQL = 'DELETE '#10' FROM'#10' EMPRESAS'#10' WHERE'#10' (ID = :OLD_ID)'#10 + StatementType = stSQL + ColumnMappings = <> + end> + Name = 'Delete_Empresas' + end + item + Params = < + item + Name = 'NIF_CIF' + DataType = datString + Size = 15 + Value = '' + end + item + Name = 'NOMBRE' + DataType = datString + Size = 255 + Value = '' + end + item + Name = 'RAZON_SOCIAL' + DataType = datString + Size = 255 + Value = '' + end + item + Name = 'CALLE' + DataType = datString + Size = 255 + Value = '' + end + item + Name = 'POBLACION' + DataType = datString + Size = 255 + Value = '' + end + item + Name = 'PROVINCIA' + DataType = datString + Size = 255 + Value = '' + end + item + Name = 'CODIGO_POSTAL' + DataType = datString + Size = 10 + Value = '' + end + item + Name = 'TELEFONO_1' + DataType = datString + Size = 25 + Value = '' + end + item + Name = 'TELEFONO_2' + DataType = datString + Size = 25 + Value = '' + end + item + Name = 'MOVIL_1' + DataType = datString + Size = 25 + Value = '' + end + item + Name = 'MOVIL_2' + DataType = datString + Size = 25 + Value = '' + end + item + Name = 'FAX' + DataType = datString + Size = 25 + Value = '' + end + item + Name = 'EMAIL_1' + DataType = datString + Size = 255 + Value = '' + end + item + Name = 'EMAIL_2' + DataType = datString + Size = 255 + Value = '' + end + item + Name = 'PAGINA_WEB' + DataType = datString + Size = 255 + Value = '' + end + item + Name = 'NOTAS' + DataType = datMemo + Value = '' + end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + Value = '' + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + Value = '' + end + item + Name = 'USUARIO' + DataType = datString + Size = 30 + Value = '' + end + item + Name = 'LOGOTIPO' + DataType = datBlob + Value = '' + end + item + Name = 'REGISTRO_MERCANTIL' + DataType = datString + Size = 255 + Value = '' + end + item + Name = 'ID_TIPO_IVA' + DataType = datSmallInt + Value = '' + end + item + Name = 'ID_FORMA_PAGO' + DataType = datSmallInt + Value = '' + end + item + Name = 'VALIDEZ_PRESUPUESTOS' + DataType = datSmallInt + Value = '' + end + item + Name = 'OLD_ID' + Value = '' + end> + Statements = < + item + Connection = 'IBX' + Default = True + TargetTable = 'EMPRESAS' + SQL = + 'UPDATE EMPRESAS'#10' SET '#10' NIF_CIF = :NIF_CIF, '#10' NOMBRE = :NO' + + 'MBRE, '#10' RAZON_SOCIAL = :RAZON_SOCIAL, '#10' CALLE = :CALLE, '#10' ' + + ' POBLACION = :POBLACION, '#10' PROVINCIA = :PROVINCIA, '#10' COD' + + 'IGO_POSTAL = :CODIGO_POSTAL, '#10' TELEFONO_1 = :TELEFONO_1, '#10' ' + + ' TELEFONO_2 = :TELEFONO_2, '#10' MOVIL_1 = :MOVIL_1, '#10' MOVIL_2' + + ' = :MOVIL_2, '#10' FAX = :FAX, '#10' EMAIL_1 = :EMAIL_1, '#10' EMAI' + + 'L_2 = :EMAIL_2, '#10' PAGINA_WEB = :PAGINA_WEB, '#10' NOTAS = :NOT' + + 'AS, '#10' FECHA_ALTA = :FECHA_ALTA, '#10' FECHA_MODIFICACION = :FE' + + 'CHA_MODIFICACION, '#10' USUARIO = :USUARIO, '#10' LOGOTIPO = :LOGO' + + 'TIPO, '#10' REGISTRO_MERCANTIL = :REGISTRO_MERCANTIL, '#10' ID_TIP' + + 'O_IVA = :ID_TIPO_IVA, '#10' ID_FORMA_PAGO = :ID_FORMA_PAGO, '#10' ' + + 'VALIDEZ_PRESUPUESTOS = :VALIDEZ_PRESUPUESTOS'#10' WHERE'#10' (ID = :' + + 'OLD_ID)'#10 + StatementType = stSQL + ColumnMappings = <> + end> + Name = 'Update_Empresas' + end> RelationShips = < item Name = 'FK_EmpresasTiendas_Empresas' @@ -910,12 +1228,23 @@ object srvEmpresas: TsrvEmpresas Top = 90 DiagramData = ''#13#10' '#13#10' '#13#10' '#13#10' '#13#10''#13#10 + 'idth="400" Height="300">'#13#10' '#13#10' '#13#10' '#13#10''#13#10 end object DABin2DataStreamer: TDABin2DataStreamer Left = 48 Top = 88 end + object bpEmpresas: TDABusinessProcessor + Schema = schEmpresas + InsertCommandName = 'Insert_Empresas' + DeleteCommandName = 'Delete_Empresas' + UpdateCommandName = 'Update_Empresas' + ReferencedDataset = 'Empresas' + ProcessorOptions = [poAutoGenerateRefreshDataset, poPrepareCommands] + UpdateMode = updWhereKeyOnly + Left = 248 + Top = 24 + end end diff --git a/Source/ApplicationBase/Empresas/Servidor/srvEmpresas_Impl.pas b/Source/ApplicationBase/Empresas/Servidor/srvEmpresas_Impl.pas index 37de456b..9e525dea 100644 --- a/Source/ApplicationBase/Empresas/Servidor/srvEmpresas_Impl.pas +++ b/Source/ApplicationBase/Empresas/Servidor/srvEmpresas_Impl.pas @@ -24,6 +24,7 @@ type DABin2DataStreamer: TDABin2DataStreamer; schEmpresas: TDASchema; DataDictionary: TDADataDictionary; + bpEmpresas: TDABusinessProcessor; procedure DARemoteServiceCreate(Sender: TObject); procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string); diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj index 426db58c..a0c3f238 100644 --- a/Source/Base/Base.dproj +++ b/Source/Base/Base.dproj @@ -44,6 +44,13 @@ Package FalseTrueFalseLibreria base de FactuGESFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + + + + + + + VCL for the Web Design Package for CodeGear RAD Studio CodeGear WebSnap Components CodeGear SOAP Components diff --git a/Source/Informes/5/InfAlbaranCliente.fr3 b/Source/Informes/5/InfAlbaranCliente.fr3 new file mode 100644 index 00000000..0b617c5b --- /dev/null +++ b/Source/Informes/5/InfAlbaranCliente.fr3 @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Informes/5/InfComision.fr3 b/Source/Informes/5/InfComision.fr3 new file mode 100644 index 00000000..d6e1837c --- /dev/null +++ b/Source/Informes/5/InfComision.fr3 @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Informes/5/InfFacturaCliente.fr3 b/Source/Informes/5/InfFacturaCliente.fr3 new file mode 100644 index 00000000..b5ec564d --- /dev/null +++ b/Source/Informes/5/InfFacturaCliente.fr3 @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Informes/5/InfReciboCliente.fr3 b/Source/Informes/5/InfReciboCliente.fr3 new file mode 100644 index 00000000..23230f7f --- /dev/null +++ b/Source/Informes/5/InfReciboCliente.fr3 @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Informes/InfContratoCliente.fr3 b/Source/Informes/InfContratoCliente.fr3 index b03cd8fd..307b229f 100644 --- a/Source/Informes/InfContratoCliente.fr3 +++ b/Source/Informes/InfContratoCliente.fr3 @@ -1,32 +1,32 @@ - + - - - - - + + + + + - + - + - + - + @@ -34,7 +34,7 @@ - + @@ -56,58 +56,58 @@ - + - + - - - - + + - + + + - + - + - + - - - + - + + + - + - + - + - - - - - - + + + + + + diff --git a/Source/Informes/InfPresupuestoCliente.fr3 b/Source/Informes/InfPresupuestoCliente.fr3 index c21b7c21..28874abf 100644 --- a/Source/Informes/InfPresupuestoCliente.fr3 +++ b/Source/Informes/InfPresupuestoCliente.fr3 @@ -1,34 +1,34 @@ - + - - - - - - - + + + + + + + - + - + - + - + @@ -36,7 +36,7 @@ - + @@ -56,10 +56,10 @@ - + - + @@ -67,15 +67,15 @@ - - - - - - - + + + + + + + - + diff --git a/Source/Modulos/Albaranes de cliente/Views/uViewDatosYSeleccionClienteAlbaran.dfm b/Source/Modulos/Albaranes de cliente/Views/uViewDatosYSeleccionClienteAlbaran.dfm index addff5d2..84fbc349 100644 --- a/Source/Modulos/Albaranes de cliente/Views/uViewDatosYSeleccionClienteAlbaran.dfm +++ b/Source/Modulos/Albaranes de cliente/Views/uViewDatosYSeleccionClienteAlbaran.dfm @@ -17,8 +17,6 @@ inherited frViewDatosYSeleccionClienteAlbaran: TfrViewDatosYSeleccionClienteAlba TabOrder = 0 TabStop = False AutoContentSizes = [acsWidth, acsHeight] - ExplicitWidth = 447 - ExplicitHeight = 224 DesignSize = ( 579 220) diff --git a/Source/Modulos/Albaranes de cliente/Views/uViewDatosYSeleccionClienteAlbaran.pas b/Source/Modulos/Albaranes de cliente/Views/uViewDatosYSeleccionClienteAlbaran.pas index 5ab1a455..c4692da4 100644 --- a/Source/Modulos/Albaranes de cliente/Views/uViewDatosYSeleccionClienteAlbaran.pas +++ b/Source/Modulos/Albaranes de cliente/Views/uViewDatosYSeleccionClienteAlbaran.pas @@ -397,11 +397,19 @@ begin end; procedure TfrViewDatosYSeleccionClienteAlbaran.VerFichaCliente; +var + ACliente : IBizCliente; + begin if not Assigned(Cliente) then ShowErrorMessage('No se ha indicado un cliente', 'El albarán no tiene ningún cliente asociado a mostrar.') else begin FClientesController.Ver(Cliente); + + ACliente := (FClientesController.Buscar(Cliente.ID) as IBizCliente); + if Assigned(ACliente) then + Self.Cliente := ACliente; + ACliente := Nil; end; end; diff --git a/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas b/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas index efc45de3..252ad670 100644 --- a/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas +++ b/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas @@ -779,8 +779,8 @@ begin ACadena := AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_CALIDADES_ARMARIO); if (ACadena <> '') then AContrato.CALIDADES.Add(ACadena); - (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_AF, 'FRENTE DE ARMARIO Nº ', False, AContrato.Detalles); - (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_AI, 'INTERIOR DE ARMARIO Nº ', False, AContrato.Detalles); + (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_AF, 'FRENTE DE ARMARIO Nº ', true, AContrato.Detalles); + (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_AI, 'INTERIOR DE ARMARIO Nº ', true, AContrato.Detalles); end; teBano: begin @@ -794,7 +794,7 @@ begin ACadena := AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_CALIDADES_BANO); if (ACadena <> '') then AContrato.CALIDADES.Add(ACadena); - (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_B, 'MUEBLE DE BAÑO Nº ', False, AContrato.Detalles); + (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_B, 'MUEBLE DE BAÑO Nº ', true, AContrato.Detalles); (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_V, 'IMPORTES ', True, AContrato.Detalles); end; teElectrodomestico: @@ -809,7 +809,7 @@ begin ACadena := AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_CALIDADES_ELECTRODOMESTICO); if (ACadena <> '') then AContrato.CALIDADES.Add(ACadena); - (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_E, 'ELECTRODOMÉSTICOS ', False, AContrato.Detalles); + (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_E, 'ELECTRODOMÉSTICOS ', true, AContrato.Detalles); end; teObra: begin @@ -823,7 +823,7 @@ begin ACadena := AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_CALIDADES_OBRA); if (ACadena <> '') then AContrato.CALIDADES.Add(ACadena); - (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_O, 'OBRA ', False, AContrato.Detalles); + (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_O, 'OBRA ', true, AContrato.Detalles); end; teVarios: begin @@ -837,7 +837,7 @@ begin ACadena := AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_CALIDADES_VARIOS); if (ACadena <> '') then AContrato.CALIDADES.Add(ACadena); - (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_V, 'VARIOS ', False, AContrato.Detalles); + (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_V, 'VARIOS ', true, AContrato.Detalles); end; end; end; diff --git a/Source/Modulos/Contratos de cliente/Views/uViewDatosYSeleccionClienteContrato.pas b/Source/Modulos/Contratos de cliente/Views/uViewDatosYSeleccionClienteContrato.pas index d3279093..73f986ac 100644 --- a/Source/Modulos/Contratos de cliente/Views/uViewDatosYSeleccionClienteContrato.pas +++ b/Source/Modulos/Contratos de cliente/Views/uViewDatosYSeleccionClienteContrato.pas @@ -398,11 +398,22 @@ begin end; procedure TfrViewDatosYSeleccionClienteContrato.VerFichaCliente; +var + ACliente : IBizCliente; + begin if not Assigned(Cliente) then ShowErrorMessage('No se ha indicado un cliente', 'El contrato no tiene ningún cliente asociado a mostrar.') else begin FClientesController.Ver(Cliente); + + if (Application.MessageBox('¿Desea recargar los datos del cliente en el documento?', 'Atención', MB_YESNO) = IDYES) then + begin + ACliente := (FClientesController.Buscar(Cliente.ID) as IBizCliente); + if Assigned(ACliente) then + Self.Cliente := ACliente; + ACliente := Nil; + end; end; end; diff --git a/Source/Modulos/Contratos de cliente/Views/uViewDetallesContratoCliente.dfm b/Source/Modulos/Contratos de cliente/Views/uViewDetallesContratoCliente.dfm index a64f6c2b..05424f4e 100644 --- a/Source/Modulos/Contratos de cliente/Views/uViewDetallesContratoCliente.dfm +++ b/Source/Modulos/Contratos de cliente/Views/uViewDetallesContratoCliente.dfm @@ -112,7 +112,6 @@ inherited frViewDetallesContratoCliente: TfrViewDetallesContratoCliente Top = 256 ParentFont = False Properties.DropDownListStyle = lsEditList - Properties.ImmediatePost = True Properties.KeyFieldNames = 'DESCRIPCION' Properties.ListColumns = < item diff --git a/Source/Modulos/Contratos de cliente/Views/uViewDetallesContratoCliente.pas b/Source/Modulos/Contratos de cliente/Views/uViewDetallesContratoCliente.pas index 27aee483..a9e923f4 100644 --- a/Source/Modulos/Contratos de cliente/Views/uViewDetallesContratoCliente.pas +++ b/Source/Modulos/Contratos de cliente/Views/uViewDetallesContratoCliente.pas @@ -167,17 +167,17 @@ end; procedure TfrViewDetallesContratoCliente.actCapituloArmarioFExecute(Sender: TObject); begin - AnadirCapitulo(TIPO_CAPITULO_AF, 'FRENTE DE ARMARIO Nº '); + AnadirCapitulo(TIPO_CAPITULO_AF, 'FRENTE DE ARMARIO Nº ', true); end; procedure TfrViewDetallesContratoCliente.actCapituloArmarioIExecute(Sender: TObject); begin - AnadirCapitulo(TIPO_CAPITULO_AI, 'INTERIOR DE ARMARIO Nº '); + AnadirCapitulo(TIPO_CAPITULO_AI, 'INTERIOR DE ARMARIO Nº ', true); end; procedure TfrViewDetallesContratoCliente.actCapituloBanoExecute(Sender: TObject); begin - AnadirCapitulo(TIPO_CAPITULO_B, 'MUEBLE DE BAÑO Nº '); + AnadirCapitulo(TIPO_CAPITULO_B, 'MUEBLE DE BAÑO Nº ', true); AnadirCapitulo(TIPO_CAPITULO_V, 'IMPORTES ', True); end; @@ -190,23 +190,23 @@ end; procedure TfrViewDetallesContratoCliente.actCapituloElectrodomesticosExecute(Sender: TObject); begin - AnadirCapitulo(TIPO_CAPITULO_E, 'ELECTRODOMÉSTICOS '); + AnadirCapitulo(TIPO_CAPITULO_E, 'ELECTRODOMÉSTICOS ', true); end; procedure TfrViewDetallesContratoCliente.actCapituloImportesExecute(Sender: TObject); begin - AnadirCapitulo(TIPO_CAPITULO_V, 'IMPORTES '); + AnadirCapitulo(TIPO_CAPITULO_V, 'IMPORTES ', true); end; procedure TfrViewDetallesContratoCliente.actCapituloObraExecute( Sender: TObject); begin - AnadirCapitulo(TIPO_CAPITULO_O, 'OBRA '); + AnadirCapitulo(TIPO_CAPITULO_O, 'OBRA ', true); end; procedure TfrViewDetallesContratoCliente.actCapituloVariosExecute(Sender: TObject); begin - AnadirCapitulo(TIPO_CAPITULO_V, 'VARIOS '); + AnadirCapitulo(TIPO_CAPITULO_V, 'VARIOS ', true); end; function TfrViewDetallesContratoCliente.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; diff --git a/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas index 8c9fb7b4..290fcf83 100644 --- a/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas +++ b/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas @@ -69,9 +69,9 @@ type procedure DESCUENTOOnChange(Sender: TDACustomField); procedure IVAOnChange(Sender: TDACustomField); procedure REOnChange(Sender: TDACustomField); - procedure SetID_TIENDAValue(const aValue: Integer); + procedure SetID_TIENDAValue(const aValue: Integer); procedure SetID_SUBCUENTAValue(const aValue: Integer); - + procedure OnNewRecord(Sender: TDADataTable); override; function GetSITUACIONValue: String; override; @@ -338,6 +338,11 @@ begin if FCliente.ID_TIPO_IVA > 0 then ID_TIPO_IVA := FCliente.ID_TIPO_IVA; RECARGO_EQUIVALENCIA := FCliente.RECARGO_EQUIVALENCIA; + + //Si el cliente tiene la contabilidad desactivada la factura que realizamos la desactivamos también. + if (FCliente.IGNORAR_CONTABILIDAD = 1) then + IGNORAR_CONTABILIDAD := 1; + Post; if bEnEdicion then diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas index e3524add..6d4a9815 100644 --- a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas +++ b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas @@ -920,8 +920,8 @@ begin ACadena := AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_CALIDADES_ARMARIO); if (ACadena <> '') then APresupuesto.CALIDADES.Add(ACadena); - (Self.DetallesController as IDetallesPresupuestoClienteController).AnadirCapitulo(TIPO_CAPITULO_AF, 'FRENTE DE ARMARIO Nº ', False, APresupuesto.Detalles); - (Self.DetallesController as IDetallesPresupuestoClienteController).AnadirCapitulo(TIPO_CAPITULO_AI, 'INTERIOR DE ARMARIO Nº ', False, APresupuesto.Detalles); + (Self.DetallesController as IDetallesPresupuestoClienteController).AnadirCapitulo(TIPO_CAPITULO_AF, 'FRENTE DE ARMARIO Nº ', true, APresupuesto.Detalles); + (Self.DetallesController as IDetallesPresupuestoClienteController).AnadirCapitulo(TIPO_CAPITULO_AI, 'INTERIOR DE ARMARIO Nº ', true, APresupuesto.Detalles); end; teBano: begin @@ -932,7 +932,7 @@ begin ACadena := AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_CALIDADES_BANO); if (ACadena <> '') then APresupuesto.CALIDADES.Add(ACadena); - (Self.DetallesController as IDetallesPresupuestoClienteController).AnadirCapitulo(TIPO_CAPITULO_B, 'MUEBLE DE BAÑO Nº ', False, APresupuesto.Detalles); + (Self.DetallesController as IDetallesPresupuestoClienteController).AnadirCapitulo(TIPO_CAPITULO_B, 'MUEBLE DE BAÑO Nº ', true, APresupuesto.Detalles); (Self.DetallesController as IDetallesPresupuestoClienteController).AnadirCapitulo(TIPO_CAPITULO_V, 'IMPORTES ', True, APresupuesto.Detalles); end; teElectrodomestico: @@ -945,7 +945,7 @@ begin ACadena := AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_CALIDADES_ELECTRODOMESTICO); if (ACadena <> '') then APresupuesto.CALIDADES.Add(ACadena); - (Self.DetallesController as IDetallesPresupuestoClienteController).AnadirCapitulo(TIPO_CAPITULO_E, 'ELECTRODOMÉSTICOS ', False, APresupuesto.Detalles); + (Self.DetallesController as IDetallesPresupuestoClienteController).AnadirCapitulo(TIPO_CAPITULO_E, 'ELECTRODOMÉSTICOS ', true, APresupuesto.Detalles); end; teObra: begin @@ -957,7 +957,7 @@ begin ACadena := AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_CALIDADES_OBRA); if (ACadena <> '') then APresupuesto.CALIDADES.Add(ACadena); - (Self.DetallesController as IDetallesPresupuestoClienteController).AnadirCapitulo(TIPO_CAPITULO_O, 'OBRA ', False, APresupuesto.Detalles); + (Self.DetallesController as IDetallesPresupuestoClienteController).AnadirCapitulo(TIPO_CAPITULO_O, 'OBRA ', true, APresupuesto.Detalles); end; teVarios: begin @@ -968,7 +968,7 @@ begin ACadena := AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_CALIDADES_VARIOS); if (ACadena <> '') then APresupuesto.CALIDADES.Add(ACadena); - (Self.DetallesController as IDetallesPresupuestoClienteController).AnadirCapitulo(TIPO_CAPITULO_V, 'VARIOS ', False, APresupuesto.Detalles); + (Self.DetallesController as IDetallesPresupuestoClienteController).AnadirCapitulo(TIPO_CAPITULO_V, 'VARIOS ', true, APresupuesto.Detalles); end; end; end; diff --git a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm index f60abee1..f30b5d8a 100644 --- a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm +++ b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm @@ -103,7 +103,9 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente Default = True TargetTable = 'FAMILIAS' Name = 'IBX' - SQL = 'select ID,'#10' DESCRIPCION'#10#10'from familias'#10#10'WHERE {Where}'#10 + SQL = + 'select ID,'#10' DESCRIPCION'#10#10'from familias'#10#10'WHERE {Where}'#10'orde' + + 'r by 2'#10 StatementType = stSQL ColumnMappings = < item diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewDatosYSeleccionClientePresupuesto.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewDatosYSeleccionClientePresupuesto.pas index d6e7a750..f814fd6d 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uViewDatosYSeleccionClientePresupuesto.pas +++ b/Source/Modulos/Presupuestos de cliente/Views/uViewDatosYSeleccionClientePresupuesto.pas @@ -136,7 +136,8 @@ implementation {$R *.dfm} uses - uDataModuleClientes, Math, uCustomView, uBizContactosPersonal, uDialogUtils; + uDataModuleClientes, Math, uCustomView, uBizContactosPersonal, uDialogUtils, + uPresupuestosClienteController; procedure TfrViewDatosYSeleccionClientePresupuesto.actElegirContactoExecute(Sender: TObject); @@ -454,11 +455,22 @@ begin end; procedure TfrViewDatosYSeleccionClientePresupuesto.VerFichaCliente; +var + ACliente : IBizCliente; + begin if not Assigned(Cliente) then ShowErrorMessage('No se ha indicado un cliente', 'El presupuesto no tiene ningún cliente asociado a mostrar.') else begin FClientesController.Ver(Cliente); + + if (Application.MessageBox('¿Desea recargar los datos del cliente en el documento?', 'Atención', MB_YESNO) = IDYES) then + begin + ACliente := (FClientesController.Buscar(Cliente.ID) as IBizCliente); + if Assigned(ACliente) then + Self.Cliente := ACliente; + ACliente := Nil; + end; end; end; diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.dfm index af0d39ce..6e7bba53 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.dfm +++ b/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.dfm @@ -40,7 +40,6 @@ inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente Width = 383 end inherited cxGridViewCANTIDAD: TcxGridDBColumn [11] - Properties.Alignment.Vert = taBottomJustify VisibleForCustomization = False Width = 39 end diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.pas index c7d64a1b..9812e3b3 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.pas +++ b/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.pas @@ -166,17 +166,17 @@ end; procedure TfrViewDetallesPresupuestoCliente.actCapituloArmarioFExecute(Sender: TObject); begin - AnadirCapitulo(TIPO_CAPITULO_AF, 'FRENTE DE ARMARIO Nº '); + AnadirCapitulo(TIPO_CAPITULO_AF, 'FRENTE DE ARMARIO Nº ', true); end; procedure TfrViewDetallesPresupuestoCliente.actCapituloArmarioIExecute(Sender: TObject); begin - AnadirCapitulo(TIPO_CAPITULO_AI, 'INTERIOR DE ARMARIO Nº '); + AnadirCapitulo(TIPO_CAPITULO_AI, 'INTERIOR DE ARMARIO Nº ', true); end; procedure TfrViewDetallesPresupuestoCliente.actCapituloBanoExecute(Sender: TObject); begin - AnadirCapitulo(TIPO_CAPITULO_B, 'MUEBLE DE BAÑO Nº '); + AnadirCapitulo(TIPO_CAPITULO_B, 'MUEBLE DE BAÑO Nº ', true); AnadirCapitulo(TIPO_CAPITULO_V, 'IMPORTES ', True); end; @@ -189,23 +189,23 @@ end; procedure TfrViewDetallesPresupuestoCliente.actCapituloElectrodomesticosExecute(Sender: TObject); begin - AnadirCapitulo(TIPO_CAPITULO_E, 'ELECTRODOMÉSTICOS '); + AnadirCapitulo(TIPO_CAPITULO_E, 'ELECTRODOMÉSTICOS ', true); end; procedure TfrViewDetallesPresupuestoCliente.actCapituloImportesExecute(Sender: TObject); begin - AnadirCapitulo(TIPO_CAPITULO_V, 'IMPORTES '); + AnadirCapitulo(TIPO_CAPITULO_V, 'IMPORTES ', true); end; procedure TfrViewDetallesPresupuestoCliente.actCapituloObraExecute( Sender: TObject); begin - AnadirCapitulo(TIPO_CAPITULO_O, 'OBRA '); + AnadirCapitulo(TIPO_CAPITULO_O, 'OBRA ', true); end; procedure TfrViewDetallesPresupuestoCliente.actCapituloVariosExecute(Sender: TObject); begin - AnadirCapitulo(TIPO_CAPITULO_V, 'VARIOS '); + AnadirCapitulo(TIPO_CAPITULO_V, 'VARIOS ', true); end; function TfrViewDetallesPresupuestoCliente.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; diff --git a/Source/Modulos/Relaciones/Contratos de cliente - Facturas de cliente/uGenerarFacturasCliUtils.pas b/Source/Modulos/Relaciones/Contratos de cliente - Facturas de cliente/uGenerarFacturasCliUtils.pas index 795d2815..17433d5e 100644 --- a/Source/Modulos/Relaciones/Contratos de cliente - Facturas de cliente/uGenerarFacturasCliUtils.pas +++ b/Source/Modulos/Relaciones/Contratos de cliente - Facturas de cliente/uGenerarFacturasCliUtils.pas @@ -44,11 +44,8 @@ begin if not AContrato.DataTable.Active then AContrato.DataTable.Active := True; - // La factura tiene que venir ya abierto y posicionado donde hay que copiar - AFactura.ID_CLIENTE := AContrato.ID_CLIENTE; - // Lo dejamos listo para que se localize la subcuenta contable asociada al cliente - AFacturasClienteController.RecuperarCliente(AFactura); - AFactura.Cliente.Open; + AContratosClienteController.RecuperarCliente(AContrato); + AFactura.Cliente := AContrato.Cliente; AFactura.NIF_CIF := AContrato.NIF_CIF; AFactura.NOMBRE := AContrato.NOMBRE; @@ -59,7 +56,6 @@ begin // AFactura.PERSONA_CONTACTO := AContrato.PERSONA_CONTACTO; -// AFactura.DataTable.FieldByName(fld_FacturasClientePLAZO_ENTREGA).AsVariant := AContrato.DataTable.FieldByName(fld_ContratosClientePLAZO_ENTREGA).AsVariant; AFactura.DataTable.FieldByName(fld_FacturasClienteOBSERVACIONES).AsVariant := AContrato.DataTable.FieldByName(fld_ContratosClienteOBSERVACIONES).AsVariant; AFactura.IMPORTE_NETO := AContrato.IMPORTE_NETO; AFactura.IMPORTE_PORTE := AContrato.IMPORTE_PORTE; diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr index 2a53c22d..854d8683 100644 --- a/Source/Servidor/FactuGES_Server.dpr +++ b/Source/Servidor/FactuGES_Server.dpr @@ -110,8 +110,6 @@ uses schContabilidadServer_Intf in '..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas', schRecibosProveedorClient_Intf in '..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas', schRecibosProveedorServer_Intf in '..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas', - schEmpresasClient_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas', - schEmpresasServer_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas', srvContratosCliente_Impl in '..\Modulos\Contratos de cliente\Servidor\srvContratosCliente_Impl.pas' {srvContratosCliente: TDataAbstractService}, uBizContratosClienteServer in '..\Modulos\Contratos de cliente\Model\uBizContratosClienteServer.pas', uRptContratosCliente_Server in '..\Modulos\Contratos de cliente\Reports\uRptContratosCliente_Server.pas' {RptContratosCliente}, @@ -136,7 +134,9 @@ uses schAlbaranesClienteClient_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas', schAlbaranesClienteServer_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas', schContratosClienteClient_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteClient_Intf.pas', - schContratosClienteServer_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas'; + schContratosClienteServer_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas', + schEmpresasClient_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas', + schEmpresasServer_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas'; {$R *.res} {$R ..\Servicios\RODLFile.res} diff --git a/Source/Servidor/FactuGES_Server.rc b/Source/Servidor/FactuGES_Server.rc index 739a79ca..d7a77efb 100644 --- a/Source/Servidor/FactuGES_Server.rc +++ b/Source/Servidor/FactuGES_Server.rc @@ -16,7 +16,7 @@ BEGIN VALUE "FileVersion", "2.5.6.0\0" VALUE "ProductName", "FactuGES (Servidor)\0" VALUE "ProductVersion", "2.5.6.0\0" - VALUE "CompileDate", "miércoles, 05 de febrero de 2014 13:31\0" + VALUE "CompileDate", "miércoles, 26 de febrero de 2014 14:07\0" END END BLOCK "VarFileInfo" diff --git a/Source/Servidor/FactuGES_Server.res b/Source/Servidor/FactuGES_Server.res index 2eb5ddce20e893db322da53f7a19193e9cf30817..42b54e2b656e2db068756c097651423a2e71e8d2 100644 GIT binary patch delta 29 lcmdn9jd9O5#tr+Tn2i|BCLfH_W;bE5VlZGZpZqz>69A?u3HSg2 delta 29 lcmdn9jd9O5#tr+Tm<&3Gn~`