diff --git a/Build/Build.fbl6 b/Build/Build.fbl6
index 7a363e3..6afb77f 100644
Binary files a/Build/Build.fbl6 and b/Build/Build.fbl6 differ
diff --git a/Build/Build.fbpInf b/Build/Build.fbpInf
index 6efef5e..f83afc9 100644
--- a/Build/Build.fbpInf
+++ b/Build/Build.fbpInf
@@ -15,7 +15,7 @@
00:00:00
- 26/04/2013 13:00:52
+ 29/04/2013 12:19:03
False
diff --git a/Build/Build.fbz6 b/Build/Build.fbz6
index fa03048..f577a71 100644
Binary files a/Build/Build.fbz6 and b/Build/Build.fbz6 differ
diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql
index d6be5b1..bbf5c3d 100644
--- a/Database/scripts/factuges.sql
+++ b/Database/scripts/factuges.sql
@@ -3697,8 +3697,7 @@ CREATE VIEW V_PRESUPUESTOS_CLIENTE(
AS
SELECT
PRESUPUESTOS_CLIENTE.ID,
-/* PRESUPUESTOS_CLIENTE.ID_EMPRESA,*/
- EMPRESAS_CONTACTOS.ID_EMPRESA,
+ PRESUPUESTOS_CLIENTE.ID_EMPRESA,
PRESUPUESTOS_CLIENTE.FECHA_PRESUPUESTO,
PRESUPUESTOS_CLIENTE.FECHA_VIGENCIA,
PRESUPUESTOS_CLIENTE.FECHA_DECISION,
@@ -3742,7 +3741,6 @@ SELECT
FROM
PRESUPUESTOS_CLIENTE
LEFT OUTER JOIN CONTACTOS ON (PRESUPUESTOS_CLIENTE.ID_CLIENTE = CONTACTOS.ID)
- LEFT JOIN EMPRESAS_CONTACTOS ON (EMPRESAS_CONTACTOS.ID_CONTACTO = CONTACTOS.ID)
LEFT OUTER JOIN CONTACTOS CONTACTOS2 ON (PRESUPUESTOS_CLIENTE.ID_VENDEDOR = CONTACTOS2.ID)
LEFT OUTER JOIN EMPRESAS_TIENDAS ON (EMPRESAS_TIENDAS.ID = PRESUPUESTOS_CLIENTE.ID_TIENDA)
LEFT OUTER JOIN CONTRATOS_CLIENTE ON (CONTRATOS_CLIENTE.ID = PRESUPUESTOS_CLIENTE.ID_CONTRATO)
diff --git a/Source/ApplicationBase/Configuracion/Controller/uConfiguracionController.pas b/Source/ApplicationBase/Configuracion/Controller/uConfiguracionController.pas
index 4426ab8..defc849 100644
--- a/Source/ApplicationBase/Configuracion/Controller/uConfiguracionController.pas
+++ b/Source/ApplicationBase/Configuracion/Controller/uConfiguracionController.pas
@@ -23,7 +23,8 @@ type
procedure SalvarConfiguracion;
procedure CargarConfiguracion;
- function GetSettingAsString(const AFuente: TEnumAlmacen; const ASettingName: String; const ADefaultValue : String = ''): String;
+ function GetSettingAsString(const AFuente: TEnumAlmacen; const ASettingName: String; const ADefaultValue : String = ''): String; overload;
+ function GetSettingAsString(const AFuente: TEnumAlmacen; const ASettingName: String; const ID_EMPRESA: integer; const ADefaultValue : String = ''): String; overload;
function GetSettingAsInteger(const AFuente: TEnumAlmacen; const ASettingName: String; const ADefaultValue : Integer = 0): Integer;
function GetSettingAsFloat(const AFuente: TEnumAlmacen; const ASettingName: String; const ADefaultValue : Float = 0): Float;
function GetSettingAsBoolean(const AFuente: TEnumAlmacen; const ASettingName: String; const ADefaultValue : Boolean = False): Boolean;
@@ -44,7 +45,8 @@ type
procedure CargarConfiguracion;
procedure ConfigurarAplicacion;
- function GetSettingAsString(const AFuente: TEnumAlmacen; const ASettingName: String; const ADefaultValue : String = ''): String;
+ function GetSettingAsString(const AFuente: TEnumAlmacen; const ASettingName: String; const ADefaultValue : String = ''): String; overload;
+ function GetSettingAsString(const AFuente: TEnumAlmacen; const ASettingName: String; const ID_EMPRESA: integer; const ADefaultValue : String = ''): String; overload;
function GetSettingAsInteger(const AFuente: TEnumAlmacen; const ASettingName: String; const ADefaultValue : Integer = 0): Integer;
function GetSettingAsFloat(const AFuente: TEnumAlmacen; const ASettingName: String; const ADefaultValue : Float = 0): Float;
function GetSettingAsBoolean(const AFuente: TEnumAlmacen; const ASettingName: String; const ADefaultValue : Boolean = False): Boolean;
@@ -166,6 +168,16 @@ begin
end;
end;
+function TConfiguracionController.GetSettingAsString(
+ const AFuente: TEnumAlmacen; const ASettingName: String;
+ const ID_EMPRESA: integer; const ADefaultValue: String): String;
+begin
+ case AFuente of
+// teXML: Result := FAppXMLFileStorage.ReadStringParaEmpresa(ASettingName, ADefaultValue);
+ teBD: Result := FAppDBStorage.DarValorParaEmpresa(ASettingName, ID_EMPRESA);
+ end;
+end;
+
function TConfiguracionController.GetSettingAsString(const AFuente: TEnumAlmacen; const ASettingName,
ADefaultValue: String): String;
begin
diff --git a/Source/ApplicationBase/Empresas/Model/uBizEmpresas.pas b/Source/ApplicationBase/Empresas/Model/uBizEmpresas.pas
index 07eb100..948745c 100644
--- a/Source/ApplicationBase/Empresas/Model/uBizEmpresas.pas
+++ b/Source/ApplicationBase/Empresas/Model/uBizEmpresas.pas
@@ -3,7 +3,7 @@ unit uBizEmpresas;
interface
uses
- uDAInterfaces, uDADataTable, schEmpresasClient_Intf,
+ uDAInterfaces, uDADataTable, Classes, schEmpresasClient_Intf,
uBizEmpresasDatosBancarios, uBizEmpresasTiendas;
const
@@ -20,6 +20,9 @@ type
function GetTiendas : IBizEmpresaTienda;
property Tiendas : IBizEmpresaTienda read GetTiendas write SetTiendas;
+ function GetEmpresasPresupuestosComunes : TStringList;
+ property EmpresasPresupuestosComunes: TStringList read GetEmpresasPresupuestosComunes;
+
function EsNuevo : Boolean;
end;
@@ -29,6 +32,7 @@ type
FDatosBancariosLink : TDADataSource;
FTiendas : IBizEmpresaTienda;
FTiendasLink : TDADataSource;
+ FEmpresasPresupuestosComunes : TStringList;
procedure OnNewRecord(Sender: TDADataTable); override;
@@ -36,6 +40,7 @@ type
function GetDatosBancarios : IBizEmpresasDatosBancarios;
procedure SetTiendas(AValue : IBizEmpresaTienda);
function GetTiendas : IBizEmpresaTienda;
+ function GetEmpresasPresupuestosComunes : TStringList;
public
function EsNuevo : Boolean;
@@ -46,14 +51,15 @@ type
property DatosBancarios : IBizEmpresasDatosBancarios read GetDatosBancarios write SetDatosBancarios;
property Tiendas : IBizEmpresaTienda read GetTiendas write SetTiendas;
+ property EmpresasPresupuestosComunes: TStringList read GetEmpresasPresupuestosComunes;
end;
implementation
uses
- uDataTableUtils, Classes, DateUtils, SysUtils, Dialogs,
- uFactuGES_App;
+ uDataTableUtils, DateUtils, SysUtils, Dialogs,
+ uFactuGES_App, uConfiguracionController;
{ TBizEmpresa }
@@ -66,6 +72,8 @@ begin
FTiendasLink := TDADataSource.Create(NIL);
FTiendasLink.DataTable := aDataTable;
+
+ FEmpresasPresupuestosComunes := TStringList.Create;
end;
destructor TBizEmpresa.Destroy;
@@ -74,6 +82,7 @@ begin
FDatosBancariosLink.Free;
FTiendas := NIL;
FTiendasLink.Free;
+ FreeANDNIL(FEmpresasPresupuestosComunes);
inherited;
end;
@@ -87,6 +96,14 @@ begin
Result := FDatosBancarios;
end;
+function TBizEmpresa.GetEmpresasPresupuestosComunes: TStringList;
+begin
+ if (FEmpresasPresupuestosComunes.Count = 0) then
+ FEmpresasPresupuestosComunes.CommaText := AppFactuGES.Configuracion.GetSettingAsString(teBD,'EMPRESAS_PRESUPUESTOS_COMUNES', AppFactuGES.EmpresaActiva.ID);
+
+ Result := FEmpresasPresupuestosComunes;
+end;
+
function TBizEmpresa.GetTiendas: IBizEmpresaTienda;
begin
Result := FTiendas;
diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj
index a68366d..9938269 100644
--- a/Source/Base/Base.dproj
+++ b/Source/Base/Base.dproj
@@ -44,13 +44,6 @@
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
@@ -65,54 +58,54 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Base/Configuracion/uDataModuleConfiguracion.pas b/Source/Base/Configuracion/uDataModuleConfiguracion.pas
index 6e6e73a..5c543dc 100644
--- a/Source/Base/Configuracion/uDataModuleConfiguracion.pas
+++ b/Source/Base/Configuracion/uDataModuleConfiguracion.pas
@@ -17,6 +17,7 @@ type
FIniFile : TIniFile;
public
function DarValor(const CODIGO: String; const ValorPorDefecto: String = ''): Variant;
+ function DarValorParaEmpresa(const CODIGO: String; const ID_EMPRESA: Integer; const ValorPorDefecto: String = ''): Variant;
procedure GuardarValor(const CODIGO: String; const Valor: Variant);
procedure LeerConfiguracion;
procedure SalvarConfiguracion;
@@ -61,6 +62,14 @@ begin
Result := (RORemoteService as IsrvConfiguracion).DarValor(CODIGO, ValorPorDefecto);
end;
+function TdmConfiguracion.DarValorParaEmpresa(const CODIGO: String;
+ const ID_EMPRESA: Integer; const ValorPorDefecto: String): Variant;
+begin
+ RORemoteService.Channel := dmConexion.ROChannel;
+ RORemoteService.Message := dmConexion.ROMessage;
+ Result := (RORemoteService as IsrvConfiguracion).DarValorParaEmpresa(CODIGO, ID_EMPRESA, ValorPorDefecto);
+end;
+
destructor TdmConfiguracion.Destroy;
begin
FreeAndNIL(FIniFile);
diff --git a/Source/Informes/2/InfFacturaCliente.fr3 b/Source/Informes/2/InfFacturaCliente.fr3
index 89441ac..36c5815 100644
--- a/Source/Informes/2/InfFacturaCliente.fr3
+++ b/Source/Informes/2/InfFacturaCliente.fr3
@@ -1,5 +1,5 @@
-
+
@@ -31,7 +31,7 @@
-
+
@@ -68,7 +68,7 @@
-
+
diff --git a/Source/Informes/3/InfFacturaCliente.fr3 b/Source/Informes/3/InfFacturaCliente.fr3
index 2b2e9b5..545036b 100644
--- a/Source/Informes/3/InfFacturaCliente.fr3
+++ b/Source/Informes/3/InfFacturaCliente.fr3
@@ -1,5 +1,5 @@
-
+
@@ -31,7 +31,7 @@
-
+
@@ -68,7 +68,7 @@
-
+
diff --git a/Source/Informes/4/InfFacturaCliente.fr3 b/Source/Informes/4/InfFacturaCliente.fr3
index 2b2e9b5..6f26fae 100644
--- a/Source/Informes/4/InfFacturaCliente.fr3
+++ b/Source/Informes/4/InfFacturaCliente.fr3
@@ -1,5 +1,5 @@
-
+
@@ -12,16 +12,14 @@
-
-
-
+
-
+
@@ -68,7 +66,7 @@
-
+
diff --git a/Source/Modulos/Contactos/Servidor/srvContactos_Impl.dfm b/Source/Modulos/Contactos/Servidor/srvContactos_Impl.dfm
index 6e878db..07af0d5 100644
--- a/Source/Modulos/Contactos/Servidor/srvContactos_Impl.dfm
+++ b/Source/Modulos/Contactos/Servidor/srvContactos_Impl.dfm
@@ -3643,9 +3643,12 @@ object srvContactos: TsrvContactos
Connection = 'IBX'
TargetTable = 'EMPRESAS_CONTACTOS'
SQL =
- 'INSERT'#10' INTO EMPRESAS_CONTACTOS'#10' (ID, ID_EMPRESA, ID_CONTACT' +
- 'O)'#10' VALUES'#10' ((SELECT GEN_ID(GEN_EMPRESAS_CONTACTOS_ID, 1) FR' +
- 'OM RDB$DATABASE), :ID_EMPRESA, :ID_CONTACTO)'#10
+ 'INSERT INTO EMPRESAS_CONTACTOS'#10' (ID, ID_EMPRESA, ID_CONTACTO)' +
+ #10#10'SELECT (SELECT GEN_ID(GEN_EMPRESAS_CONTACTOS_ID, 1) FROM RDB$D' +
+ 'ATABASE), ID, :ID_CONTACTO'#10'FROM'#10'('#10'SELECT EMPRESAS.ID as ID'#10'FROM ' +
+ 'EMPRESAS'#10'where id = :ID_EMPRESA'#10#10'union'#10#10'select valor as ID'#10'from ' +
+ 'configuracion'#10'where CODIGO = '#39'EMPRESAS_CONTACTOS_COMUNES'#39#10'and ID' +
+ '_EMPRESA = :ID_EMPRESA'#10')'#10
StatementType = stSQL
ColumnMappings = <>
end>
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas
index e386943..48019cc 100644
--- a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas
+++ b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas
@@ -968,7 +968,8 @@ end;
procedure TPresupuestosClienteController.FiltrarEmpresa(APresupuesto: IBizPresupuestoCliente);
var
- Condicion: TDAWhereExpression;
+ i: Integer;
+ Condicion, Condicion2: TDAWhereExpression;
begin
if APresupuesto.DataTable.Active then
APresupuesto.DataTable.Active := False;
@@ -979,6 +980,13 @@ begin
// (ID_EMPRESA >= ID)
Condicion := NewBinaryExpression(NewField('', fld_PresupuestosClienteID_EMPRESA), NewConstant(AppFactuGES.EmpresaActiva.ID, datInteger), dboEqual);
+ for i:= 0 to AppFactuGES.EmpresaActiva.EmpresasPresupuestosComunes.Count - 1 do
+ begin
+ // (ID_EMPRESA >= ID)
+ Condicion2 := NewBinaryExpression(NewField('', fld_PresupuestosClienteID_EMPRESA), NewConstant(AppFactuGES.EmpresaActiva.EmpresasPresupuestosComunes.Strings[i], datString), dboEqual);
+ Condicion := NewBinaryExpression(Condicion, Condicion2, dboOR);
+ end;
+
if IsEmpty then
Expression := Condicion
else
diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas
index 1b7079f..574a6b9 100644
--- a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas
+++ b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas
@@ -9,12 +9,12 @@ const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
- RID_Valores = '{CC017935-A09E-4607-A480-A958DE5AF63D}';
- RID_Propiedades = '{C233C7CE-D1DF-4697-9666-FCED937B77BA}';
- RID_ListaAnosPresupuestos = '{6E6A0A4D-15B0-4565-9B08-40290AEF60D1}';
- RID_PresupuestosCliente = '{D3E682FA-3E0F-4FFD-AB60-938FFC382BB3}';
- RID_CapitulosPresupuesto = '{C1629A05-F793-43B7-9C93-A53ADDECCE34}';
- RID_PresupuestosCliente_Detalles = '{ED0B47EF-2164-4FC1-9BC2-C439761E6FE9}';
+ RID_Valores = '{E7928204-C39F-4E07-9A3D-B32F3BB49D85}';
+ RID_Propiedades = '{D1BE6EB5-260D-4A6B-ADEF-3FC1FB9CF572}';
+ RID_ListaAnosPresupuestos = '{95229127-6332-428F-848D-966BCF5A39F6}';
+ RID_PresupuestosCliente = '{E4555932-F890-4E53-8666-6E4A2B74D518}';
+ RID_CapitulosPresupuesto = '{DBAF21E8-DB51-4BAD-94FF-4A20A2876FF2}';
+ RID_PresupuestosCliente_Detalles = '{B7A19F6E-DAA5-4E16-9622-4D99F50E21CE}';
{ Data table names }
nme_Valores = 'Valores';
@@ -205,7 +205,7 @@ const
type
{ IValores }
IValores = interface(IDAStronglyTypedDataTable)
- ['{681B40A3-5B11-4D32-923A-0631AA8CC5EE}']
+ ['{93D9A956-9F9E-4D63-A10B-A172C285C94E}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -300,7 +300,7 @@ type
{ IPropiedades }
IPropiedades = interface(IDAStronglyTypedDataTable)
- ['{79BD7A07-B808-4907-850F-392DC2606391}']
+ ['{59EB780A-FC81-43F6-9D5D-57B76B94C000}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -347,7 +347,7 @@ type
{ IListaAnosPresupuestos }
IListaAnosPresupuestos = interface(IDAStronglyTypedDataTable)
- ['{3AEB65F1-4948-4C06-BF1F-BA3060F0F06B}']
+ ['{EBF28BF5-BC89-4C6F-AE66-B6D895A58A86}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@@ -382,7 +382,7 @@ type
{ IPresupuestosCliente }
IPresupuestosCliente = interface(IDAStronglyTypedDataTable)
- ['{3AC483E0-CFFC-4406-9F09-E1DF675C2FC1}']
+ ['{BC002141-E0CE-41CB-9AAA-85B093181284}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -897,7 +897,7 @@ type
{ ICapitulosPresupuesto }
ICapitulosPresupuesto = interface(IDAStronglyTypedDataTable)
- ['{2E0B5814-8B22-4C77-8C40-2162ED673F5D}']
+ ['{A0E7A826-2872-426E-AD39-8FA97AAA61FE}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -1052,7 +1052,7 @@ type
{ IPresupuestosCliente_Detalles }
IPresupuestosCliente_Detalles = interface(IDAStronglyTypedDataTable)
- ['{B7CDAEEA-EF6A-484C-8CE9-D4E88ADA2ED1}']
+ ['{81779950-8754-42C2-A214-1147561D7D56}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas
index 82f4d3e..08963fa 100644
--- a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas
+++ b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas
@@ -9,17 +9,17 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
- RID_ValoresDelta = '{CD4A587B-3372-4134-BAA6-FBCFA402EBF6}';
- RID_PropiedadesDelta = '{EFB1E26D-524C-4CFF-8B3A-BDDBE36FB1EF}';
- RID_ListaAnosPresupuestosDelta = '{95421BAF-1534-4293-A6C1-EFD21D3FCF1F}';
- RID_PresupuestosClienteDelta = '{28A0A025-CFA6-4384-A8A2-CB211996955D}';
- RID_CapitulosPresupuestoDelta = '{B339485B-FE22-47B9-AE8F-5738FD52D310}';
- RID_PresupuestosCliente_DetallesDelta = '{974C10D0-CF61-4660-85DD-C0CB0DE6D669}';
+ RID_ValoresDelta = '{13FFF203-FA71-4ED9-AC0A-643A9FE5CAD2}';
+ RID_PropiedadesDelta = '{6B42D145-11AB-46D7-88D3-65F1BE9C982F}';
+ RID_ListaAnosPresupuestosDelta = '{ABE39CA0-27B3-4D80-AED4-FE540C66D871}';
+ RID_PresupuestosClienteDelta = '{717C84FB-EC16-47E3-BD56-A26B1170EF2E}';
+ RID_CapitulosPresupuestoDelta = '{F39487EB-F059-40C3-ABB1-8B6B4B0E271E}';
+ RID_PresupuestosCliente_DetallesDelta = '{FE4CE80E-1435-4867-91AC-081602D5BAA4}';
type
{ IValoresDelta }
IValoresDelta = interface(IValores)
- ['{CD4A587B-3372-4134-BAA6-FBCFA402EBF6}']
+ ['{13FFF203-FA71-4ED9-AC0A-643A9FE5CAD2}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -113,7 +113,7 @@ type
{ IPropiedadesDelta }
IPropiedadesDelta = interface(IPropiedades)
- ['{EFB1E26D-524C-4CFF-8B3A-BDDBE36FB1EF}']
+ ['{6B42D145-11AB-46D7-88D3-65F1BE9C982F}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldDESCRIPCIONValue : String;
@@ -159,7 +159,7 @@ type
{ IListaAnosPresupuestosDelta }
IListaAnosPresupuestosDelta = interface(IListaAnosPresupuestos)
- ['{95421BAF-1534-4293-A6C1-EFD21D3FCF1F}']
+ ['{ABE39CA0-27B3-4D80-AED4-FE540C66D871}']
{ Property getters and setters }
function GetOldANOValue : String;
@@ -193,7 +193,7 @@ type
{ IPresupuestosClienteDelta }
IPresupuestosClienteDelta = interface(IPresupuestosCliente)
- ['{28A0A025-CFA6-4384-A8A2-CB211996955D}']
+ ['{717C84FB-EC16-47E3-BD56-A26B1170EF2E}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -711,7 +711,7 @@ type
{ ICapitulosPresupuestoDelta }
ICapitulosPresupuestoDelta = interface(ICapitulosPresupuesto)
- ['{B339485B-FE22-47B9-AE8F-5738FD52D310}']
+ ['{F39487EB-F059-40C3-ABB1-8B6B4B0E271E}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldPOSICIONValue : Integer;
@@ -865,7 +865,7 @@ type
{ IPresupuestosCliente_DetallesDelta }
IPresupuestosCliente_DetallesDelta = interface(IPresupuestosCliente_Detalles)
- ['{974C10D0-CF61-4660-85DD-C0CB0DE6D669}']
+ ['{FE4CE80E-1435-4867-91AC-081602D5BAA4}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_PRESUPUESTOValue : Integer;
diff --git a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm
index a7c92a0..5459630 100644
--- a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm
@@ -827,18 +827,17 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
Commands = <
item
Params = <
- item
- Name = 'TIPO_PRESUPUESTO'
- DataType = datString
- Size = 255
- Value = ''
- end
item
Name = 'ID'
DataType = datAutoInc
GeneratorName = 'GEN_PRESUPUESTOS_CLI_ID'
Value = ''
end
+ item
+ Name = 'ID_EMPRESA'
+ DataType = datInteger
+ Value = ''
+ end
item
Name = 'FECHA_PRESUPUESTO'
DataType = datDateTime
@@ -997,6 +996,12 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
Name = 'NO_VALORADO'
DataType = datSmallInt
Value = ''
+ end
+ item
+ Name = 'TIPO_PRESUPUESTO'
+ DataType = datString
+ Size = 255
+ Value = ''
end>
Statements = <
item
@@ -1004,24 +1009,24 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
Default = True
TargetTable = 'PRESUPUESTOS_CLIENTE'
SQL =
- 'INSERT'#10' INTO PRESUPUESTOS_CLIENTE'#10' (ID,'#10' FECHA_PRESUPUES' +
- 'TO, FECHA_VIGENCIA, FECHA_DECISION, REFERENCIA,'#10' SITUACION, ' +
- 'ID_CLIENTE, ID_DIRECCION, PERSONA_CONTACTO,'#10' FORMA_PAGO, PLA' +
- 'ZO_ENTREGA, OBSERVACIONES, INCIDENCIAS,'#10' INCIDENCIAS_ACTIVAS' +
- ', FECHA_ALTA, USUARIO, IMPORTE_NETO, IMPORTE_PORTE,'#10' DESCUEN' +
- 'TO, IMPORTE_DESCUENTO, BASE_IMPONIBLE, ID_TIPO_IVA, IVA, IMPORTE' +
- '_IVA,'#10' RE, IMPORTE_RE, RECARGO_EQUIVALENCIA, IMPORTE_TOTAL, ' +
- 'ID_FORMA_PAGO, ID_TIENDA, ID_VENDEDOR,'#10' ID_CONTRATO, NO_VALO' +
- 'RADO, TIPO_PRESUPUESTO)'#10' VALUES'#10' (:ID,'#10' :FECHA_PRESUPUES' +
- 'TO, :FECHA_VIGENCIA, :FECHA_DECISION, :REFERENCIA,'#10' :SITUACI' +
- 'ON, :ID_CLIENTE, :ID_DIRECCION, :PERSONA_CONTACTO,'#10' :FORMA_P' +
- 'AGO, :PLAZO_ENTREGA, :OBSERVACIONES, :INCIDENCIAS,'#10' :INCIDEN' +
- 'CIAS_ACTIVAS, CURRENT_TIMESTAMP, :USUARIO, :IMPORTE_NETO, :IMPOR' +
- 'TE_PORTE,'#10' :DESCUENTO, :IMPORTE_DESCUENTO, :BASE_IMPONIBLE, ' +
- ':ID_TIPO_IVA, :IVA, :IMPORTE_IVA,'#10' :RE, :IMPORTE_RE, :RECARG' +
- 'O_EQUIVALENCIA, :IMPORTE_TOTAL, :ID_FORMA_PAGO, :ID_TIENDA, :ID_' +
- 'VENDEDOR,'#10' :ID_CONTRATO, :NO_VALORADO, :TIPO_PRESUPUESTO)'#10' ' +
- ' '#10#10#10#10#10
+ 'INSERT'#10' INTO PRESUPUESTOS_CLIENTE'#10' (ID, ID_EMPRESA,'#10' FEC' +
+ 'HA_PRESUPUESTO, FECHA_VIGENCIA, FECHA_DECISION, REFERENCIA,'#10' ' +
+ ' SITUACION, ID_CLIENTE, ID_DIRECCION, PERSONA_CONTACTO,'#10' FOR' +
+ 'MA_PAGO, PLAZO_ENTREGA, OBSERVACIONES, INCIDENCIAS,'#10' INCIDEN' +
+ 'CIAS_ACTIVAS, FECHA_ALTA, USUARIO, IMPORTE_NETO, IMPORTE_PORTE,'#10 +
+ ' DESCUENTO, IMPORTE_DESCUENTO, BASE_IMPONIBLE, ID_TIPO_IVA, ' +
+ 'IVA, IMPORTE_IVA,'#10' RE, IMPORTE_RE, RECARGO_EQUIVALENCIA, IMP' +
+ 'ORTE_TOTAL, ID_FORMA_PAGO, ID_TIENDA, ID_VENDEDOR,'#10' ID_CONTR' +
+ 'ATO, NO_VALORADO, TIPO_PRESUPUESTO)'#10' VALUES'#10' (:ID, :ID_EMPRE' +
+ 'SA,'#10' :FECHA_PRESUPUESTO, :FECHA_VIGENCIA, :FECHA_DECISION, :' +
+ 'REFERENCIA,'#10' :SITUACION, :ID_CLIENTE, :ID_DIRECCION, :PERSON' +
+ 'A_CONTACTO,'#10' :FORMA_PAGO, :PLAZO_ENTREGA, :OBSERVACIONES, :I' +
+ 'NCIDENCIAS,'#10' :INCIDENCIAS_ACTIVAS, CURRENT_TIMESTAMP, :USUAR' +
+ 'IO, :IMPORTE_NETO, :IMPORTE_PORTE,'#10' :DESCUENTO, :IMPORTE_DES' +
+ 'CUENTO, :BASE_IMPONIBLE, :ID_TIPO_IVA, :IVA, :IMPORTE_IVA,'#10' ' +
+ ':RE, :IMPORTE_RE, :RECARGO_EQUIVALENCIA, :IMPORTE_TOTAL, :ID_FOR' +
+ 'MA_PAGO, :ID_TIENDA, :ID_VENDEDOR,'#10' :ID_CONTRATO, :NO_VALORA' +
+ 'DO, :TIPO_PRESUPUESTO)'#10' '#10#10#10#10#10
StatementType = stSQL
ColumnMappings = <>
end>
diff --git a/Source/Modulos/Relaciones/Presupuestos de cliente - Contratos de cliente/uGenerarContratosCliUtils.pas b/Source/Modulos/Relaciones/Presupuestos de cliente - Contratos de cliente/uGenerarContratosCliUtils.pas
index 7ccbdde..788d998 100644
--- a/Source/Modulos/Relaciones/Presupuestos de cliente - Contratos de cliente/uGenerarContratosCliUtils.pas
+++ b/Source/Modulos/Relaciones/Presupuestos de cliente - Contratos de cliente/uGenerarContratosCliUtils.pas
@@ -26,7 +26,7 @@ uses
uDetallesContratoClienteController, uControllerDetallesBase,
uBizContactos, schPresupuestosClienteClient_Intf,
schContratosClienteClient_Intf, uDireccionesContactoController,
- uBizDireccionesContacto;
+ uBizDireccionesContacto, uFactuGES_App;
var
dmGenerarContratosCli: TdmGenerarContratosCli;
@@ -251,6 +251,7 @@ begin
try
AContrato := AContratosClienteController.Nuevo;
+ AContrato.ID_EMPRESA := AppFactuGES.EmpresaActiva.ID;
CopiarPresupuestoAContrato(APresupuesto, AContrato);
CopiarDetallesAContrato(APresupuesto, AContrato, APresupuesto.Detalles);
diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL
index 05bb9ed..c3b7b1f 100644
--- a/Source/Servicios/FactuGES.RODL
+++ b/Source/Servicios/FactuGES.RODL
@@ -142,6 +142,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -150,6 +162,16 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas
index c6f39f9..6ddb12f 100644
--- a/Source/Servicios/FactuGES_Intf.pas
+++ b/Source/Servicios/FactuGES_Intf.pas
@@ -314,7 +314,9 @@ type
IsrvConfiguracion = interface(IDataAbstractService)
['{0882B8A4-C8AA-424E-8FC1-C6226B670522}']
function darValor(const CODIGO: AnsiString; const ValorPorDefecto: AnsiString): AnsiString;
+ function darValorParaEmpresa(const CODIGO: AnsiString; const ID_EMPRESA: Integer; const ValorPorDefecto: AnsiString): AnsiString;
procedure guardarValor(const CODIGO: AnsiString; const Valor: AnsiString);
+ procedure guardarValorParaEmpresa(const CODIGO: AnsiString; const ID_EMPRESA: Integer; const Valor: AnsiString);
end;
{ CosrvConfiguracion }
@@ -328,7 +330,9 @@ type
function __GetInterfaceName:string; override;
function darValor(const CODIGO: AnsiString; const ValorPorDefecto: AnsiString): AnsiString;
+ function darValorParaEmpresa(const CODIGO: AnsiString; const ID_EMPRESA: Integer; const ValorPorDefecto: AnsiString): AnsiString;
procedure guardarValor(const CODIGO: AnsiString; const Valor: AnsiString);
+ procedure guardarValorParaEmpresa(const CODIGO: AnsiString; const ID_EMPRESA: Integer; const Valor: AnsiString);
end;
{ IsrvFamilias }
@@ -1553,6 +1557,24 @@ begin
end
end;
+function TsrvConfiguracion_Proxy.darValorParaEmpresa(const CODIGO: AnsiString; const ID_EMPRESA: Integer; const ValorPorDefecto: AnsiString): AnsiString;
+begin
+ try
+ __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'darValorParaEmpresa');
+ __Message.Write('CODIGO', TypeInfo(AnsiString), CODIGO, []);
+ __Message.Write('ID_EMPRESA', TypeInfo(Integer), ID_EMPRESA, []);
+ __Message.Write('ValorPorDefecto', TypeInfo(AnsiString), ValorPorDefecto, []);
+ __Message.Finalize;
+
+ __TransportChannel.Dispatch(__Message);
+
+ __Message.Read('Result', TypeInfo(AnsiString), result, []);
+ finally
+ __Message.UnsetAttributes(__TransportChannel);
+ __Message.FreeStream;
+ end
+end;
+
procedure TsrvConfiguracion_Proxy.guardarValor(const CODIGO: AnsiString; const Valor: AnsiString);
begin
try
@@ -1569,6 +1591,23 @@ begin
end
end;
+procedure TsrvConfiguracion_Proxy.guardarValorParaEmpresa(const CODIGO: AnsiString; const ID_EMPRESA: Integer; const Valor: AnsiString);
+begin
+ try
+ __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'guardarValorParaEmpresa');
+ __Message.Write('CODIGO', TypeInfo(AnsiString), CODIGO, []);
+ __Message.Write('ID_EMPRESA', TypeInfo(Integer), ID_EMPRESA, []);
+ __Message.Write('Valor', TypeInfo(AnsiString), Valor, []);
+ __Message.Finalize;
+
+ __TransportChannel.Dispatch(__Message);
+
+ finally
+ __Message.UnsetAttributes(__TransportChannel);
+ __Message.FreeStream;
+ end
+end;
+
{ CosrvFamilias }
class function CosrvFamilias.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvFamilias;
diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas
index ca1c966..04120ac 100644
--- a/Source/Servicios/FactuGES_Invk.pas
+++ b/Source/Servicios/FactuGES_Invk.pas
@@ -77,7 +77,9 @@ type
constructor Create; override;
published
procedure Invoke_darValor(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
+ procedure Invoke_darValorParaEmpresa(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_guardarValor(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
+ procedure Invoke_guardarValorParaEmpresa(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
end;
TsrvFamilias_Invoker = class(TDataAbstractService_Invoker)
@@ -639,6 +641,30 @@ begin
end;
end;
+procedure TsrvConfiguracion_Invoker.Invoke_darValorParaEmpresa(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
+{ function darValorParaEmpresa(const CODIGO: AnsiString; const ID_EMPRESA: Integer; const ValorPorDefecto: AnsiString): AnsiString; }
+var
+ CODIGO: AnsiString;
+ ID_EMPRESA: Integer;
+ ValorPorDefecto: AnsiString;
+ lResult: AnsiString;
+begin
+ try
+ __Message.Read('CODIGO', TypeInfo(AnsiString), CODIGO, []);
+ __Message.Read('ID_EMPRESA', TypeInfo(Integer), ID_EMPRESA, []);
+ __Message.Read('ValorPorDefecto', TypeInfo(AnsiString), ValorPorDefecto, []);
+
+ lResult := (__Instance as IsrvConfiguracion).darValorParaEmpresa(CODIGO, ID_EMPRESA, ValorPorDefecto);
+
+ __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvConfiguracion', 'darValorParaEmpresaResponse');
+ __Message.Write('Result', TypeInfo(AnsiString), lResult, []);
+ __Message.Finalize;
+ __Message.UnsetAttributes(__Transport);
+
+ finally
+ end;
+end;
+
procedure TsrvConfiguracion_Invoker.Invoke_guardarValor(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ procedure guardarValor(const CODIGO: AnsiString; const Valor: AnsiString); }
var
@@ -661,6 +687,30 @@ begin
end;
end;
+procedure TsrvConfiguracion_Invoker.Invoke_guardarValorParaEmpresa(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
+{ procedure guardarValorParaEmpresa(const CODIGO: AnsiString; const ID_EMPRESA: Integer; const Valor: AnsiString); }
+var
+ CODIGO: AnsiString;
+ ID_EMPRESA: Integer;
+ Valor: AnsiString;
+begin
+ try
+ __Message.Read('CODIGO', TypeInfo(AnsiString), CODIGO, []);
+ __Message.Read('ID_EMPRESA', TypeInfo(Integer), ID_EMPRESA, []);
+ __Message.Read('Valor', TypeInfo(AnsiString), Valor, []);
+
+ (__Instance as IsrvConfiguracion).guardarValorParaEmpresa(CODIGO, ID_EMPRESA, Valor);
+
+ __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvConfiguracion', 'guardarValorParaEmpresaResponse');
+ __Message.Finalize;
+ __Message.UnsetAttributes(__Transport);
+
+ __oResponseOptions := [roNoResponse];
+
+ finally
+ end;
+end;
+
{ TsrvFamilias_Invoker }
constructor TsrvFamilias_Invoker.Create;
diff --git a/Source/Servicios/RODLFile.res b/Source/Servicios/RODLFile.res
index 23e8f76..e207507 100644
Binary files a/Source/Servicios/RODLFile.res and b/Source/Servicios/RODLFile.res differ
diff --git a/Source/Servidor/Configuracion/srvConfiguracion_Impl.dfm b/Source/Servidor/Configuracion/srvConfiguracion_Impl.dfm
index 0475273..ff6051d 100644
--- a/Source/Servidor/Configuracion/srvConfiguracion_Impl.dfm
+++ b/Source/Servidor/Configuracion/srvConfiguracion_Impl.dfm
@@ -50,6 +50,49 @@ object srvConfiguracion: TsrvConfiguracion
Name = 'VALOR_BLOB'
DataType = datMemo
end>
+ end
+ item
+ Params = <
+ item
+ Name = 'CODIGO'
+ DataType = datString
+ Size = 50
+ Value = ''
+ end
+ item
+ Name = 'ID_EMPRESA'
+ DataType = datInteger
+ Value = ''
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'CONFIGURACION'
+ SQL =
+ 'SELECT VALOR, VALOr_BLOB'#10'FROM CONFIGURACION'#10'WHERE CODIGO = :CODI' +
+ 'GO'#10'AND ID_EMPRESA = :ID_EMPRESA'#10
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'VALOR'
+ TableField = 'VALOR'
+ end
+ item
+ DatasetField = 'VALOR_BLOB'
+ TableField = 'VALOR_BLOB'
+ end>
+ end>
+ Name = 'darValorParaEmpresa'
+ Fields = <
+ item
+ Name = 'VALOR'
+ DataType = datString
+ Size = 2000
+ end
+ item
+ Name = 'VALOR_BLOB'
+ DataType = datMemo
+ end>
end>
JoinDataTables = <>
UnionDataTables = <>
@@ -115,6 +158,37 @@ object srvConfiguracion: TsrvConfiguracion
ColumnMappings = <>
end>
Name = 'UpdateValor'
+ end
+ item
+ Params = <
+ item
+ Name = 'VALOR'
+ Value = ''
+ end
+ item
+ Name = 'VALOR_BLOB'
+ Value = ''
+ end
+ item
+ Name = 'CODIGO'
+ Value = ''
+ end
+ item
+ Name = 'ID_EMPRESA'
+ Value = ''
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ Default = True
+ SQL =
+ 'update CONFIGURACION'#10'set'#10'VALOR = :VALOR,'#10'VALOR_BLOB = :VALOR_BLO' +
+ 'B'#10'where CODIGO = :CODIGO'#10'AND ID_EMPRESA = :ID_EMPRESA'#10#10
+ StatementType = stSQL
+ ColumnMappings = <>
+ end>
+ Name = 'UpdateValorParaEmpresa'
end>
RelationShips = <>
UpdateRules = <>
diff --git a/Source/Servidor/Configuracion/srvConfiguracion_Impl.pas b/Source/Servidor/Configuracion/srvConfiguracion_Impl.pas
index c8e2cb6..9d794c8 100644
--- a/Source/Servidor/Configuracion/srvConfiguracion_Impl.pas
+++ b/Source/Servidor/Configuracion/srvConfiguracion_Impl.pas
@@ -10,7 +10,7 @@ unit srvConfiguracion_Impl;
interface
uses
- {vcl:} Classes, SysUtils,
+ {vcl:} Classes, SysUtils,
{RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,
{Ancestor Implementation:} DataAbstractService_Impl,
{Used RODLs:} DataAbstract4_Intf,
@@ -27,8 +27,10 @@ type
procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string);
protected
{ IsrvConfiguracion methods }
- function DarValor(const CODIGO: String; Const ValorPorDefecto: String = ''): String;
- procedure GuardarValor(const CODIGO: AnsiString; const Valor: AnsiString);
+ function darValor(const CODIGO: AnsiString; const ValorPorDefecto: String = ''): AnsiString;
+ function darValorParaEmpresa(const CODIGO: AnsiString; const ID_EMPRESA: Integer; const ValorPorDefecto: String = ''): AnsiString;
+ procedure guardarValor(const CODIGO: AnsiString; const Valor: String = '');
+ procedure guardarValorParaEmpresa(const CODIGO: AnsiString; const ID_EMPRESA: Integer; const Valor: String = '');
end;
implementation
@@ -91,13 +93,51 @@ begin
end;
end;
+function TsrvConfiguracion.darValorParaEmpresa(const CODIGO: AnsiString;
+ const ID_EMPRESA: Integer; const ValorPorDefecto: String): AnsiString;
+var
+ ADataSet : IDADataset;
+ ACurrentConn : IDAConnection;
+ ACommand : IDASQLCommand;
+begin
+ try
+ ADataSet := schConfiguracion.NewDataset(Connection, 'darValorParaEmpresa', ['CODIGO','ID_EMPRESA'], [CODIGO, ID_EMPRESA]);
+ ADataSet.Open;
+ if ADataSet.Dataset.RecordCount > 0 then
+ Result := ADataSet.Dataset.Fields[0].AsVariant
+ else
+ begin
+ Result := ValorPorDefecto;
+ //Creamos la variable de configuración con su valor por defecto
+ ACurrentConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
+ ACommand := schConfiguracion.NewCommand(ACurrentConn, 'InsertarValor');
+ try
+ with ACommand do
+ begin
+ ParamByName('CODIGO').Value := CODIGO;
+ ParamByName('VALOR').Value := ValorPorDefecto;
+ ParamByName('ID_EMPRESA').Value := ID_EMPRESA;
+ Execute;
+ ACurrentConn.CommitTransaction;
+ end;
+ except
+ ACurrentConn.RollbackTransaction;
+ end;
+ ACommand := NIL;
+// RaiseError('Falta variable de configuracion: ' + CODIGO);
+ end;
+ finally
+ ADataSet.Close;
+ end;
+end;
+
procedure TsrvConfiguracion.DataAbstractServiceBeforeAcquireConnection(
aSender: TObject; var aConnectionName: string);
begin
ConnectionName := dmServer.ConnectionName;
end;
-procedure TsrvConfiguracion.GuardarValor(const CODIGO: AnsiString; const Valor: AnsiString);
+procedure TsrvConfiguracion.GuardarValor(const CODIGO: AnsiString; const Valor: String = '');
var
ACurrentConn : IDAConnection;
ACommand : IDASQLCommand;
@@ -136,6 +176,33 @@ begin
ACommand := NIL;
end;
+procedure TsrvConfiguracion.guardarValorParaEmpresa(const CODIGO: AnsiString;
+ const ID_EMPRESA: Integer; const Valor: String);
+var
+ ACurrentConn : IDAConnection;
+ ACommand : IDASQLCommand;
+ st: TStringStream;
+ st2: IROStream;
+
+begin
+ //Creamos la variable de configuración con su valor por defecto
+ ACurrentConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
+ ACommand := schConfiguracion.NewCommand(ACurrentConn, 'UpdateValorParaEmpresa');
+ try
+ with ACommand do
+ begin
+ ParamByName('CODIGO').Value := CODIGO;
+ ParamByName('ID_EMPRESA').Value := ID_EMPRESA;
+ ParamByName('VALOR').Value := Valor;
+ Execute;
+ ACurrentConn.CommitTransaction;
+ end;
+ except
+ ACurrentConn.RollbackTransaction;
+ end;
+ ACommand := NIL;
+end;
+
initialization
TROClassFactory.Create('srvConfiguracion', Create_srvConfiguracion, TsrvConfiguracion_Invoker);
diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr
index 3f7b9cf..0dc6ee7 100644
--- a/Source/Servidor/FactuGES_Server.dpr
+++ b/Source/Servidor/FactuGES_Server.dpr
@@ -131,15 +131,15 @@ uses
schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas',
schContratosClienteClient_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteClient_Intf.pas',
schContratosClienteServer_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas',
- schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas',
- schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas',
schEmpresasClient_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas',
schEmpresasServer_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas',
srvSubfamilias_Impl in '..\Modulos\Subfamilias\Servidor\srvSubfamilias_Impl.pas' {srvSubfamilias: TDataAbstractService},
schSubfamiliasClient_Intf in '..\Modulos\Subfamilias\Model\schSubfamiliasClient_Intf.pas',
schSubfamiliasServer_Intf in '..\Modulos\Subfamilias\Model\schSubfamiliasServer_Intf.pas',
schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas',
- schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas';
+ schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas',
+ schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas',
+ schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas';
{$R *.res}
{$R ..\Servicios\RODLFile.res}
diff --git a/Source/Servidor/FactuGES_Server.res b/Source/Servidor/FactuGES_Server.res
index b12e9da..5e0d07b 100644
Binary files a/Source/Servidor/FactuGES_Server.res and b/Source/Servidor/FactuGES_Server.res differ