diff --git a/Source/Base/Utiles/uSistemaFunc.pas b/Source/Base/Utiles/uSistemaFunc.pas
index 3b25bacc..b50be476 100644
--- a/Source/Base/Utiles/uSistemaFunc.pas
+++ b/Source/Base/Utiles/uSistemaFunc.pas
@@ -50,11 +50,13 @@ function PreguntarFicheroExcelExportar (var Fichero : String) : Boolean;
function EscapeIllegalChars(AFileName: string): string;
function FindFile(const filespec: TFileName; attributes: integer = faReadOnly Or faHidden Or faSysFile Or faArchive): TStringList;
+function DarRutaFichero(const ARutaIni: String; const AFichero: String; const ADirectorio1: String = ''; const ADirectorio2: String = ''): Variant;
+
implementation
uses
- Windows, Dialogs, JclFileUtils,
+ Windows, Variants, Dialogs, JclFileUtils,
Messages, Graphics, Controls, Forms,
StdCtrls, SHFolder, cxShellBrowserDialog,
cxLookAndFeels, uStringsUtils;
@@ -435,4 +437,27 @@ begin
Result := DarRutaTemporal + Cadena + '\';
end;
-end.
+function DarRutaFichero(const ARutaIni: String; const AFichero: String; const ADirectorio1: String = ''; const ADirectorio2: String = ''): Variant;
+var
+ ARutaCompleta: String;
+begin
+ Result := Null;
+
+ ARutaCompleta := ARutaIni + '\' + ADirectorio1 + '\' + ADirectorio2 + '\' + AFichero;
+ if FileExists(ARutaCompleta) then
+ Result := ARutaCompleta
+ else
+ begin
+ ARutaCompleta := ARutaIni + '\' + ADirectorio1 + '\' + AFichero;
+ if FileExists(ARutaCompleta) then
+ Result := ARutaCompleta
+ else
+ begin
+ ARutaCompleta := ARutaIni + '\' + AFichero;
+ if FileExists(ARutaCompleta) then
+ Result := ARutaCompleta
+ end
+ end
+end;
+
+end.
diff --git a/Source/Informes/InfFacturaClienteAbeto.fr3 b/Source/Informes/1/3/InfFacturaCliente.fr3
similarity index 100%
rename from Source/Informes/InfFacturaClienteAbeto.fr3
rename to Source/Informes/1/3/InfFacturaCliente.fr3
diff --git a/Source/Informes/InfAlbaranCliente.fr3 b/Source/Informes/1/InfAlbaranCliente.fr3
similarity index 100%
rename from Source/Informes/InfAlbaranCliente.fr3
rename to Source/Informes/1/InfAlbaranCliente.fr3
diff --git a/Source/Informes/InfComision.fr3 b/Source/Informes/1/InfComision.fr3
similarity index 100%
rename from Source/Informes/InfComision.fr3
rename to Source/Informes/1/InfComision.fr3
diff --git a/Source/Informes/InfFacturaCliente.fr3 b/Source/Informes/1/InfFacturaCliente.fr3
similarity index 100%
rename from Source/Informes/InfFacturaCliente.fr3
rename to Source/Informes/1/InfFacturaCliente.fr3
diff --git a/Source/Informes/InfPresupuestoCliente.fr3 b/Source/Informes/1/InfPresupuestoCliente.fr3
similarity index 100%
rename from Source/Informes/InfPresupuestoCliente.fr3
rename to Source/Informes/1/InfPresupuestoCliente.fr3
diff --git a/Source/Informes/InfReciboCliente.fr3 b/Source/Informes/1/InfReciboCliente.fr3
similarity index 100%
rename from Source/Informes/InfReciboCliente.fr3
rename to Source/Informes/1/InfReciboCliente.fr3
diff --git a/Source/Informes/InfFichaEmpleado.fr3 b/Source/Informes/InfFichaEmpleado.fr3
deleted file mode 100644
index 75b3433b..00000000
--- a/Source/Informes/InfFichaEmpleado.fr3
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Source/Informes/InfPresupuestoCliente_anterior.fr3 b/Source/Informes/InfPresupuestoCliente_anterior.fr3
deleted file mode 100644
index a3d4f298..00000000
--- a/Source/Informes/InfPresupuestoCliente_anterior.fr3
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
index 07419e02..d42d5655 100644
--- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
+++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
@@ -26,12 +26,16 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
Name = 'ID_EMPRESA'
DataType = datInteger
end
+ item
+ Name = 'ID_TIENDA'
+ DataType = datInteger
+ end
item
Name = 'ID_CLIENTE'
DataType = datInteger
end
item
- Name = 'REFERENCIA'
+ Name = 'NOMBRE'
DataType = datString
Size = 255
end
@@ -40,13 +44,19 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
DataType = datString
Size = 255
end
+ item
+ Name = 'NIF_CIF'
+ DataType = datString
+ Size = 15
+ end
item
Name = 'FECHA_ALBARAN'
DataType = datDateTime
end
item
- Name = 'ID_PEDIDO'
- DataType = datInteger
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
end
item
Name = 'REFERENCIA_CLIENTE'
@@ -54,29 +64,24 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
Size = 255
end
item
- Name = 'OBSERVACIONES'
- DataType = datMemo
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
end
item
Name = 'REF_PEDIDO'
DataType = datString
Size = 255
end
- item
- Name = 'NOMBRE'
- DataType = datString
- Size = 255
- end
- item
- Name = 'CALLE'
- DataType = datString
- Size = 255
- end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
end
+ item
+ Name = 'POBLACION'
+ DataType = datString
+ Size = 255
+ end
item
Name = 'PROVINCIA'
DataType = datString
@@ -93,13 +98,17 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
Size = 25
end
item
- Name = 'POBLACION'
+ Name = 'CALLE'
DataType = datString
Size = 255
end
+ item
+ Name = 'OBSERVACIONES'
+ DataType = datMemo
+ end
item
Name = 'IMPORTE_TOTAL'
- DataType = datFloat
+ DataType = datCurrency
end
item
Name = 'FECHA_PREVISTA_ENVIO'
@@ -303,27 +312,28 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
TargetTable = 'ALBARANES_CLIENTE'
SQL =
'SELECT'#10' V_ALBARANES_CLIENTE.ID,'#10' V_ALBARANES_CLIENTE.ID_EMPRES' +
- 'A,'#10' V_ALBARANES_CLIENTE.ID_CLIENTE,'#10' V_ALBARANES_CLIENTE.NOMBR' +
- 'E,'#10' V_CLIENTES.NOMBRE_COMERCIAL,'#10' V_CLIENTES.NIF_CIF,'#10' V_ALBA' +
- 'RANES_CLIENTE.FECHA_ALBARAN,'#10' V_ALBARANES_CLIENTE.REFERENCIA,'#10' ' +
- ' V_ALBARANES_CLIENTE.REFERENCIA_CLIENTE,'#10' V_ALBARANES_CLIENTE.I' +
- 'D_PEDIDO,'#10' V_ALBARANES_CLIENTE.REF_PEDIDO,'#10' V_ALBARANES_CLIENT' +
- 'E.CODIGO_POSTAL,'#10' V_ALBARANES_CLIENTE.POBLACION,'#10' V_ALBARANES_' +
- 'CLIENTE.PROVINCIA,'#10' V_ALBARANES_CLIENTE.PERSONA_CONTACTO,'#10' V_A' +
- 'LBARANES_CLIENTE.TELEFONO,'#10' V_ALBARANES_CLIENTE.CALLE,'#10' V_ALBA' +
- 'RANES_CLIENTE.OBSERVACIONES,'#10' V_ALBARANES_CLIENTE.IMPORTE_TOTAL' +
- ','#10' V_ALBARANES_CLIENTE.FECHA_PREVISTA_ENVIO,'#10' EMPRESAS.NIF_CIF' +
- ' AS NIF_CIF_EMPRESA,'#10' EMPRESAS.NOMBRE AS NOMBRE_EMPRESA,'#10' EMPR' +
- 'ESAS.RAZON_SOCIAL AS RAZON_SOCIAL_EMPRESA,'#10' EMPRESAS.CALLE AS C' +
- 'ALLE_EMPRESA,'#10' EMPRESAS.CODIGO_POSTAL AS CODIGO_POSTAL_EMPRESA,' +
- #10' EMPRESAS.POBLACION AS POBLACION_EMPRESA,'#10' EMPRESAS.PROVINCIA' +
- ' AS PROVINCIA_EMPRESA,'#10' EMPRESAS.TELEFONO_1 AS TELEFONO_1_EMPRE' +
- 'SA,'#10' EMPRESAS.FAX AS FAX_EMPRESA,'#10' EMPRESAS.MOVIL_1 AS MOVIL_1' +
- '_EMPRESA,'#10' EMPRESAS.EMAIL_1 AS EMAIL_1_EMPRESA,'#10' EMPRESAS.PAGI' +
- 'NA_WEB AS PAGINA_WEB_EMPRESA'#10'FROM'#10' V_ALBARANES_CLIENTE'#10' LEFT' +
- ' OUTER JOIN V_CLIENTES ON (V_CLIENTES.ID = V_ALBARANES_CLIENTE.I' +
- 'D_CLIENTE)'#10' LEFT OUTER JOIN EMPRESAS ON (EMPRESAS.ID = V_ALBARA' +
- 'NES_CLIENTE.ID_EMPRESA)'#10'WHERE V_ALBARANES_CLIENTE.ID = :ID'#10
+ 'A,'#10' V_ALBARANES_CLIENTE.ID_TIENDA,'#10' V_ALBARANES_CLIENTE.ID_CLI' +
+ 'ENTE,'#10' V_ALBARANES_CLIENTE.NOMBRE,'#10' V_CLIENTES.NOMBRE_COMERCIA' +
+ 'L,'#10' V_CLIENTES.NIF_CIF,'#10' V_ALBARANES_CLIENTE.FECHA_ALBARAN,'#10' ' +
+ 'V_ALBARANES_CLIENTE.REFERENCIA,'#10' V_ALBARANES_CLIENTE.REFERENCIA' +
+ '_CLIENTE,'#10' V_ALBARANES_CLIENTE.ID_PEDIDO,'#10' V_ALBARANES_CLIENTE' +
+ '.REF_PEDIDO,'#10' V_ALBARANES_CLIENTE.CODIGO_POSTAL,'#10' V_ALBARANES_' +
+ 'CLIENTE.POBLACION,'#10' V_ALBARANES_CLIENTE.PROVINCIA,'#10' V_ALBARANE' +
+ 'S_CLIENTE.PERSONA_CONTACTO,'#10' V_ALBARANES_CLIENTE.TELEFONO,'#10' V_' +
+ 'ALBARANES_CLIENTE.CALLE,'#10' V_ALBARANES_CLIENTE.OBSERVACIONES,'#10' ' +
+ 'V_ALBARANES_CLIENTE.IMPORTE_TOTAL,'#10' V_ALBARANES_CLIENTE.FECHA_P' +
+ 'REVISTA_ENVIO,'#10' EMPRESAS.NIF_CIF AS NIF_CIF_EMPRESA,'#10' EMPRESAS' +
+ '.NOMBRE AS NOMBRE_EMPRESA,'#10' EMPRESAS.RAZON_SOCIAL AS RAZON_SOCI' +
+ 'AL_EMPRESA,'#10' EMPRESAS.CALLE AS CALLE_EMPRESA,'#10' EMPRESAS.CODIGO' +
+ '_POSTAL AS CODIGO_POSTAL_EMPRESA,'#10' EMPRESAS.POBLACION AS POBLAC' +
+ 'ION_EMPRESA,'#10' EMPRESAS.PROVINCIA AS PROVINCIA_EMPRESA,'#10' EMPRES' +
+ 'AS.TELEFONO_1 AS TELEFONO_1_EMPRESA,'#10' EMPRESAS.FAX AS FAX_EMPRE' +
+ 'SA,'#10' EMPRESAS.MOVIL_1 AS MOVIL_1_EMPRESA,'#10' EMPRESAS.EMAIL_1 AS' +
+ ' EMAIL_1_EMPRESA,'#10' EMPRESAS.PAGINA_WEB AS PAGINA_WEB_EMPRESA'#10'FR' +
+ 'OM'#10' V_ALBARANES_CLIENTE'#10' LEFT OUTER JOIN V_CLIENTES ON (V_CL' +
+ 'IENTES.ID = V_ALBARANES_CLIENTE.ID_CLIENTE)'#10' LEFT OUTER JOIN EM' +
+ 'PRESAS ON (EMPRESAS.ID = V_ALBARANES_CLIENTE.ID_EMPRESA)'#10'WHERE V' +
+ '_ALBARANES_CLIENTE.ID = :ID'#10
StatementType = stSQL
ColumnMappings = <
item
@@ -454,6 +464,10 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
DatasetField = 'NIF_CIF'
TableField = ''
SQLOrigin = 'NIF_CIF'
+ end
+ item
+ DatasetField = 'ID_TIENDA'
+ TableField = 'ID_TIENDA'
end>
end>
Name = 'Informe_Cabecera'
@@ -466,6 +480,10 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
Name = 'ID_EMPRESA'
DataType = datInteger
end
+ item
+ Name = 'ID_TIENDA'
+ DataType = datInteger
+ end
item
Name = 'ID_CLIENTE'
DataType = datInteger
diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
index 31e33f09..fbf4eb6c 100644
--- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
+++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
@@ -30,9 +30,9 @@ type
tbl_Etiquetas: TDAMemDataTable;
DADataEtiquetas: TDADataSource;
frxDBEtiquetas: TfrxDBDataset;
+ frxPDFExport1: TfrxPDFExport;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
- frxPDFExport1: TfrxPDFExport;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
@@ -49,7 +49,7 @@ implementation
{$R *.dfm}
uses
- uDataModuleServer, schAlbaranesClienteClient_Intf;
+ uSistemaFunc, uDataModuleServer, schAlbaranesClienteClient_Intf;
const
rptInfAlbaran = 'InfAlbaranCliente.fr3';
@@ -99,6 +99,9 @@ begin
end;
procedure TRptAlbaranesCliente._GenerarAlbaran(const ID: integer);
+var
+ AInforme: Variant;
+
begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try
@@ -107,7 +110,11 @@ begin
tbl_Cabecera.Active := True;
tbl_Detalles.Active := True;
- frxReport.LoadFromFile(DarRutaInformes + rptInfAlbaran, True);
+ AInforme := DarRutaFichero(DarRutaInformes, rptInfAlbaran, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString);
+ if VarIsNull(AInforme) then
+ raise Exception.Create (('Error Servidor: _GenerarAlbaran, no encuentra informe' + rptInfAlbaran));
+
+ frxReport.LoadFromFile(AInforme, True);
frxReport.PrepareReport(False);
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
@@ -115,10 +122,9 @@ begin
end;
function TRptAlbaranesCliente.GenerarEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary;
-{var
- dsMaster: IDADataset;
- dsDetail: IDADataset;
- AStream: TMemoryStream;}
+var
+ AInforme: Variant;
+
begin
Result := Binary.Create;
FConnection.BeginTransaction;
@@ -127,7 +133,11 @@ begin
tbl_Etiquetas.ParamByName('ID_ALBARAN').AsInteger := AID;
tbl_Etiquetas.Active := True;
- frxReport.LoadFromFile(DarRutaInformes + rptInfEtiquetas, True);
+ AInforme := DarRutaFichero(DarRutaInformes, rptInfEtiquetas);
+ if VarIsNull(AInforme) then
+ raise Exception.Create (('Error Servidor: GenerarEtiquetas, no encuentra informe' + rptInfEtiquetas));
+
+ frxReport.LoadFromFile(AInforme, True);
if withRefCliente then
frxReport.Variables.Variables['withRefCliente'] := 1
else
@@ -138,35 +148,6 @@ begin
finally
FConnection.RollbackTransaction;
end;
-
-{
- AStream := TMemoryStream.Create;
- Result := Binary.Create;
- FConnection.BeginTransaction;
- try
- dsMaster := schReport.NewDataset(FConnection, ds_InformeCabecera, ['ID'], [AID]);
- dsDetail := schReport.NewDataset(FConnection, ds_InformeDetallesEtiquetas, ['ID_ALBARAN'], [AID], False);
-
- AStream.Clear;
- DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
- DABINAdapter.ReadDataset(AStream, tbl_Cabecera, TRUE, '', TRUE, TRUE);
-
- AStream.Clear;
- DABINAdapter.WriteDataset(AStream, dsDetail, [woRows, woSchema], -1);
- DABINAdapter.ReadDataset(AStream, tbl_Detalles, TRUE, '', TRUE, TRUE);
-
- frxReport.LoadFromFile(DarRutaInformes + rptInfEtiquetas, True);
- if withRefCliente then
- frxReport.Variables.Variables['withRefCliente'] := 1
- else
- frxReport.Variables.Variables['withRefCliente'] := 0;
- frxReport.PrepareReport(False);
- frxReport.PreviewPages.SaveToStream(Result);
- finally
- AStream.Free;
- FConnection.RollbackTransaction;
- end;
-}
end;
end.
diff --git a/Source/Modulos/Comisiones/Reports/uRptComisiones_Server.pas b/Source/Modulos/Comisiones/Reports/uRptComisiones_Server.pas
index a83c51e7..87482586 100644
--- a/Source/Modulos/Comisiones/Reports/uRptComisiones_Server.pas
+++ b/Source/Modulos/Comisiones/Reports/uRptComisiones_Server.pas
@@ -45,7 +45,7 @@ implementation
{$R *.dfm}
uses
- uDataModuleServer;
+ uSistemaFunc, uDataModuleServer;
const
rptComision = 'InfComision.fr3';
@@ -60,6 +60,9 @@ begin
end;
procedure TRptComisiones.GenerarComision(const ID: integer);
+var
+ AInforme: Variant;
+
begin
FConnection.BeginTransaction;
try
@@ -70,7 +73,11 @@ begin
tbl_Facturas.Active := True;
tbl_Vendedores.Active := True;
- frxReport.LoadFromFile(DarRutaInformes + rptComision, True);
+ AInforme := DarRutaFichero(DarRutaInformes, rptComision, tbl_Comisiones.FieldByName('ID_EMPRESA').AsString);
+ if VarIsNull(AInforme) then
+ raise Exception.Create (('Error Servidor: GenerarComision, no encuentra informe' + rptComision));
+
+ frxReport.LoadFromFile(AInforme, True);
frxReport.PrepareReport(False);
finally
FConnection.RollbackTransaction;
diff --git a/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas b/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas
index 86668376..ddb08557 100644
--- a/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas
+++ b/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas
@@ -37,7 +37,7 @@ implementation
{$R *.dfm}
uses
- uDataModuleServer, schContactosClient_Intf;
+ uSistemaFunc, uDataModuleServer, schContactosClient_Intf;
const
rptEtiquetasContacto = 'InfEtiquetasContacto.fr3';
@@ -57,6 +57,9 @@ begin
end;
function TRptEtiquetasContacto.GenerarInforme(const AID: String): Binary;
+var
+ AInforme: Variant;
+
begin
Result := Binary.Create;
@@ -75,10 +78,12 @@ begin
tbl_Contactos.Where.AddCondition(fld_ContactosID, cIn, '(' + AID + ')');
tbl_Contactos.Active := True;
+ AInforme := DarRutaFichero(DarRutaInformes, rptEtiquetasContacto);
+ if VarIsNull(AInforme) then
+ raise Exception.Create (('Error Servidor: GenerarInforme, no encuentra informe' + rptEtiquetasContacto));
- frxReport.LoadFromFile(DarRutaInformes + rptEtiquetasContacto, True);
+ frxReport.LoadFromFile(AInforme, True);
frxReport.PrepareReport(True);
-
frxReport.PreviewPages.SaveToStream(Result);
finally
diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas
index 9c6ed7b8..a00fb9fb 100644
--- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas
+++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas
@@ -52,11 +52,10 @@ implementation
{$R *.dfm}
uses
- uDataModuleServer, schFacturasClienteClient_Intf;
+ uSistemaFunc, uDataModuleServer, schFacturasClienteClient_Intf;
const
rptFacturaCliente = 'InfFacturaCliente.fr3';
- rptFacturaClienteAbeto = 'InfFacturaClienteAbeto.fr3';
rptInformeIVA = 'InformeIVAClientes.fr3';
rptInformeIVADesglosado = 'InformeIVAClientesDesglosado.fr3';
@@ -158,6 +157,9 @@ begin
end;
procedure TRptFacturasCliente._GenerarFactura(const ID: integer);
+var
+ AInforme: Variant;
+
begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try
@@ -173,12 +175,11 @@ begin
tbl_Detalles.Active := True;
tbl_Vencimientos.Active := True;
-// frxReport.LoadFromFile(DarRutaInformes + tbl_Cabecera.FieldByName('ID_EMPRESA').AsString + '\' + rptFacturaCliente, True);
- if (tbl_Cabecera.FieldByName('ID_TIENDA').AsInteger <> 3) then
- frxReport.LoadFromFile(DarRutaInformes + rptFacturaCliente, True)
- else
- frxReport.LoadFromFile(DarRutaInformes + rptFacturaClienteAbeto, True);
+ AInforme := DarRutaFichero(DarRutaInformes, rptFacturaCliente, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString);
+ if VarIsNull(AInforme) then
+ raise Exception.Create (('Error Servidor: _GenerarFactura, no encuentra informe' + rptFacturaCliente));
+ frxReport.LoadFromFile(AInforme, True);
frxReport.PrepareReport(False);
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
@@ -191,6 +192,7 @@ function TRptFacturasCliente._GenerarInforme(const TipoInforme: String;
var
Condicion: TDAWhereExpression;
i: Integer;
+ AInforme: Variant;
begin
Result := Binary.Create;
@@ -263,11 +265,13 @@ begin
tbl_InformeListadoFacturas.Active := True;
- frxReport.LoadFromFile(DarRutaInformes + TipoInforme, True);
-// frxReport.LoadFromFile(DarRutaInformes + IntToStr(IdEmpresa) + '\' + TipoInforme, True);
+ AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, tbl_InformeListadoFacturas.FieldByName('ID_EMPRESA').AsString);
+ if VarIsNull(AInforme) then
+ raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe' + TipoInforme));
+
+ frxReport.LoadFromFile(AInforme, True);
frxReport.Variables.Variables['FechaInicio'] := FechaInicio;
frxReport.Variables.Variables['FechaFin'] := FechaFin;
-
frxReport.PrepareReport(False);
frxReport.PreviewPages.SaveToStream(Result);
diff --git a/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas b/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas
index 1ecb3230..4a9e9f32 100644
--- a/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas
+++ b/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas
@@ -42,7 +42,7 @@ implementation
{$R *.dfm}
uses
- uDataModuleServer, schFacturasProveedorClient_Intf;
+ uSistemaFunc, uDataModuleServer, schFacturasProveedorClient_Intf;
const
rptFacturaProveedor = 'InfFacturaProveedor.fr3';
@@ -138,6 +138,7 @@ function TRptFacturasProveedor._GenerarInforme(const TipoInforme: String;
var
Condicion: TDAWhereExpression;
i: Integer;
+ AInforme: Variant;
begin
Result := Binary.Create;
@@ -209,8 +210,11 @@ begin
tbl_InformeListadoFacturas.Active := True;
- frxReport.LoadFromFile(DarRutaInformes + TipoInforme, True);
-// frxReport.LoadFromFile(DarRutaInformes + IntToStr(IdEmpresa) + '\' + TipoInforme, True);
+ AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, tbl_InformeListadoFacturas.FieldByName('ID_EMPRESA').AsString);
+ if VarIsNull(AInforme) then
+ raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe' + TipoInforme));
+
+ frxReport.LoadFromFile(AInforme, True);
frxReport.Variables.Variables['FechaInicio'] := FechaInicio;
frxReport.Variables.Variables['FechaFin'] := FechaFin;
diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm
index 65573933..b1975146 100644
--- a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm
@@ -200,14 +200,14 @@ object RptPresupuestosCliente: TRptPresupuestosCliente
Connection = 'IBX'
TargetTable = 'V_PRESUPUESTOS_CLIENTE'
SQL =
- 'SELECT '#10' ID, ID_EMPRESA, FECHA_PRESUPUESTO, FECHA_DECISION, '#10 +
- ' REFERENCIA, SITUACION, ID_CLIENTE, NIF_CIF, NOMBRE, '#10' REF' +
- 'ERENCIA_CLIENTE, CLIENTE_FINAL, PORTADA, MEMORIA, '#10' OBSERVACI' +
- 'ONES, INCIDENCIAS, INCIDENCIAS_ACTIVAS, FECHA_ALTA, '#10' FECHA_M' +
- 'ODIFICACION, USUARIO, IMPORTE_NETO, IMPORTE_PORTE, '#10' DESCUENT' +
- 'O, IMPORTE_DESCUENTO, BASE_IMPONIBLE, IVA, '#10' IMPORTE_IVA, IMP' +
- 'ORTE_TOTAL, ID_FORMA_PAGO'#10' FROM'#10' V_PRESUPUESTOS_CLIENTE'#10' WH' +
- 'ERE V_PRESUPUESTOS_CLIENTE.ID = :ID'#10
+ 'SELECT '#10' ID, ID_EMPRESA, ID_TIENDA, FECHA_PRESUPUESTO, FECHA_' +
+ 'DECISION,'#10' REFERENCIA, SITUACION, ID_CLIENTE, NIF_CIF, NOMBRE' +
+ ', '#10' REFERENCIA_CLIENTE, CLIENTE_FINAL, PORTADA, MEMORIA, '#10' ' +
+ ' OBSERVACIONES, INCIDENCIAS, INCIDENCIAS_ACTIVAS, FECHA_ALTA, '#10' ' +
+ ' FECHA_MODIFICACION, USUARIO, IMPORTE_NETO, IMPORTE_PORTE, '#10' ' +
+ ' DESCUENTO, IMPORTE_DESCUENTO, BASE_IMPONIBLE, IVA, '#10' IMPORT' +
+ 'E_IVA, IMPORTE_TOTAL, ID_FORMA_PAGO'#10' FROM'#10' V_PRESUPUESTOS_CL' +
+ 'IENTE'#10' WHERE V_PRESUPUESTOS_CLIENTE.ID = :ID'#10
StatementType = stSQL
ColumnMappings = <
item
@@ -321,6 +321,10 @@ object RptPresupuestosCliente: TRptPresupuestosCliente
item
DatasetField = 'ID_FORMA_PAGO'
TableField = 'ID_FORMA_PAGO'
+ end
+ item
+ DatasetField = 'ID_TIENDA'
+ TableField = 'ID_TIENDA'
end>
end>
Name = 'Informe_Cabecera'
@@ -335,6 +339,10 @@ object RptPresupuestosCliente: TRptPresupuestosCliente
Name = 'ID_EMPRESA'
DataType = datInteger
end
+ item
+ Name = 'ID_TIENDA'
+ DataType = datInteger
+ end
item
Name = 'FECHA_PRESUPUESTO'
DataType = datDateTime
@@ -712,6 +720,10 @@ object RptPresupuestosCliente: TRptPresupuestosCliente
Name = 'ID_EMPRESA'
DataType = datInteger
end
+ item
+ Name = 'ID_TIENDA'
+ DataType = datInteger
+ end
item
Name = 'FECHA_PRESUPUESTO'
DataType = datDateTime
diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas
index e2fa2459..34ae60f8 100644
--- a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas
+++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas
@@ -54,7 +54,7 @@ implementation
{$R *.dfm}
uses
- uDataModuleServer, schPresupuestosClienteClient_Intf;
+ uSistemaFunc, uDataModuleServer, schPresupuestosClienteClient_Intf;
const
rptInforme = 'InfPresupuestoCliente.fr3';
@@ -132,6 +132,7 @@ function TRptPresupuestosCliente._GenerarInforme(const TipoInforme: String;
var
Condicion: TDAWhereExpression;
i: Integer;
+ AInforme: Variant;
begin
Result := Binary.Create;
@@ -204,8 +205,11 @@ begin
tbl_InformeListadoPresupuestos.Active := True;
- frxReport.LoadFromFile(DarRutaInformes + TipoInforme, True);
-// frxReport.LoadFromFile(DarRutaInformes + IntToStr(IdEmpresa) + '\' + TipoInforme, True);
+ AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, tbl_InformeListadoPresupuestos.FieldByName('ID_EMPRESA').AsString);
+ if VarIsNull(AInforme) then
+ raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe' + TipoInforme));
+
+ frxReport.LoadFromFile(AInforme, True);
frxReport.Variables.Variables['FechaInicio'] := FechaInicio;
frxReport.Variables.Variables['FechaFin'] := FechaFin;
@@ -218,6 +222,9 @@ begin
end;
procedure TRptPresupuestosCliente._GenerarPresupuesto(const AID: Integer);
+var
+ AInforme: Variant;
+
begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try
@@ -228,7 +235,11 @@ begin
tbl_Cabecera.Active := True;
tbl_Detalles.Active := True;
- frxReport.LoadFromFile(DarRutaInformes + rptInforme, True);
+ AInforme := DarRutaFichero(DarRutaInformes, rptInforme, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString);
+ if VarIsNull(AInforme) then
+ raise Exception.Create (('Error Servidor: _GenerarPresupuesto, no encuentra informe' + rptInforme));
+
+ frxReport.LoadFromFile(AInforme, True);
frxReport.PrepareReport(False);
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
diff --git a/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas b/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas
index 0cdadfca..70820e9a 100644
--- a/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas
+++ b/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas
@@ -48,7 +48,7 @@ implementation
{$R *.dfm}
uses
- uDataModuleServer, schRecibosClienteClient_Intf;
+ uSistemaFunc, uDataModuleServer, schRecibosClienteClient_Intf;
const
rptInforme = 'InfReciboCliente.fr3';
@@ -138,6 +138,7 @@ function TRptRecibosCliente._GenerarInforme(const TipoInforme: String;
var
Condicion: TDAWhereExpression;
i: Integer;
+ AInforme: Variant;
begin
Result := Binary.Create;
@@ -209,8 +210,11 @@ begin
tbl_InformeListadoRecibos.Active := True;
- frxReport.LoadFromFile(DarRutaInformes + TipoInforme, True);
-// frxReport.LoadFromFile(DarRutaInformes + IntToStr(IdEmpresa) + '\' + TipoInforme, True);
+ AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, tbl_InformeListadoRecibos.FieldByName('ID_EMPRESA').AsString);
+ if VarIsNull(AInforme) then
+ raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe' + TipoInforme));
+
+ frxReport.LoadFromFile(AInforme, True);
frxReport.Variables.Variables['FechaInicio'] := FechaInicio;
frxReport.Variables.Variables['FechaFin'] := FechaFin;
@@ -223,6 +227,9 @@ begin
end;
procedure TRptRecibosCliente._GenerarRecibo(const ID: Integer);
+var
+ AInforme: Variant;
+
begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try
@@ -235,8 +242,11 @@ begin
tbl_Cabecera.Active := True;
tbl_Compensados.Active := True;
- frxReport.LoadFromFile(DarRutaInformes + rptInforme, True);
-// frxReport.LoadFromFile(DarRutaInformes + tbl_Cabecera.FieldByName('ID_EMPRESA').AsString + '\' + rptInforme, True);
+ AInforme := DarRutaFichero(DarRutaInformes, rptInforme, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString);
+ if VarIsNull(AInforme) then
+ raise Exception.Create (('Error Servidor: _GenerarRecibo, no encuentra informe' + rptInforme));
+
+ frxReport.LoadFromFile(AInforme, True);
frxReport.PrepareReport(False);
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
diff --git a/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas b/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas
index 05e48f86..b5efee19 100644
--- a/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas
+++ b/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas
@@ -40,7 +40,7 @@ implementation
{$R *.dfm}
uses
- uDataModuleServer, schRecibosProveedorClient_Intf;
+ uSistemaFunc, uDataModuleServer, schRecibosProveedorClient_Intf;
const
rptInformeListadoRecibosProveedorDesglosado = 'InformeListadoRecibosProveedorDesglosado.fr3';
@@ -117,6 +117,7 @@ function TRptRecibosProveedor._GenerarInforme(const TipoInforme: String;
var
Condicion: TDAWhereExpression;
i: Integer;
+ AInforme: Variant;
begin
Result := Binary.Create;
@@ -188,8 +189,11 @@ begin
tbl_InformeListadoRecibos.Active := True;
- frxReport.LoadFromFile(DarRutaInformes + TipoInforme, True);
-// frxReport.LoadFromFile(DarRutaInformes + IntToStr(IdEmpresa) + '\' + TipoInforme, True);
+ AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, tbl_InformeListadoRecibos.FieldByName('ID_EMPRESA').AsString);
+ if VarIsNull(AInforme) then
+ raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe' + TipoInforme));
+
+ frxReport.LoadFromFile(AInforme, True);
frxReport.Variables.Variables['FechaInicio'] := FechaInicio;
frxReport.Variables.Variables['FechaFin'] := FechaFin;