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
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDARemoteService
-
-
-
- TRORemoteDataModule
-
-
-
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDARemoteService
-
-
-
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
- TDataModule
-
-
-
- TDARemoteService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
- TFrame
-
-
-
- TFrame
-
-
-
- TForm
-
-
-
- TFrame
-
-
-
- TDARemoteService
-
-
-
-
-
-
- TDataModule
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ {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
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDARemoteService
+
+
+
+ TRORemoteDataModule
+
+
+
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TForm
+
+
+
+ TFrame
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+ TDataModule
+
+
+
+
+
+
+
+
+
+
+
+
+