diff --git a/Resources/acana-interiorismo.jpg b/Resources/acana-interiorismo.jpg
new file mode 100644
index 00000000..c21c8b29
Binary files /dev/null and b/Resources/acana-interiorismo.jpg differ
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 2eb5ddce..42b54e2b 100644
Binary files a/Source/Servidor/FactuGES_Server.res and b/Source/Servidor/FactuGES_Server.res differ