diff --git a/Source/Informes/InfFacturaClienteAbeto.fr3 b/Source/Informes/InfFacturaClienteAbeto.fr3 new file mode 100644 index 00000000..6305010d --- /dev/null +++ b/Source/Informes/InfFacturaClienteAbeto.fr3 @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm index 75caf183..7bf31763 100644 --- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm +++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm @@ -35,6 +35,15 @@ object RptFacturasCliente: TRptFacturasCliente DataType = datDateTime DictionaryEntry = 'FacturasCliente_FECHA_FACTURA' end + item + Name = 'TIENDA' + DataType = datString + Size = 255 + end + item + Name = 'ID_TIENDA' + DataType = datInteger + end item Name = 'IMPORTE_NETO' DataType = datCurrency @@ -359,30 +368,31 @@ object RptFacturasCliente: TRptFacturasCliente TargetTable = 'FACTURAS_CLIENTE' SQL = 'SELECT'#10' V_FACTURAS_CLIENTE.ID, V_FACTURAS_CLIENTE.REFERENCIA,' + - ' V_FACTURAS_CLIENTE.FECHA_FACTURA,'#10' V_FACTURAS_CLIENTE.IMPORT' + - 'E_NETO,'#10' V_FACTURAS_CLIENTE.BASE_IMPONIBLE, V_FACTURAS_CLIENT' + - 'E.DESCUENTO, V_FACTURAS_CLIENTE.IMPORTE_DESCUENTO,'#10' V_FACTURA' + - 'S_CLIENTE.IVA, V_FACTURAS_CLIENTE.IMPORTE_IVA,'#10' V_FACTURAS_CL' + - 'IENTE.RE, V_FACTURAS_CLIENTE.IMPORTE_RE,'#10' V_FACTURAS_CLIENTE.' + - 'IMPORTE_TOTAL,'#10' V_FACTURAS_CLIENTE.OBSERVACIONES, FORMAS_PAGO' + - '.DESCRIPCION AS FORMA_PAGO, V_FACTURAS_CLIENTE.ID_CLIENTE,'#10' V' + - '_FACTURAS_CLIENTE.NIF_CIF, V_FACTURAS_CLIENTE.NOMBRE, V_FACTURAS' + - '_CLIENTE.CALLE,'#10' V_FACTURAS_CLIENTE.PROVINCIA, V_FACTURAS_CLI' + - 'ENTE.CODIGO_POSTAL, V_FACTURAS_CLIENTE.POBLACION,'#10' CONTACTOS_' + - 'DATOS_BANCO.TITULAR,'#10' CONTACTOS_DATOS_BANCO.ENTIDAD,'#10' CONT' + - 'ACTOS_DATOS_BANCO.SUCURSAL,'#10' CONTACTOS_DATOS_BANCO.DC,'#10' CO' + - 'NTACTOS_DATOS_BANCO.CUENTA,'#10' ID_EMPRESA, EMPRESAS.NIF_CIF as ' + - 'NIF_CIF_EMPRESA, EMPRESAS.RAZON_SOCIAL,'#10' EMPRESAS.CALLE as CA' + - 'LLE_EMPRESA, EMPRESAS.POBLACION as POBLACION_EMPRESA,'#10' EMPRES' + - 'AS.PROVINCIA as PROVINCIA_EMPRESA, EMPRESAS.CODIGO_POSTAL as COD' + - 'IGO_POSTAL_EMPRESA,'#10' EMPRESAS.TELEFONO_1, EMPRESAS.FAX, EMPRE' + - 'SAS.MOVIL_1, EMPRESAS.EMAIL_1,'#10' EMPRESAS.PAGINA_WEB, EMPRESAS' + - '.REGISTRO_MERCANTIL, EMPRESAS.LOGOTIPO'#10'FROM V_FACTURAS_CLIENTE'#10'L' + - 'EFT JOIN EMPRESAS ON EMPRESAS.ID = ID_EMPRESA'#10'LEFT JOIN FORMAS_P' + - 'AGO ON (FORMAS_PAGO.ID = V_FACTURAS_CLIENTE.ID_FORMA_PAGO)'#10'LEFT ' + - 'JOIN CONTACTOS_DATOS_BANCO ON (CONTACTOS_DATOS_BANCO.ID_CONTACTO' + - ' = V_FACTURAS_CLIENTE.ID_CLIENTE)'#10'WHERE V_FACTURAS_CLIENTE.ID = ' + - ':ID'#10 + ' V_FACTURAS_CLIENTE.FECHA_FACTURA,'#10' V_FACTURAS_CLIENTE.TIENDA' + + ', V_FACTURAS_CLIENTE.ID_TIENDA,'#10' V_FACTURAS_CLIENTE.IMPORTE_N' + + 'ETO,'#10' V_FACTURAS_CLIENTE.BASE_IMPONIBLE, V_FACTURAS_CLIENTE.D' + + 'ESCUENTO, V_FACTURAS_CLIENTE.IMPORTE_DESCUENTO,'#10' V_FACTURAS_C' + + 'LIENTE.IVA, V_FACTURAS_CLIENTE.IMPORTE_IVA,'#10' V_FACTURAS_CLIEN' + + 'TE.RE, V_FACTURAS_CLIENTE.IMPORTE_RE,'#10' V_FACTURAS_CLIENTE.IMP' + + 'ORTE_TOTAL,'#10' V_FACTURAS_CLIENTE.OBSERVACIONES, FORMAS_PAGO.DE' + + 'SCRIPCION AS FORMA_PAGO, V_FACTURAS_CLIENTE.ID_CLIENTE,'#10' V_FA' + + 'CTURAS_CLIENTE.NIF_CIF, V_FACTURAS_CLIENTE.NOMBRE, V_FACTURAS_CL' + + 'IENTE.CALLE,'#10' V_FACTURAS_CLIENTE.PROVINCIA, V_FACTURAS_CLIENT' + + 'E.CODIGO_POSTAL, V_FACTURAS_CLIENTE.POBLACION,'#10' CONTACTOS_DAT' + + 'OS_BANCO.TITULAR,'#10' CONTACTOS_DATOS_BANCO.ENTIDAD,'#10' CONTACT' + + 'OS_DATOS_BANCO.SUCURSAL,'#10' CONTACTOS_DATOS_BANCO.DC,'#10' CONTA' + + 'CTOS_DATOS_BANCO.CUENTA,'#10' ID_EMPRESA, EMPRESAS.NIF_CIF as NIF' + + '_CIF_EMPRESA, EMPRESAS.RAZON_SOCIAL,'#10' EMPRESAS.CALLE as CALLE' + + '_EMPRESA, EMPRESAS.POBLACION as POBLACION_EMPRESA,'#10' EMPRESAS.' + + 'PROVINCIA as PROVINCIA_EMPRESA, EMPRESAS.CODIGO_POSTAL as CODIGO' + + '_POSTAL_EMPRESA,'#10' EMPRESAS.TELEFONO_1, EMPRESAS.FAX, EMPRESAS' + + '.MOVIL_1, EMPRESAS.EMAIL_1,'#10' EMPRESAS.PAGINA_WEB, EMPRESAS.RE' + + 'GISTRO_MERCANTIL, EMPRESAS.LOGOTIPO'#10'FROM V_FACTURAS_CLIENTE'#10'LEFT' + + ' JOIN EMPRESAS ON EMPRESAS.ID = ID_EMPRESA'#10'LEFT JOIN FORMAS_PAGO' + + ' ON (FORMAS_PAGO.ID = V_FACTURAS_CLIENTE.ID_FORMA_PAGO)'#10'LEFT JOI' + + 'N CONTACTOS_DATOS_BANCO ON (CONTACTOS_DATOS_BANCO.ID_CONTACTO = ' + + 'V_FACTURAS_CLIENTE.ID_CLIENTE)'#10'WHERE V_FACTURAS_CLIENTE.ID = :ID' + + #10 StatementType = stSQL ColumnMappings = < item @@ -563,6 +573,15 @@ object RptFacturasCliente: TRptFacturasCliente DatasetField = 'LOGOTIPO' TableField = '' SQLOrigin = 'LOGOTIPO' + end + item + DatasetField = 'TIENDA' + TableField = '' + SQLOrigin = 'TIENDA' + end + item + DatasetField = 'ID_TIENDA' + TableField = 'ID_TIENDA' end> end> Name = 'InformeFacturasCliente' @@ -584,6 +603,15 @@ object RptFacturasCliente: TRptFacturasCliente DataType = datDateTime DictionaryEntry = 'FacturasCliente_FECHA_FACTURA' end + item + Name = 'TIENDA' + DataType = datString + Size = 255 + end + item + Name = 'ID_TIENDA' + DataType = datInteger + end item Name = 'IMPORTE_NETO' DataType = datCurrency @@ -1136,104 +1164,180 @@ object RptFacturasCliente: TRptFacturasCliente PrintOptions.Printer = 'Default' PrintOptions.PrintOnSheet = 0 ReportOptions.CreateDate = 37871.995398692100000000 - ReportOptions.Description.Strings = ( - 'Demonstrates how to create simple list report.') - ReportOptions.LastChange = 39513.490255706020000000 + ReportOptions.LastChange = 39629.545549768520000000 ReportOptions.VersionBuild = '1' ReportOptions.VersionMajor = '12' ReportOptions.VersionMinor = '13' ReportOptions.VersionRelease = '1' ScriptLanguage = 'PascalScript' ScriptText.Strings = ( - 'procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);' - 'var' - ' Cadena: String;' + 'procedure DatosClienteOnBeforePrint(Sender: TfrxComponent);' 'begin' - ' DatosEmpresa.Lines.Clear;' - ' DatosEmpresa.Lines.Add();' + ' DatosCliente.Lines.Clear;' + ' DatosCliente.Lines.Add();' + '' + ' if ( <> '#39#39')' + ' or ( <> '#39#39') then' - ' DatosEmpresa.Lines.Add( + '#39' - '#39 + - ' + + '#39' '#39' + );' + ' DatosCliente.Lines.Add( + '#39' ' + + ' '#39' + );' '' - ' Cadena := '#39#39';' - ' if ( <> '#39#39') then' - ' Cadena := '#39'TLF: '#39' + ;' - ' if ( <> '#39#39') then' - ' Cadena := Cadena + '#39' FAX: '#39' + ;' - ' DatosEmpresa.Lines.Add(Cadena);' + ' if ( <> '#39#39') then' + ' DatosCliente.Lines.Add();' 'end;' '' - 'procedure Memo54OnBeforePrint(Sender: TfrxComponent);' + 'procedure BandaDetallesOnBeforePrint(Sender: TfrxComponent);' 'begin' - ' if ( <> '#39#39') then' - ' Memo54.Text := '#39'Recibos compensados'#39';' - 'end;' + ' BandaDetalles.StartNewPage := False;' + ' BandaDetalles.Visible := True;' + ' MemPrecio.Style := '#39'Concepto normal'#39';' + ' MemCantidad.Style := '#39'Concepto normal'#39';' + ' MemImpTotal.Style := '#39'Concepto normal'#39';' + ' RichConcepto.Visible := True;' '' - 'procedure EtiCompensadoOnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' if ( = '#39#39') then' - ' begin' - ' EtiCompensado.Visible := False;' - ' EtiCompensado2.Visible := False;' + ' case of' + ' '#39'Salto'#39': begin' + ' BandaDetalles.StartNewPage := True;' + ' RichConcepto.Visible := False;' + ' end;' + ' '#39'Titulo'#39': begin' + ' MemPrecio.Style := '#39'Concepto titulo'#39';' + ' MemCantidad.Style := '#39'Concepto titulo'#39';' + ' MemImpTotal.Style := '#39'Concepto titulo'#39';' + ' end;' + ' '#39'Concepto'#39': begin' + ' MemPrecio.Style := '#39'Concepto normal'#39';' + ' MemCantidad.Style := '#39'Concepto normal'#39';' + ' MemImpTotal.Style := '#39'Concepto normal'#39';' + ' end;' + ' '#39'Subtotal'#39': begin' + ' MemPrecio.Style := '#39'Concepto subtotal'#39';' + ' MemCantidad.Style := '#39'Concepto subtotal'#39';' + ' MemImpTotal.Style := '#39'Concepto subtotal'#39';' + ' end;' + ' '#39'Descuento'#39': begin' + ' BandaDetalles.Visible := False;' + ' RichConcepto.Color := clNone;' + ' end;' ' end;' + '' + ' RichConcepto.Color := MemImpTotal.Color;' + ' RichConcepto.Frame := MemImpTotal.Frame;' 'end;' '' - 'procedure Memo55OnBeforePrint(Sender: TfrxComponent);' + 'procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);' 'begin' - ' if ( <> '#39#39') then' - ' begin' + '// if Engine.FreeSpace > ReportSummary1.Height then ' - ' Memo55.Text := '#39'( Compensado en el recibo '#39' + + '#39' )'#39';' - - ' Memo1.Text := '#39'( Compensado en el recibo '#39' + + '#39' )'#39';' - ' end;' + ' Engine.CurY := Engine.PageHeight - ReportSummary1.Height - ' + + 'Band3.Height - 1' 'end;' '' - 'procedure Memo40OnBeforePrint(Sender: TfrxComponent);' + 'procedure Memo15OnBeforePrint(Sender: TfrxComponent);' 'begin' - ' if ( < 1) then' - ' begin' - ' Memo40.visible := False;' - ' Memo25.visible := False; ' - ' eFormaPagoFactura.visible := False;' - ' Memo26.visible := False; ' + ' Memo15.Lines.Clear;' + ' if (StrToFloat() < 0) then' + ' Memo15.Lines.Add('#39'ABONO'#39')' + ' else' + ' Memo15.Lines.Add('#39'FACTURA'#39')' + 'end;' + '' + 'procedure Band2OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if not Engine.FinalPass then' + ' Set('#39'TotalPaginas'#39', ( + 1));' + '' + ' if Engine.FinalPass then' + ' Set('#39'Pagina'#39', ( + 1));' + '' + ' if Engine.FinalPass and ( > ) then' + ' begin ' + ' LineaCorta1.visible := False; ' + ' LineaLarga1.visible := True; ' + ' LineaCorta2.visible := False; ' + ' LineaLarga2.visible := True; ' + ' ' ' end' + ' else' + ' begin' + ' LineaCorta1.visible := True; ' + ' LineaLarga1.visible := False;' + ' LineaCorta2.visible := True; ' + ' LineaLarga2.visible := False;' + ' ' + ' end; ' 'end;' '' - 'procedure Memo35OnBeforePrint(Sender: TfrxComponent);' + 'procedure frxReportOnStartReport(Sender: TfrxComponent);' 'begin' - ' if ( < 1) then' + ' Set('#39'Pagina'#39', 0);' + ' Set('#39'TotalPaginas'#39', 0);' + 'end;' + '' + 'procedure Memo26OnBeforePrint(Sender: TfrxComponent);' + 'begin ' + ' if ( > 0) then' ' begin' - ' Memo35.visible := False;' - ' Memo44.visible := False; ' - ' eFechaFactura.visible := False;' - ' Memo47.visible := False; ' + + ' Memo26.visible := True; ' + + ' ' ' end' + ' else' + ' begin' + ' Memo26.visible := False; ' + ' end; ' 'end;' '' - 'procedure Memo42OnBeforePrint(Sender: TfrxComponent);' + 'procedure Memo25OnBeforePrint(Sender: TfrxComponent);' 'begin' - ' if ( < 1) then' + ' if ( > 0) then' ' begin' - ' Memo42.visible := False; ' + - ' ' - ' Memo45.visible := False;' - ' Memo38.visible := False;' - ' Memo39.visible := False;' - ' Memo43.visible := False;' + ' Memo25.visible := True; ' + + ' ' + ' end' + ' else' + ' begin' + ' Memo25.visible := False; ' + ' end; ' + 'end;' + '' + 'procedure Memo21OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if ( > 0) then' + ' begin' + + ' Memo21.visible := True; ' + + ' ' + ' end' + ' else' + ' begin' + ' Memo21.visible := False; ' + ' end; ' + 'end;' + '' '' - ' Memo27.visible := False; ' + - ' ' - ' Memo28.visible := False;' - ' Memo48.visible := False;' - ' Memo49.visible := False;' - ' Memo52.visible := False; ' - ' end;' + 'procedure ReportSummary1OnAfterCalcHeight(Sender: TfrxComponent)' + + ';' + 'begin' + + '//Es peor el remedio que la enfermedad, en el caso de sobre pasa' + + 'r en uno el numero de conceptos para que no quepa el reportsumar' + + 'y,' + + '//no hay forma de ponerlo al final en la p'#225'gina siguiente hasta ' + + 'que el numero de conceptos rellene al menos un concepto de la si' + + 'guiente hoja. ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + '// if Engine.FreeSpace > ReportSummary1.Height then ' + + '// Engine.CurY := Engine.PageHeight - ReportSummary1.Height ' + + '- Band3.Height - 1' 'end;' '' 'begin' @@ -1241,6 +1345,7 @@ object RptFacturasCliente: TRptFacturasCliente 'end.') ShowProgress = False StoreInDFM = False + OnStartReport = 'frxReportOnStartReport' Left = 169 Top = 16 end diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas index a5011ebe..3267d487 100644 --- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas +++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas @@ -48,6 +48,7 @@ uses const rptFacturaCliente = 'InfFacturaCliente.fr3'; + rptFacturaClienteAbeto = 'InfFacturaClienteAbeto.fr3'; { Dataset names for schReport } ds_InformeFacturasCliente = 'InformeFacturasCliente'; @@ -98,7 +99,10 @@ begin tbl_DetallesFacturaCliente.Active := True; tbl_Vencimientos.Active := True; - frxReport.LoadFromFile(DarRutaInformes + rptFacturaCliente, True); + if (tbl_FacturaCliente.FieldByName('ID_TIENDA').AsInteger <> 3) then + frxReport.LoadFromFile(DarRutaInformes + rptFacturaCliente, True) + else + frxReport.LoadFromFile(DarRutaInformes + rptFacturaClienteAbeto, True); frxReport.PrepareReport(False); end; diff --git a/Source/Servicios/RODLFILE.res b/Source/Servicios/RODLFILE.res index 30f09fad..4e0a05a0 100644 Binary files a/Source/Servicios/RODLFILE.res and b/Source/Servicios/RODLFILE.res differ diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj index 3427a020..797e477e 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -1,266 +1,268 @@ - + - - {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} - FactuGES_Server.dpr - Debug - AnyCPU - DCC32 - ..\..\Output\Debug\Servidor\FactuGES_Server.exe - - - 7.0 - False - False - 0 - 3 - ..\..\Output\Release\Servidor - RELEASE - - - 7.0 - 3 - ..\..\Output\Debug\Servidor - DEBUG; - True - - - Delphi.Personality - - - FalseTrueFalseTrueFalse2230FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.2.3.0FactuGES (Servidor)2.2.3.0viernes, 23 de mayo de 2008 17:19 - RemObjects Pascal Script - RemObjects SDK 3.0 Integration - FactuGES_Server.dpr - - - - - MainSource - - - - - -
srvEjercicios
- TDataAbstractService -
- - - -
srvEmpresas
- TDARemoteService -
- -
srvProvinciasPoblaciones
- TRORemoteDataModule -
- - - - - - - - - -
srvAlbaranesCliente
- TDataAbstractService -
- - - - -
srvAlbaranesProveedor
- TDataAbstractService -
- - - -
srvAlmacenes
- TDARemoteService -
- - - - - - - -
RptComisiones
- TDataModule -
- -
srvComisiones
- TDataAbstractService -
- - - - -
srvContabilidad
- TDataAbstractService -
- - - - - - - -
RptEtiquetasContacto
- TDataModule -
- -
srvContactos
- TDARemoteService -
- - - - -
RptFacturasCliente
- TDataModule -
- -
srvFacturasCliente
- TDataAbstractService -
- - - - -
srvFacturasProveedor
- TDataAbstractService -
- - - - - - - - - -
srvHistoricoMovimientos
- TDataAbstractService -
- - - -
srvInventario
- TDataAbstractService -
- - - - -
srvPedidosProveedor
- TDataAbstractService -
- - - - -
RptPresupuestosCliente
-
- -
srvPresupuestosCliente
- TDataAbstractService -
- - - - - -
RptRecibosCliente
- TDataModule -
- -
srvRecibosCliente
- TDataAbstractService -
- - - - - -
srvRecibosProveedor
- TDataAbstractService -
- - - -
srvReferencias
- TDataAbstractService -
- - - - -
srvRemesasCliente
- TDataAbstractService -
- - - - -
srvRemesasProveedor
- TDataAbstractService -
- - - - - - -
srvUnidadesMedida
- TDataAbstractService -
- - - -
srvConfiguracion
- TDataAbstractService -
- -
frConexionBD
- TFrame -
- -
frConfGeneral
- TFrame -
- -
fConfiguracion
- TForm -
- -
FrameConfiguracion
- TFrame -
- -
srvLogin
- TDARemoteService -
- -
fAcercaDe
-
- -
dmServer
- TDataModule -
- -
fServerForm
-
- - - - - - - - -
+ + {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} + FactuGES_Server.dpr + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Servidor\FactuGES_Server.exe + + + 7.0 + False + False + 0 + 3 + ..\..\Output\Release\Servidor + RELEASE + + + 7.0 + 3 + ..\..\Output\Debug\Servidor + DEBUG; + True + + + Delphi.Personality + + +FalseTrueFalseTrueFalse2230FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.2.3.0FactuGES (Servidor)2.2.3.0viernes, 23 de mayo de 2008 17:19 + + + RemObjects Pascal Script - RemObjects SDK 3.0 Integration + FactuGES_Server.dpr + + + + + MainSource + + + + + +
srvEjercicios
+ TDataAbstractService +
+ + + +
srvEmpresas
+ TDARemoteService +
+ +
srvProvinciasPoblaciones
+ TRORemoteDataModule +
+ + + + + + + + + +
srvAlbaranesCliente
+ TDataAbstractService +
+ + + + +
srvAlbaranesProveedor
+ TDataAbstractService +
+ + + +
srvAlmacenes
+ TDARemoteService +
+ + + + + + + +
RptComisiones
+ TDataModule +
+ +
srvComisiones
+ TDataAbstractService +
+ + + + +
srvContabilidad
+ TDataAbstractService +
+ + + + + + + +
RptEtiquetasContacto
+ TDataModule +
+ +
srvContactos
+ TDARemoteService +
+ + + + +
RptFacturasCliente
+ TDataModule +
+ +
srvFacturasCliente
+ TDataAbstractService +
+ + + + +
srvFacturasProveedor
+ TDataAbstractService +
+ + + + + + + + + +
srvHistoricoMovimientos
+ TDataAbstractService +
+ + + +
srvInventario
+ TDataAbstractService +
+ + + + +
srvPedidosProveedor
+ TDataAbstractService +
+ + + + +
RptPresupuestosCliente
+
+ +
srvPresupuestosCliente
+ TDataAbstractService +
+ + + + + +
RptRecibosCliente
+ TDataModule +
+ +
srvRecibosCliente
+ TDataAbstractService +
+ + + + + +
srvRecibosProveedor
+ TDataAbstractService +
+ + + +
srvReferencias
+ TDataAbstractService +
+ + + + +
srvRemesasCliente
+ TDataAbstractService +
+ + + + +
srvRemesasProveedor
+ TDataAbstractService +
+ + + + + + +
srvUnidadesMedida
+ TDataAbstractService +
+ + + +
srvConfiguracion
+ TDataAbstractService +
+ +
frConexionBD
+ TFrame +
+ +
frConfGeneral
+ TFrame +
+ +
fConfiguracion
+ TForm +
+ +
FrameConfiguracion
+ TFrame +
+ +
srvLogin
+ TDARemoteService +
+ +
fAcercaDe
+
+ +
dmServer
+ TDataModule +
+ +
fServerForm
+
+ + + + + + + + +