From 9c42c970079e2a1aa43558483d049f04af77927d Mon Sep 17 00:00:00 2001 From: david Date: Mon, 1 Dec 2008 11:42:52 +0000 Subject: [PATCH] =?UTF-8?q?Informes=20->=20arreglo=20en=20la=20localizaci?= =?UTF-8?q?=C3=B3n=20de=20los=20ficheros=20de=20informes=20(dependencia=20?= =?UTF-8?q?de=20empresa)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@789 0c75b7a4-871f-7646-8a2f-f78d34cc349f --- .../Reports/uRptAlbaranesCliente_Server.pas | 2 +- .../Reports/uRptEtiquetasContacto_Server.pas | 2 +- .../Reports/uRptFichasEmpleado_Server.pas | 2 +- .../Reports/uRptFacturasCliente_Server.pas | 6 +- .../Reports/uRptFacturasProveedor_Server.pas | 4 +- .../Servidor/srvGestorInformes_Impl.dfm | 72 ---------- .../Servidor/srvGestorInformes_Impl.pas | 131 ------------------ .../Reports/uRptPedidosProveedor_Server.pas | 6 +- .../uRptPresupuestosCliente_Server.pas | 6 +- .../Reports/uRptRecibosCliente_Server.pas | 6 +- .../Reports/uRptRecibosProveedor_Server.pas | 4 +- .../Reports/uRptRemesasCliente_Server.pas | 2 +- .../Reports/uRptRemesasProveedor_Server.pas | 2 +- 13 files changed, 21 insertions(+), 224 deletions(-) diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas index 1c977060..8ac4a355 100644 --- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas +++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas @@ -151,7 +151,7 @@ begin AInforme := DarRutaFichero(DarRutaInformes, rptInforme, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: _GenerarFactura, no encuentra informe' + rptInforme)); + raise Exception.Create (('Error Servidor: _GenerarFactura, no encuentra informe ' + rptInforme)); frxReport.LoadFromFile(AInforme, True); frxReport.PrepareReport(False); diff --git a/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas b/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas index 706f17b3..a41f84e5 100644 --- a/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas +++ b/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas @@ -91,7 +91,7 @@ begin AInforme := DarRutaFichero(DarRutaInformes, rptEtiquetasContacto); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: GenerarInforme, no encuentra informe' + rptEtiquetasContacto)); + raise Exception.Create (('Error Servidor: GenerarInforme, no encuentra informe ' + rptEtiquetasContacto)); frxReport.LoadFromFile(AInforme, True); frxReport.PrepareReport(True); diff --git a/Source/Modulos/Contactos/Reports/uRptFichasEmpleado_Server.pas b/Source/Modulos/Contactos/Reports/uRptFichasEmpleado_Server.pas index 6f701fc1..c31278ff 100644 --- a/Source/Modulos/Contactos/Reports/uRptFichasEmpleado_Server.pas +++ b/Source/Modulos/Contactos/Reports/uRptFichasEmpleado_Server.pas @@ -91,7 +91,7 @@ begin AInforme := DarRutaFichero(DarRutaInformes, rptFichaEmpleado); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: _GenerarFicha, no encuentra informe' + rptFichaEmpleado)); + raise Exception.Create (('Error Servidor: _GenerarFicha, no encuentra informe ' + rptFichaEmpleado)); frxReport.LoadFromFile(AInforme, True); frxReport.PrepareReport(False); diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas index ff86aac2..cf40b498 100644 --- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas +++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas @@ -251,7 +251,7 @@ begin AInforme := DarRutaFichero(DarRutaInformes, rptFacturaCliente, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: _GenerarFactura, no encuentra informe' + rptFacturaCliente)); + raise Exception.Create (('Error Servidor: _GenerarFactura, no encuentra informe ' + rptFacturaCliente)); frxReport.LoadFromFile(AInforme, True); if VerSello then @@ -343,9 +343,9 @@ begin tbl_InformeListadoFacturas.Active := True; - AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, tbl_InformeListadoFacturas.FieldByName('ID_EMPRESA').AsString); + AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, IntToStr(IdEmpresa)); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe' + TipoInforme)); + raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe ' + TipoInforme)); frxReport.LoadFromFile(AInforme, True); frxReport.Variables.Variables['FechaInicio'] := FechaInicio; diff --git a/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas b/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas index 1db6cba1..8645cf48 100644 --- a/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas +++ b/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas @@ -265,9 +265,9 @@ begin tbl_InformeListadoFacturas.Active := True; - AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, tbl_InformeListadoFacturas.FieldByName('ID_EMPRESA').AsString); + AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, IntToStr(IdEmpresa)); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe' + TipoInforme)); + raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe ' + TipoInforme)); frxReport.LoadFromFile(AInforme, True); frxReport.Variables.Variables['FechaInicio'] := FechaInicio; diff --git a/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.dfm b/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.dfm index 0b32f5d2..00a2ec96 100644 --- a/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.dfm +++ b/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.dfm @@ -5,15 +5,9 @@ object srvGestorInformes: TsrvGestorInformes ServiceDataStreamer = Bin2DataStreamer ExportedDataTables = < item - DataTable = dtComboDataset - LogicalName = 'ComboDataset' end item - DataTable = dtWindowsDir - LogicalName = 'DirectoryData' end> - BeforeGetDatasetData = DataAbstractServiceBeforeGetDatasetData - ValidateDatasetAccess = DataAbstractServiceValidateDatasetAccess Height = 162 Width = 313 object Schema: TDASchema @@ -36,72 +30,6 @@ object srvGestorInformes: TsrvGestorInformes Left = 32 Top = 64 end - object dtComboDataset: TDAMemDataTable - RemoteUpdatesOptions = [] - Fields = < - item - Name = 'AutoIncField' - DataType = datAutoInc - InPrimaryKey = True - end - item - Name = 'TextField' - DataType = datString - Size = 50 - DisplayWidth = 50 - end> - Params = < - item - Name = 'CustomParameter' - DataType = datString - Size = 50 - Value = '' - ParamType = daptInput - end> - MasterMappingMode = mmDataRequest - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteFetchEnabled = False - LocalDataStreamer = Bin2DataStreamer - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] - LogicalName = 'ComboDataset' - IndexDefs = <> - Left = 128 - Top = 56 - end - object dtWindowsDir: TDAMemDataTable - RemoteUpdatesOptions = [] - Fields = < - item - Name = 'FileName' - DataType = datString - Size = 200 - DisplayWidth = 50 - InPrimaryKey = True - end - item - Name = 'FileSize' - DataType = datInteger - end> - Params = < - item - Name = 'Directory' - DataType = datString - Size = 200 - Value = '' - ParamType = daptInput - end> - MasterMappingMode = mmDataRequest - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteFetchEnabled = False - LocalDataStreamer = Bin2DataStreamer - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] - LogicalName = 'DirectoryData' - IndexDefs = <> - Left = 216 - Top = 56 - end object Bin2DataStreamer: TDABin2DataStreamer Left = 32 Top = 8 diff --git a/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.pas b/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.pas index 72ba3ab6..0e58857b 100644 --- a/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.pas +++ b/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.pas @@ -28,22 +28,8 @@ const type { TGestorInformes } TsrvGestorInformes = class(TDataAbstractService, IsrvGestorInformes) - dtComboDataset: TDAMemDataTable; - dtWindowsDir: TDAMemDataTable; Schema: TDASchema; Bin2DataStreamer: TDABin2DataStreamer; - procedure DataAbstractServiceBeforeGetDatasetData(aSender: TObject; - const aDataset: IDADataset; const aIncludeSchema: Boolean; - const aMaxRecords: Integer); - procedure DataAbstractServiceValidateDatasetAccess(Sender: TObject; - const aConnection: IDAConnection; const aDatasetName: string; - const aParamNames: array of string; - const aParamValues: array of Variant; aSchema: TDASchema; - var Allowed: Boolean); - private - procedure FillComboDataset(const aDataset: IDAEditableDataset); - procedure FillWinDirDataset(const aDataset: IDAEditableDataset); - public //MODULO PRESUPUESTOS CLIENTE function GenerarInformeListadoPresupuestos(const IdEmpresa: Integer; const FechaInicio: DateTime; const FechaFin: DateTime; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; @@ -83,89 +69,6 @@ begin anInstance := TsrvGestorInformes.Create(nil); end; -procedure TsrvGestorInformes.FillComboDataset(const aDataset: IDAEditableDataset); -var - employees, - customers, - regions: IDADataset; - textfield: TDAField; -begin -{ - with aDataset do begin - // Opens the in memory data table - Open; - textfield := FieldByName('TextField'); - - // Adds 3 dummy records - Insert; - textfield.AsString := 'String A'; - Post; - - Insert; - textfield.AsString := 'String B'; - Post; - - Insert; - textfield.AsString := 'String C'; - Post; - - // Fetches data from other datasets, according to the value of the parameter "CustomParameter" - if (Pos('EMPLOYEES', UpperCase(ParamByName('CustomParameter').AsString)) > 0) then begin - employees := Schema.NewDataset(Connection, ds_Employees, [], [], TRUE); - while not employees.EOF do begin - Insert; - textfield.AsString := employees.FieldByName('FirstName').AsString + ' ' + employees.FieldByName('LastName').AsString; - Post; - - employees.Next; - end; - employees:=nil; - end; - if (Pos('CUSTOMERS', UpperCase(ParamByName('CustomParameter').AsString)) > 0) then begin - customers := Schema.NewDataset(Connection, ds_Customers, [], [], TRUE); - while not customers.EOF do begin - Insert; - textfield.AsString := customers.FieldByName('CompanyName').AsString; - Post; - - customers.Next; - end; - customers := nil; - end; - if (Pos('REGIONS', UpperCase(ParamByName('CustomParameter').AsString)) > 0) then begin - regions := Schema.NewDataset(Connection, ds_Regions, [], [], TRUE); - while not regions.EOF do begin - Insert; - textfield.AsString := regions.FieldByName('RegionDescription').AsString; - Post; - - regions.Next; - end; - regions := nil; - end; - end; -} -end; - -procedure TsrvGestorInformes.FillWinDirDataset(const aDataset: IDAEditableDataset); -var - dirinfo: TSearchRec; -begin - aDataset.Open; -{ - if (FindFirst(IncludeTrailingPathDelimiter(aDataset.ParamByName('Directory').AsString) + '*.*', faArchive, dirinfo) = 0) then repeat -} - aDataset.Insert; - - aDataset.FieldByName('FileName').AsString := 'hola'; - aDataset.FieldByName('FileSize').AsInteger := 10; - - aDataset.Post; -{ - until (FindNext(dirinfo) <> 0); -} -end; - function TsrvGestorInformes.GenerarInformeIVAClientes(const IdEmpresa: Integer; const FechaInicio: DateTime; const FechaFin: DateTime; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; var AReportGenerator : TRptFacturasCliente; @@ -340,40 +243,6 @@ begin end; end; -procedure TsrvGestorInformes.DataAbstractServiceBeforeGetDatasetData( - aSender: TObject; const aDataset: IDADataset; - const aIncludeSchema: Boolean; const aMaxRecords: Integer); -begin - if SameText(aDataset.LogicalName, dtComboDataset.LogicalName) then - FillComboDataset((dtComboDataset as IDAEditableDataset)) - else if SameText(aDataset.LogicalName, dtWindowsDir.LogicalName) then - FillWinDirDataset((dtWindowsDir as IDAEditableDataset)); -end; - -procedure TsrvGestorInformes.DataAbstractServiceValidateDatasetAccess( - Sender: TObject; const aConnection: IDAConnection; - const aDatasetName: string; const aParamNames: array of string; - const aParamValues: array of Variant; aSchema: TDASchema; - var Allowed: Boolean); - - procedure FillParameters(aDataSet: TDAMemDataTable); - var - i: integer; - begin - for i := Low(aParamNames) to High(aParamNames) do - begin - showmessage(aParamValues[i]); - aDataset.ParamByName(aParamNames[i]).Value := aParamValues[i]; - end; - end; - -begin - if SameText(aDatasetName, dtComboDataset.LogicalName) then - FillParameters(dtComboDataset) - else if SameText(aDatasetName, dtWindowsDir.LogicalName) then - FillParameters(dtWindowsDir) -end; - initialization TROClassFactory.Create('srvGestorInformes', Create_srvGestorInformes, TsrvGestorInformes_Invoker); diff --git a/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.pas b/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.pas index 5b1f3181..49e6dda1 100644 --- a/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.pas +++ b/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.pas @@ -243,9 +243,9 @@ begin tbl_InformeListadoPedidos.Active := True; - AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, tbl_InformeListadoPedidos.FieldByName('ID_EMPRESA').AsString); + AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, IntToStr(IdEmpresa)); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe' + TipoInforme)); + raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe ' + TipoInforme)); frxReport.LoadFromFile(AInforme, True); frxReport.Variables.Variables['FechaInicio'] := FechaInicio; @@ -276,7 +276,7 @@ begin AInforme := DarRutaFichero(DarRutaInformes, rptInforme, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: _GenerarPedido, no encuentra informe' + rptInforme)); + raise Exception.Create (('Error Servidor: _GenerarPedido, no encuentra informe ' + rptInforme)); frxReport.LoadFromFile(AInforme, True); frxReport.PrepareReport(False); diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas index 73039244..63a71d2a 100644 --- a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas +++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas @@ -248,9 +248,9 @@ begin tbl_InformeListadoPresupuestos.Active := True; - AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, tbl_InformeListadoPresupuestos.FieldByName('ID_EMPRESA').AsString); + AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, IntToStr(IdEmpresa)); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe' + TipoInforme)); + raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe ' + TipoInforme)); frxReport.LoadFromFile(AInforme, True); frxReport.Variables.Variables['FechaInicio'] := FechaInicio; @@ -287,7 +287,7 @@ begin AInforme := DarRutaFichero(DarRutaInformes, rptInforme, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: _GenerarPresupuesto, no encuentra informe' + rptInforme)); + raise Exception.Create (('Error Servidor: _GenerarPresupuesto, no encuentra informe ' + rptInforme)); frxReport.LoadFromFile(AInforme, True); frxReport.PrepareReport(False); diff --git a/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas b/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas index fa4f4473..62915073 100644 --- a/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas +++ b/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas @@ -216,9 +216,9 @@ begin tbl_InformeListadoRecibos.Active := True; - AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, tbl_InformeListadoRecibos.FieldByName('ID_EMPRESA').AsString); + AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, IntToStr(IdEmpresa)); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe' + TipoInforme)); + raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe ' + TipoInforme)); frxReport.LoadFromFile(AInforme, True); frxReport.Variables.Variables['FechaInicio'] := FechaInicio; @@ -250,7 +250,7 @@ begin AInforme := DarRutaFichero(DarRutaInformes, rptInforme, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: _GenerarRecibo, no encuentra informe' + rptInforme)); + raise Exception.Create (('Error Servidor: _GenerarRecibo, no encuentra informe ' + rptInforme)); frxReport.LoadFromFile(AInforme, True); frxReport.PrepareReport(False); diff --git a/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas b/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas index 9bbe0fc9..79d53277 100644 --- a/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas +++ b/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas @@ -199,9 +199,9 @@ begin tbl_InformeListadoRecibos.Active := True; - AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, tbl_InformeListadoRecibos.FieldByName('ID_EMPRESA').AsString); + AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, IntToStr(IdEmpresa)); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe' + TipoInforme)); + raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe ' + TipoInforme)); frxReport.LoadFromFile(AInforme, True); frxReport.Variables.Variables['FechaInicio'] := FechaInicio; diff --git a/Source/Modulos/Remesas de cliente/Reports/uRptRemesasCliente_Server.pas b/Source/Modulos/Remesas de cliente/Reports/uRptRemesasCliente_Server.pas index 6febe072..63f1d422 100644 --- a/Source/Modulos/Remesas de cliente/Reports/uRptRemesasCliente_Server.pas +++ b/Source/Modulos/Remesas de cliente/Reports/uRptRemesasCliente_Server.pas @@ -108,7 +108,7 @@ begin AInforme := DarRutaFichero(DarRutaInformes, rptInforme); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: GenerarRemesa, no encuentra informe' + rptInforme)); + raise Exception.Create (('Error Servidor: GenerarRemesa, no encuentra informe ' + rptInforme)); frxReport.LoadFromFile(AInforme, True); frxReport.PrepareReport(False); diff --git a/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.pas b/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.pas index 0715c96c..3293a4f8 100644 --- a/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.pas +++ b/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.pas @@ -108,7 +108,7 @@ begin AInforme := DarRutaFichero(DarRutaInformes, rptInforme); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: GenerarRemesa, no encuentra informe' + rptInforme)); + raise Exception.Create (('Error Servidor: GenerarRemesa, no encuentra informe ' + rptInforme)); frxReport.LoadFromFile(AInforme, True); frxReport.PrepareReport(False);