diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql
index 8b6fa17..8571296 100644
--- a/Database/scripts/factuges.sql
+++ b/Database/scripts/factuges.sql
@@ -4210,6 +4210,41 @@ from FACTURAS_CLIENTE
group by 1,2
;
+CREATE VIEW V_INF_ALB_CLI_IMPORTE_TOTAL_ANO(
+ ID_EMPRESA,
+ ANO,
+ IMPORTE_TOTAL)
+AS
+select ID_EMPRESA, EXTRACT(YEAR FROM FECHA_ALBARAN) as ANO, SUM(IMPORTE_TOTAL) as IMPORTE_TOTAL
+from ALBARANES_CLIENTE
+where tipo = 'A'
+group by 1,2
+;
+
+CREATE VIEW V_INF_ALB_CLI_INCIDEN_TOTAL_ANO(
+ ID_EMPRESA,
+ ANO,
+ INCIDENCIAS_TOTALES)
+AS
+select ID_EMPRESA, EXTRACT(YEAR FROM FECHA_ALBARAN) as ANO, COUNT(ID) as INCIDENCIAS_TOTALES
+from ALBARANES_CLIENTE
+where tipo = 'A'
+and ALBARANES_CLIENTE.INCIDENCIAS <> ''
+group by 1,2
+;
+
+CREATE VIEW V_INF_ALB_CLI_ORDDEV_TOTAL_ANO(
+ ID_EMPRESA,
+ ANO,
+ ORDENES_DEV_TOTALES)
+AS
+select ID_EMPRESA, EXTRACT(YEAR FROM FECHA_ALBARAN) as ANO, COUNT(ID) as ORDENES_DEV_TOTALES
+from ALBARANES_CLIENTE
+where tipo = 'D'
+
+group by 1,2
+;
+
CREATE VIEW V_INF_FAC_PROVEEDOR_TOTAL_ANO(
ID_EMPRESA,
ANO,
@@ -4357,6 +4392,88 @@ left join clientes_datos cd on (cd.ID_CLIENTE = F.ID_CLIENTE)
inner join V_INF_FAC_CLIENTE_TOTAL_ANO v on ((v.id_empresa = f.id_empresa) and (v.Ano = EXTRACT(YEAR FROM f.FECHA_FACTURA)))
where (FD.TIPO_DETALLE = 'Concepto')
;
+
+
+
+CREATE VIEW V_INF_ALB_CLIENTE_AUX(
+ ID_ALBARAN,
+ SERVIDOS,
+ PENDIENTES,
+ ENVIADOS,
+ INCIDENCIAS,
+ PASADOS_FECHA_PREVISTA,
+ ORDENES_DEV)
+AS
+select ID, SUM(SERVIDOS), SUM(PENDIENTES), SUM(ENVIADOS), SUM(INCIDENCIAS), SUM(PASADOS_FECHA_PREVISTA), SUM(ORDENES_DEV)
+FROM(
+select ID, 1 as SERVIDOS, 0 as PENDIENTES, 0 as ENVIADOS, 0 as INCIDENCIAS, 0 as PASADOS_FECHA_PREVISTA, 0 as ORDENES_DEV
+from V_ALB_CLI_SITUACION
+where TRIM(V_ALB_CLI_SITUACION.situacion) = 'SERVIDO'
+
+union
+
+select ID, 0 as SERVIDOS, 1 as PENDIENTES, 0 as ENVIADOS, 0 as INCIDENCIAS, 0 as PASADOS_FECHA_PREVISTA, 0 as ORDENES_DEV
+from V_ALB_CLI_SITUACION
+where TRIM(V_ALB_CLI_SITUACION.situacion) = 'PENDIENTE'
+
+union
+
+select ID, 0 as SERVIDOS, 0 as PENDIENTES, 1 as ENVIADOS, 0 as INCIDENCIAS, 0 as PASADOS_FECHA_PREVISTA, 0 as ORDENES_DEV
+from V_ALB_CLI_SITUACION
+where TRIM(V_ALB_CLI_SITUACION.situacion) = 'ENVIADO'
+
+union
+
+select ID, 0 as SERVIDOS, 0 as PENDIENTES, 0 as ENVIADOS, 1 as INCIDENCIAS, 0 as PASADOS_FECHA_PREVISTA, 0 as ORDENES_DEV
+from ALBARANES_CLIENTE
+where ALBARANES_CLIENTE.INCIDENCIAS <> ''
+
+union
+
+select ID, 0 as SERVIDOS, 0 as PENDIENTES, 0 as ENVIADOS, 0 as INCIDENCIAS, 1 as PASADOS_FECHA_PREVISTA, 0 as ORDENES_DEV
+from ALBARANES_CLIENTE
+where ALBARANES_CLIENTE.fecha_prevista_envio > ALBARANES_CLIENTE.fecha_envio
+
+union
+
+select ID, 0 as SERVIDOS, 0 as PENDIENTES, 0 as ENVIADOS, 0 as INCIDENCIAS, 0 as PASADOS_FECHA_PREVISTA, 1 as ORDENES_DEV
+from ALBARANES_CLIENTE
+where ALBARANES_CLIENTE.TIPO = 'D'
+)
+group by 1
+;
+
+CREATE VIEW V_INF_ALB_CLIENTE(
+ ID_EMPRESA,
+ ANO,
+ SEMESTRE,
+ TRIMESTRE,
+ MES,
+ FECHA_ALBARAN,
+ ID_CLIENTE,
+ SERVIDOS,
+ PENDIENTES,
+ ENVIADOS,
+ INCIDENCIAS,
+ PASADOS_FECHA_PREVISTA,
+ ORDENES_DEV,
+ IMPORTE_TOTAL)
+AS
+select A.ID_EMPRESA,
+EXTRACT(YEAR FROM A.FECHA_ALBARAN) as ANO,
+CAST((DIV(EXTRACT(MONTH FROM A.FECHA_ALBARAN),7)+1) AS SMALLINT) as SEMESTRE,
+CAST((DIV(EXTRACT(MONTH FROM A.FECHA_ALBARAN)+2,3)) AS SMALLINT) as TRIMESTRE,
+EXTRACT(MONTH FROM A.FECHA_ALBARAN) as MES,
+A.FECHA_ALBARAN, A.ID_CLIENTE,
+cast(V.SERVIDOS as float), cast(V.PENDIENTES as float), cast(V.ENVIADOS as float),
+cast(V.INCIDENCIAS as float), cast(V.PASADOS_FECHA_PREVISTA as float), cast(V.ORDENES_DEV as float),
+A.IMPORTE_TOTAL
+
+from V_INF_ALB_CLIENTE_AUX V
+left join ALBARANES_CLIENTE A on (V.ID_ALBARAN = A.ID)
+;
+
+
/******************************************************************************/
/**** Primary Keys ****/
/******************************************************************************/
diff --git a/Source/Base/Base.RES b/Source/Base/Base.RES
index 8b251f3..1641339 100644
Binary files a/Source/Base/Base.RES and b/Source/Base/Base.RES differ
diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj
index 92998e3..7ab6947 100644
--- a/Source/Base/Base.dproj
+++ b/Source/Base/Base.dproj
@@ -47,6 +47,10 @@
FalseTrueFalseLibreria base de FactuGESFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0
+
+
+
+
Microsoft Office 2000 Sample Automation Server Wrapper Components
Microsoft Office XP Sample Automation Server Wrapper Components
Base.dpk
@@ -60,63 +64,63 @@
TDataModule
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
TDataModule
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
TForm
diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj
index 61c7ea2..eb74a01 100644
--- a/Source/Cliente/FactuGES.dproj
+++ b/Source/Cliente/FactuGES.dproj
@@ -53,7 +53,7 @@
Delphi.Personality
VCLApplication
-FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse4150FalseFalseFalseFalseFalse30821252Rodax Software S.L.4.1.5.0FactuGESFactuGES4.1.5.0FactuGES.dprFalse
+FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse4160FalseFalseFalseFalseFalse30821252Rodax Software S.L.4.1.6.0FactuGESFactuGES4.1.6.0FactuGES.dprFalse
diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res
index 25f2a90..107dd16 100644
Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ
diff --git a/Source/Informes/1/InfAlbaranCliente.fr3 b/Source/Informes/1/InfAlbaranCliente.fr3
index ba5a35d..9cca04f 100644
--- a/Source/Informes/1/InfAlbaranCliente.fr3
+++ b/Source/Informes/1/InfAlbaranCliente.fr3
@@ -1,11 +1,11 @@
-
+
-
-
-
+
+
+
@@ -16,9 +16,9 @@
-
-
-
+
+
+
@@ -34,8 +34,8 @@
-
-
+
+
diff --git a/Source/Informes/1/InfAlbaranProveedor.fr3 b/Source/Informes/1/InfAlbaranProveedor.fr3
index 4a6c7b0..69cf3c6 100644
--- a/Source/Informes/1/InfAlbaranProveedor.fr3
+++ b/Source/Informes/1/InfAlbaranProveedor.fr3
@@ -1,11 +1,11 @@
-
+
-
-
-
+
+
+
@@ -26,12 +26,12 @@
-
-
+
+
-
-
-
+
+
+
diff --git a/Source/Informes/1/InfPedidoCliente.fr3 b/Source/Informes/1/InfPedidoCliente.fr3
index 1e5dfef..36144e2 100644
--- a/Source/Informes/1/InfPedidoCliente.fr3
+++ b/Source/Informes/1/InfPedidoCliente.fr3
@@ -1,11 +1,11 @@
-
+
-
-
-
+
+
+
@@ -13,9 +13,9 @@
-
-
-
+
+
+
@@ -33,8 +33,8 @@
-
-
+
+
diff --git a/Source/Informes/1/InfPedidoProveedor.fr3 b/Source/Informes/1/InfPedidoProveedor.fr3
index 248a665..97ded03 100644
--- a/Source/Informes/1/InfPedidoProveedor.fr3
+++ b/Source/Informes/1/InfPedidoProveedor.fr3
@@ -1,11 +1,11 @@
-
+
-
-
-
+
+
+
@@ -13,9 +13,9 @@
-
-
-
+
+
+
@@ -30,8 +30,8 @@
-
-
+
+
diff --git a/Source/Informes/1/InformeListadoAlbaranesClienteGrafComp.fr3 b/Source/Informes/1/InformeListadoAlbaranesClienteGrafComp.fr3
new file mode 100644
index 0000000..1cf4a4a
--- /dev/null
+++ b/Source/Informes/1/InformeListadoAlbaranesClienteGrafComp.fr3
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Informes/2/InfAlbaranCliente.fr3 b/Source/Informes/2/InfAlbaranCliente.fr3
index d4241a4..4f07732 100644
--- a/Source/Informes/2/InfAlbaranCliente.fr3
+++ b/Source/Informes/2/InfAlbaranCliente.fr3
@@ -1,11 +1,11 @@
-
+
-
-
-
+
+
+
@@ -16,9 +16,9 @@
-
-
-
+
+
+
@@ -34,8 +34,8 @@
-
-
+
+
diff --git a/Source/Informes/2/InfAlbaranProveedor.fr3 b/Source/Informes/2/InfAlbaranProveedor.fr3
index 4a6c7b0..9b69f09 100644
--- a/Source/Informes/2/InfAlbaranProveedor.fr3
+++ b/Source/Informes/2/InfAlbaranProveedor.fr3
@@ -1,11 +1,11 @@
-
+
-
-
-
+
+
+
@@ -26,12 +26,12 @@
-
-
+
+
-
-
-
+
+
+
diff --git a/Source/Informes/2/InfFacturaCliente.fr3 b/Source/Informes/2/InfFacturaCliente.fr3
index f9b2a55..de3d4d5 100644
--- a/Source/Informes/2/InfFacturaCliente.fr3
+++ b/Source/Informes/2/InfFacturaCliente.fr3
@@ -1,5 +1,5 @@
-
+
@@ -30,15 +30,15 @@
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
diff --git a/Source/Informes/2/InfPedidoCliente.fr3 b/Source/Informes/2/InfPedidoCliente.fr3
index 6ac1fa2..fdd37c0 100644
--- a/Source/Informes/2/InfPedidoCliente.fr3
+++ b/Source/Informes/2/InfPedidoCliente.fr3
@@ -1,11 +1,11 @@
-
+
-
-
-
+
+
+
@@ -13,9 +13,9 @@
-
-
-
+
+
+
@@ -33,8 +33,8 @@
-
-
+
+
diff --git a/Source/Informes/2/InfPedidoProveedor.fr3 b/Source/Informes/2/InfPedidoProveedor.fr3
index 7c2f945..a9655ce 100644
--- a/Source/Informes/2/InfPedidoProveedor.fr3
+++ b/Source/Informes/2/InfPedidoProveedor.fr3
@@ -1,11 +1,11 @@
-
+
-
-
-
+
+
+
@@ -13,9 +13,9 @@
-
-
-
+
+
+
@@ -30,8 +30,8 @@
-
-
+
+
diff --git a/Source/Informes/2/InformeListadoAlbaranesClienteGrafComp.fr3 b/Source/Informes/2/InformeListadoAlbaranesClienteGrafComp.fr3
new file mode 100644
index 0000000..275be13
--- /dev/null
+++ b/Source/Informes/2/InformeListadoAlbaranesClienteGrafComp.fr3
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
index f50608e..127a0b4 100644
--- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
+++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
@@ -2,8 +2,8 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
OldCreateOrder = True
OnCreate = DataModuleCreate
OnDestroy = DataModuleDestroy
- Height = 471
- Width = 535
+ Height = 636
+ Width = 925
object DADSCabecera: TDADataSource
DataSet = tbl_Cabecera.Dataset
DataTable = tbl_Cabecera
@@ -47,6 +47,443 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
object schReport: TDASchema
ConnectionManager = dmServer.ConnectionManager
Datasets = <
+ item
+ Params = <
+ item
+ Name = 'ID_EMPRESA1'
+ Value = ''
+ end
+ item
+ Name = 'ANO1'
+ Value = ''
+ end
+ item
+ Name = 'ID_EMPRESA2'
+ Value = ''
+ end
+ item
+ Name = 'ANO2'
+ Value = ''
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ Default = True
+ Name = 'IBX'
+ SQL =
+ 'select VALOR, DESCRIPCION, periodo1.ANO as Ano1,'#10'periodo1.PENDIE' +
+ 'NTES as PENDIENTES_ANO1, periodo1.ENVIADOS as ENVIADOS_ANO1, per' +
+ 'iodo1.SERVIDOS as SERVIDOS_ANO1,'#10#10'periodo1.INCIDENCIAS as INCIDE' +
+ 'NCIAS_ANO1,'#10'case'#10'when ((periodo1.PENDIENTES + periodo1.ENVIADOS ' +
+ '+ periodo1.SERVIDOS) = 0) then (100 - (coalesce(periodo1.INCIDEN' +
+ 'CIAS, 0)*100))'#10'else (coalesce(periodo1.INCIDENCIAS, 0)*100)/(per' +
+ 'iodo1.PENDIENTES + periodo1.ENVIADOS + periodo1.SERVIDOS)'#10'end as' +
+ ' Porcentaje_Incidencias_ANO1,'#10#10'periodo1.PASADOS_FECHA_PREVISTA a' +
+ 's PASADOS_FECHA_PREVISTA_ANO1,'#10'case'#10'when ((periodo1.PENDIENTES +' +
+ ' periodo1.ENVIADOS + periodo1.SERVIDOS) = 0) then (100 - (coales' +
+ 'ce(periodo1.PASADOS_FECHA_PREVISTA, 0)*100))'#10'else (coalesce(peri' +
+ 'odo1.PASADOS_FECHA_PREVISTA, 0)*100)/(periodo1.PENDIENTES + peri' +
+ 'odo1.ENVIADOS + periodo1.SERVIDOS)'#10'end as Porcentaje_Pasados_Fec' +
+ 'ha_Prevista_ANO1,'#10#10'periodo1.ORDENES_DEV as ORDENES_DEV_ANO1,'#10'cas' +
+ 'e'#10'when ((periodo1.PENDIENTES + periodo1.ENVIADOS + periodo1.SERV' +
+ 'IDOS) = 0) then (100 - (coalesce(periodo1.ORDENES_DEV, 0)*100))'#10 +
+ 'else (coalesce(periodo1.ORDENES_DEV, 0)*100)/(periodo1.PENDIENTE' +
+ 'S + periodo1.ENVIADOS + periodo1.SERVIDOS)'#10'end as Porcentaje_Ord' +
+ 'enes_Dev_ANO1,'#10#10'periodo2.ANO as Ano2,'#10'periodo2.PENDIENTES as PEN' +
+ 'DIENTES_ANO2, periodo2.ENVIADOS as ENVIADOS_ANO2, periodo2.SERVI' +
+ 'DOS as SERVIDOS_ANO2,'#10#10'periodo2.INCIDENCIAS as INCIDENCIAS_ANO2,' +
+ #10'case'#10'when ((periodo2.PENDIENTES + periodo2.ENVIADOS + periodo2.' +
+ 'SERVIDOS) = 0) then (100 - (coalesce(periodo2.INCIDENCIAS, 0)*10' +
+ '0))'#10'else (coalesce(periodo2.INCIDENCIAS, 0)*100)/(periodo2.PENDI' +
+ 'ENTES + periodo2.ENVIADOS + periodo2.SERVIDOS)'#10'end as Porcentaje' +
+ '_Incidencias_ANO2,'#10#10'periodo2.PASADOS_FECHA_PREVISTA as PASADOS_' +
+ 'FECHA_PREVISTA_ANO2,'#10'case'#10'when ((periodo2.PENDIENTES + periodo2.' +
+ 'ENVIADOS + periodo2.SERVIDOS) = 0) then (100 - (coalesce(periodo' +
+ '2.PASADOS_FECHA_PREVISTA, 0)*100))'#10'else (coalesce(periodo2.PASAD' +
+ 'OS_FECHA_PREVISTA, 0)*100)/(periodo2.PENDIENTES + periodo2.ENVIA' +
+ 'DOS + periodo2.SERVIDOS)'#10'end as Porcentaje_Pasados_Fecha_Previst' +
+ 'a_ANO2,'#10#10'periodo2.ORDENES_DEV as ORDENES_DEV_ANO2,'#10'case'#10'when ((p' +
+ 'eriodo2.PENDIENTES + periodo2.ENVIADOS + periodo2.SERVIDOS) = 0)' +
+ ' then (100 - (coalesce(periodo2.ORDENES_DEV, 0)*100))'#10'else (coal' +
+ 'esce(periodo2.ORDENES_DEV, 0)*100)/(periodo2.PENDIENTES + period' +
+ 'o2.ENVIADOS + periodo2.SERVIDOS)'#10'end as Porcentaje_Ordenes_Dev_A' +
+ 'NO2,'#10#10'(periodo1.SERVIDOS - periodo2.SERVIDOS) as Diferencia_Serv' +
+ 'idos,'#10'case'#10'when (periodo2.SERVIDOS = 0) then (100 - ((periodo1.S' +
+ 'ERVIDOS - periodo2.SERVIDOS)*100))'#10'else (((periodo1.SERVIDOS - p' +
+ 'eriodo2.SERVIDOS)*100)/periodo2.SERVIDOS)'#10'end as Porcentaje_Aume' +
+ 'nto_Servidos,'#10#10'(periodo1.INCIDENCIAS - periodo2.INCIDENCIAS) as ' +
+ 'Diferencia_Incidencias,'#10'case'#10'when (periodo2.INCIDENCIAS = 0) the' +
+ 'n (100 - ((periodo1.INCIDENCIAS - periodo2.INCIDENCIAS)*100))'#10'el' +
+ 'se (((periodo1.INCIDENCIAS - periodo2.INCIDENCIAS)*100)/periodo2' +
+ '.INCIDENCIAS)'#10'end as Porcentaje_Aumento_Incidencias,'#10#10'(periodo1.' +
+ 'PASADOS_FECHA_PREVISTA - periodo2.PASADOS_FECHA_PREVISTA) as Dif' +
+ 'erencia_Pasados_Fecha_Prevista,'#10'case'#10'when (periodo2.PASADOS_FECH' +
+ 'A_PREVISTA = 0) then (100 - ((periodo1.PASADOS_FECHA_PREVISTA - ' +
+ 'periodo2.PASADOS_FECHA_PREVISTA)*100))'#10'else (((periodo1.PASADOS_' +
+ 'FECHA_PREVISTA - periodo2.PASADOS_FECHA_PREVISTA)*100)/periodo2.' +
+ 'PASADOS_FECHA_PREVISTA)'#10'end as Porcentaje_Aumento_Pasados_Fecha,' +
+ #10#10'(periodo1.ORDENES_DEV - periodo2.ORDENES_DEV) as Diferencia_Or' +
+ 'denes_Dev,'#10'case'#10'when (periodo2.ORDENES_DEV = 0) then (100 - ((pe' +
+ 'riodo1.ORDENES_DEV - periodo2.ORDENES_DEV)*100))'#10'else (((periodo' +
+ '1.ORDENES_DEV - periodo2.ORDENES_DEV)*100)/periodo2.ORDENES_DEV)' +
+ #10'end as Porcentaje_Aumento_Ordenes_Dev'#10#10'FROM'#10'periodos_aux'#10'left j' +
+ 'oin'#10'(select comp1.ID_EMPRESA, comp1.ANO, MES as NFILA,'#10'SUM(comp1' +
+ '.SERVIDOS) as SERVIDOS, SUM(comp1.PENDIENTES) AS PENDIENTES,'#10'SUM' +
+ '(comp1.ENVIADOS) as ENVIADOS, SUM(comp1.INCIDENCIAS) AS INCIDENC' +
+ 'IAS,'#10'SUM(comp1.PASADOS_FECHA_PREVISTA) as PASADOS_FECHA_PREVISTA' +
+ ', SUM(comp1.ORDENES_DEV) AS ORDENES_DEV'#10'from V_INF_ALB_CLIENTE c' +
+ 'omp1'#10'where ID_EMPRESA = :ID_EMPRESA1'#10'and (ANO = :ANO1)'#10'group by ' +
+ '1,2,3'#10'order by 1 desc,2 asc) periodo1 on (VALOR = periodo1.NFILA' +
+ ')'#10#10'left join'#10'(select comp2.ID_EMPRESA, comp2.ANO, MES as NFILA,'#10 +
+ 'SUM(comp2.SERVIDOS) as SERVIDOS, SUM(comp2.PENDIENTES) AS PENDIE' +
+ 'NTES,'#10'SUM(comp2.ENVIADOS) as ENVIADOS, SUM(comp2.INCIDENCIAS) AS' +
+ ' INCIDENCIAS,'#10'SUM(comp2.PASADOS_FECHA_PREVISTA) as PASADOS_FECHA' +
+ '_PREVISTA, SUM(comp2.ORDENES_DEV) AS ORDENES_DEV'#10'from V_INF_ALB_' +
+ 'CLIENTE comp2'#10'where ID_EMPRESA = :ID_EMPRESA2'#10'and (ANO = :ANO2)'#10 +
+ 'group by 1,2,3'#10'order by 1 desc,2 asc) periodo2 on (VALOR = perio' +
+ 'do2.NFILA)'#10#10'where periodo= '#39'MENSUAL'#39#10'order by valor asc'#10
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'VALOR'
+ TableField = 'VALOR'
+ end
+ item
+ DatasetField = 'DESCRIPCION'
+ TableField = 'DESCRIPCION'
+ end
+ item
+ DatasetField = 'ANO1'
+ TableField = 'ANO1'
+ end
+ item
+ DatasetField = 'ANO2'
+ TableField = 'ANO2'
+ end
+ item
+ DatasetField = 'DIFERENCIA_SERVIDOS'
+ TableField = 'DIFERENCIA_SERVIDOS'
+ end
+ item
+ DatasetField = 'DIFERENCIA_INCIDENCIAS'
+ TableField = 'DIFERENCIA_INCIDENCIAS'
+ end
+ item
+ DatasetField = 'DIFERENCIA_PASADOS_FECHA_PREVIS'
+ TableField = 'DIFERENCIA_PASADOS_FECHA_PREVIS'
+ end
+ item
+ DatasetField = 'DIFERENCIA_ORDENES_DEV'
+ TableField = 'DIFERENCIA_ORDENES_DEV'
+ end
+ item
+ DatasetField = 'PORCENTAJE_PASADOS_FECHA_PREVIS'
+ TableField = 'PORCENTAJE_PASADOS_FECHA_PREVIS'
+ end
+ item
+ DatasetField = 'PENDIENTES_ANO1'
+ TableField = 'PENDIENTES_ANO1'
+ end
+ item
+ DatasetField = 'ENVIADOS_ANO1'
+ TableField = 'ENVIADOS_ANO1'
+ end
+ item
+ DatasetField = 'SERVIDOS_ANO1'
+ TableField = 'SERVIDOS_ANO1'
+ end
+ item
+ DatasetField = 'INCIDENCIAS_ANO1'
+ TableField = 'INCIDENCIAS_ANO1'
+ end
+ item
+ DatasetField = 'PORCENTAJE_INCIDENCIAS_ANO1'
+ TableField = 'PORCENTAJE_INCIDENCIAS_ANO1'
+ end
+ item
+ DatasetField = 'PASADOS_FECHA_PREVISTA_ANO1'
+ TableField = 'PASADOS_FECHA_PREVISTA_ANO1'
+ end
+ item
+ DatasetField = 'ORDENES_DEV_ANO1'
+ TableField = 'ORDENES_DEV_ANO1'
+ end
+ item
+ DatasetField = 'PORCENTAJE_ORDENES_DEV_ANO1'
+ TableField = 'PORCENTAJE_ORDENES_DEV_ANO1'
+ end
+ item
+ DatasetField = 'PENDIENTES_ANO2'
+ TableField = 'PENDIENTES_ANO2'
+ end
+ item
+ DatasetField = 'ENVIADOS_ANO2'
+ TableField = 'ENVIADOS_ANO2'
+ end
+ item
+ DatasetField = 'SERVIDOS_ANO2'
+ TableField = 'SERVIDOS_ANO2'
+ end
+ item
+ DatasetField = 'INCIDENCIAS_ANO2'
+ TableField = 'INCIDENCIAS_ANO2'
+ end
+ item
+ DatasetField = 'PORCENTAJE_INCIDENCIAS_ANO2'
+ TableField = 'PORCENTAJE_INCIDENCIAS_ANO2'
+ end
+ item
+ DatasetField = 'PASADOS_FECHA_PREVISTA_ANO2'
+ TableField = 'PASADOS_FECHA_PREVISTA_ANO2'
+ end
+ item
+ DatasetField = 'PORCENTAJE_PASADOS_FECHA_PREVI1'
+ TableField = 'PORCENTAJE_PASADOS_FECHA_PREVI1'
+ end
+ item
+ DatasetField = 'ORDENES_DEV_ANO2'
+ TableField = 'ORDENES_DEV_ANO2'
+ end
+ item
+ DatasetField = 'PORCENTAJE_ORDENES_DEV_ANO2'
+ TableField = 'PORCENTAJE_ORDENES_DEV_ANO2'
+ end
+ item
+ DatasetField = 'PORCENTAJE_AUMENTO_SERVIDOS'
+ TableField = 'PORCENTAJE_AUMENTO_SERVIDOS'
+ end
+ item
+ DatasetField = 'PORCENTAJE_AUMENTO_INCIDENCIAS'
+ TableField = 'PORCENTAJE_AUMENTO_INCIDENCIAS'
+ end
+ item
+ DatasetField = 'PORCENTAJE_AUMENTO_PASADOS_FECH'
+ TableField = 'PORCENTAJE_AUMENTO_PASADOS_FECH'
+ end
+ item
+ DatasetField = 'PORCENTAJE_AUMENTO_ORDENES_DEV'
+ TableField = 'PORCENTAJE_AUMENTO_ORDENES_DEV'
+ end>
+ end>
+ Name = 'InformeListadoAlbaranesGrafCompMensual'
+ Fields = <
+ item
+ Name = 'VALOR'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'DESCRIPCION'
+ DataType = datString
+ Size = 20
+ end
+ item
+ Name = 'ANO1'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'PENDIENTES_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ENVIADOS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'SERVIDOS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'INCIDENCIAS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_INCIDENCIAS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PASADOS_FECHA_PREVISTA_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_PASADOS_FECHA_PREVIS'
+ DataType = datFloat
+ end
+ item
+ Name = 'ORDENES_DEV_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_ORDENES_DEV_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ANO2'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'PENDIENTES_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'ENVIADOS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'SERVIDOS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'INCIDENCIAS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_INCIDENCIAS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PASADOS_FECHA_PREVISTA_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_PASADOS_FECHA_PREVI1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ORDENES_DEV_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_ORDENES_DEV_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_SERVIDOS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_SERVIDOS'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_INCIDENCIAS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_INCIDENCIAS'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_PASADOS_FECHA_PREVIS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_PASADOS_FECH'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_ORDENES_DEV'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_ORDENES_DEV'
+ DataType = datFloat
+ end>
+ end
+ item
+ Params = <
+ item
+ Name = 'ID_EMPRESA'
+ Value = ''
+ end
+ item
+ Name = 'ANO'
+ Value = ''
+ end
+ item
+ Name = 'NTOP'
+ Value = ''
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ Default = True
+ Name = 'IBX'
+ SQL =
+ 'select P.ANO, C.REFERENCIA, C.NOMBRE, VT1.IMPORTE_TOTAL as IMPOR' +
+ 'TE_TOTAL_ANO,'#10'COUNT(P.FECHA_ALBARAN) as NUMALB, SUM(P.IMPORTE_TO' +
+ 'TAL) as IMPORTE_TOTAL,'#10'((SUM(P.IMPORTE_TOTAL)*100)/VT1.Importe_T' +
+ 'OTAL) as PORCENTAJE'#10#10'from V_INF_ALB_CLIENTE P'#10'left join CONTACTO' +
+ 'S C on P.ID_CLIENTE = C.ID'#10'inner join V_INF_ALB_CLI_IMPORTE_TOTA' +
+ 'L_ANO VT1 on ((VT1.id_empresa = P.id_empresa) and (VT1.Ano = EXT' +
+ 'RACT(YEAR FROM P.FECHA_ALBARAN)))'#10#10'where p.ID_EMPRESA = :ID_EMPR' +
+ 'ESA'#10'and P.ANO = :ANO'#10'group by 1,2,3,4'#10'order by 1,6 desc'#10'rows 1 t' +
+ 'o :NTOP'#10
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'ANO'
+ TableField = 'ANO'
+ end
+ item
+ DatasetField = 'REFERENCIA'
+ TableField = 'REFERENCIA'
+ end
+ item
+ DatasetField = 'NOMBRE'
+ TableField = 'NOMBRE'
+ end
+ item
+ DatasetField = 'IMPORTE_TOTAL_ANO'
+ TableField = 'IMPORTE_TOTAL_ANO'
+ end
+ item
+ DatasetField = 'IMPORTE_TOTAL'
+ TableField = 'IMPORTE_TOTAL'
+ end
+ item
+ DatasetField = 'PORCENTAJE'
+ TableField = 'PORCENTAJE'
+ end
+ item
+ DatasetField = 'NUMALB'
+ TableField = 'NUMALB'
+ end>
+ end>
+ Name = 'InformeListadoClientesMayorAlbaranadoResumen'
+ Fields = <
+ item
+ Name = 'ANO'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'NOMBRE'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'IMPORTE_TOTAL_ANO'
+ DataType = datCurrency
+ end
+ item
+ Name = 'NUMALB'
+ DataType = datInteger
+ end
+ item
+ Name = 'IMPORTE_TOTAL'
+ DataType = datCurrency
+ end
+ item
+ Name = 'PORCENTAJE'
+ DataType = datCurrency
+ end>
+ end
item
Params = <
item
@@ -479,6 +916,878 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
DataType = datString
Size = 255
end>
+ end
+ item
+ Params = <
+ item
+ Name = 'ID_EMPRESA1'
+ Value = ''
+ end
+ item
+ Name = 'ANO1'
+ Value = ''
+ end
+ item
+ Name = 'ID_EMPRESA2'
+ Value = ''
+ end
+ item
+ Name = 'ANO2'
+ Value = ''
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ Default = True
+ SQL =
+ 'select VALOR, DESCRIPCION, periodo1.ANO as Ano1,'#10'periodo1.PENDIE' +
+ 'NTES as PENDIENTES_ANO1, periodo1.ENVIADOS as ENVIADOS_ANO1, per' +
+ 'iodo1.SERVIDOS as SERVIDOS_ANO1,'#10#10'periodo1.INCIDENCIAS as INCIDE' +
+ 'NCIAS_ANO1,'#10'case'#10'when ((periodo1.PENDIENTES + periodo1.ENVIADOS ' +
+ '+ periodo1.SERVIDOS) = 0) then (100 - (coalesce(periodo1.INCIDEN' +
+ 'CIAS, 0)*100))'#10'else (coalesce(periodo1.INCIDENCIAS, 0)*100)/(per' +
+ 'iodo1.PENDIENTES + periodo1.ENVIADOS + periodo1.SERVIDOS)'#10'end as' +
+ ' Porcentaje_Incidencias_ANO1,'#10#10'periodo1.PASADOS_FECHA_PREVISTA a' +
+ 's PASADOS_FECHA_PREVISTA_ANO1,'#10'case'#10'when ((periodo1.PENDIENTES +' +
+ ' periodo1.ENVIADOS + periodo1.SERVIDOS) = 0) then (100 - (coales' +
+ 'ce(periodo1.PASADOS_FECHA_PREVISTA, 0)*100))'#10'else (coalesce(peri' +
+ 'odo1.PASADOS_FECHA_PREVISTA, 0)*100)/(periodo1.PENDIENTES + peri' +
+ 'odo1.ENVIADOS + periodo1.SERVIDOS)'#10'end as Porcentaje_Pasados_Fec' +
+ 'ha_Prevista_ANO1,'#10#10'periodo1.ORDENES_DEV as ORDENES_DEV_ANO1,'#10'cas' +
+ 'e'#10'when ((periodo1.PENDIENTES + periodo1.ENVIADOS + periodo1.SERV' +
+ 'IDOS) = 0) then (100 - (coalesce(periodo1.ORDENES_DEV, 0)*100))'#10 +
+ 'else (coalesce(periodo1.ORDENES_DEV, 0)*100)/(periodo1.PENDIENTE' +
+ 'S + periodo1.ENVIADOS + periodo1.SERVIDOS)'#10'end as Porcentaje_Ord' +
+ 'enes_Dev_ANO1,'#10#10'periodo2.ANO as Ano2,'#10'periodo2.PENDIENTES as PEN' +
+ 'DIENTES_ANO2, periodo2.ENVIADOS as ENVIADOS_ANO2, periodo2.SERVI' +
+ 'DOS as SERVIDOS_ANO2,'#10#10'periodo2.INCIDENCIAS as INCIDENCIAS_ANO2,' +
+ #10'case'#10'when ((periodo2.PENDIENTES + periodo2.ENVIADOS + periodo2.' +
+ 'SERVIDOS) = 0) then (100 - (coalesce(periodo2.INCIDENCIAS, 0)*10' +
+ '0))'#10'else (coalesce(periodo2.INCIDENCIAS, 0)*100)/(periodo2.PENDI' +
+ 'ENTES + periodo2.ENVIADOS + periodo2.SERVIDOS)'#10'end as Porcentaje' +
+ '_Incidencias_ANO2,'#10#10'periodo2.PASADOS_FECHA_PREVISTA as PASADOS_' +
+ 'FECHA_PREVISTA_ANO2,'#10'case'#10'when ((periodo2.PENDIENTES + periodo2.' +
+ 'ENVIADOS + periodo2.SERVIDOS) = 0) then (100 - (coalesce(periodo' +
+ '2.PASADOS_FECHA_PREVISTA, 0)*100))'#10'else (coalesce(periodo2.PASAD' +
+ 'OS_FECHA_PREVISTA, 0)*100)/(periodo2.PENDIENTES + periodo2.ENVIA' +
+ 'DOS + periodo2.SERVIDOS)'#10'end as Porcentaje_Pasados_Fecha_Previst' +
+ 'a_ANO2,'#10#10'periodo2.ORDENES_DEV as ORDENES_DEV_ANO2,'#10'case'#10'when ((p' +
+ 'eriodo2.PENDIENTES + periodo2.ENVIADOS + periodo2.SERVIDOS) = 0)' +
+ ' then (100 - (coalesce(periodo2.ORDENES_DEV, 0)*100))'#10'else (coal' +
+ 'esce(periodo2.ORDENES_DEV, 0)*100)/(periodo2.PENDIENTES + period' +
+ 'o2.ENVIADOS + periodo2.SERVIDOS)'#10'end as Porcentaje_Ordenes_Dev_A' +
+ 'NO2,'#10#10'(periodo1.SERVIDOS - periodo2.SERVIDOS) as Diferencia_Serv' +
+ 'idos,'#10'case'#10'when (periodo2.SERVIDOS = 0) then (100 - ((periodo1.S' +
+ 'ERVIDOS - periodo2.SERVIDOS)*100))'#10'else (((periodo1.SERVIDOS - p' +
+ 'eriodo2.SERVIDOS)*100)/periodo2.SERVIDOS)'#10'end as Porcentaje_Aume' +
+ 'nto_Servidos,'#10#10'(periodo1.INCIDENCIAS - periodo2.INCIDENCIAS) as ' +
+ 'Diferencia_Incidencias,'#10'case'#10'when (periodo2.INCIDENCIAS = 0) the' +
+ 'n (100 - ((periodo1.INCIDENCIAS - periodo2.INCIDENCIAS)*100))'#10'el' +
+ 'se (((periodo1.INCIDENCIAS - periodo2.INCIDENCIAS)*100)/periodo2' +
+ '.INCIDENCIAS)'#10'end as Porcentaje_Aumento_Incidencias,'#10#10'(periodo1.' +
+ 'PASADOS_FECHA_PREVISTA - periodo2.PASADOS_FECHA_PREVISTA) as Dif' +
+ 'erencia_Pasados_Fecha_Prevista,'#10'case'#10'when (periodo2.PASADOS_FECH' +
+ 'A_PREVISTA = 0) then (100 - ((periodo1.PASADOS_FECHA_PREVISTA - ' +
+ 'periodo2.PASADOS_FECHA_PREVISTA)*100))'#10'else (((periodo1.PASADOS_' +
+ 'FECHA_PREVISTA - periodo2.PASADOS_FECHA_PREVISTA)*100)/periodo2.' +
+ 'PASADOS_FECHA_PREVISTA)'#10'end as Porcentaje_Aumento_Pasados_Fecha,' +
+ #10#10'(periodo1.ORDENES_DEV - periodo2.ORDENES_DEV) as Diferencia_Or' +
+ 'denes_Dev,'#10'case'#10'when (periodo2.ORDENES_DEV = 0) then (100 - ((pe' +
+ 'riodo1.ORDENES_DEV - periodo2.ORDENES_DEV)*100))'#10'else (((periodo' +
+ '1.ORDENES_DEV - periodo2.ORDENES_DEV)*100)/periodo2.ORDENES_DEV)' +
+ #10'end as Porcentaje_Aumento_Ordenes_Dev'#10#10#10'FROM'#10'periodos_aux'#10'left ' +
+ 'join'#10'(select comp1.ID_EMPRESA, comp1.ANO, TRIMESTRE as NFILA,'#10'SU' +
+ 'M(comp1.SERVIDOS) as SERVIDOS, SUM(comp1.PENDIENTES) AS PENDIENT' +
+ 'ES,'#10'SUM(comp1.ENVIADOS) as ENVIADOS, SUM(comp1.INCIDENCIAS) AS I' +
+ 'NCIDENCIAS,'#10'SUM(comp1.PASADOS_FECHA_PREVISTA) as PASADOS_FECHA_P' +
+ 'REVISTA, SUM(comp1.ORDENES_DEV) AS ORDENES_DEV'#10'from V_INF_ALB_CL' +
+ 'IENTE comp1'#10'where ID_EMPRESA = :ID_EMPRESA1'#10'and (ANO = :ANO1)'#10'gr' +
+ 'oup by 1,2,3'#10'order by 1 desc,2 asc) periodo1 on (VALOR = periodo' +
+ '1.NFILA)'#10#10'left join'#10'(select comp2.ID_EMPRESA, comp2.ANO, TRIMEST' +
+ 'RE as NFILA,'#10'SUM(comp2.SERVIDOS) as SERVIDOS, SUM(comp2.PENDIENT' +
+ 'ES) AS PENDIENTES,'#10'SUM(comp2.ENVIADOS) as ENVIADOS, SUM(comp2.IN' +
+ 'CIDENCIAS) AS INCIDENCIAS,'#10'SUM(comp2.PASADOS_FECHA_PREVISTA) as ' +
+ 'PASADOS_FECHA_PREVISTA, SUM(comp2.ORDENES_DEV) AS ORDENES_DEV'#10'fr' +
+ 'om V_INF_ALB_CLIENTE comp2'#10'where ID_EMPRESA = :ID_EMPRESA2'#10'and (' +
+ 'ANO = :ANO2)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) periodo2 on (' +
+ 'VALOR = periodo2.NFILA)'#10#10'where periodo= '#39'TRIMESTRAL'#39#10'order by va' +
+ 'lor asc'#10
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'VALOR'
+ TableField = 'VALOR'
+ end
+ item
+ DatasetField = 'DESCRIPCION'
+ TableField = 'DESCRIPCION'
+ end
+ item
+ DatasetField = 'ANO1'
+ TableField = 'ANO1'
+ end
+ item
+ DatasetField = 'ANO2'
+ TableField = 'ANO2'
+ end
+ item
+ DatasetField = 'DIFERENCIA_SERVIDOS'
+ TableField = 'DIFERENCIA_SERVIDOS'
+ end
+ item
+ DatasetField = 'DIFERENCIA_INCIDENCIAS'
+ TableField = 'DIFERENCIA_INCIDENCIAS'
+ end
+ item
+ DatasetField = 'DIFERENCIA_PASADOS_FECHA_PREVIS'
+ TableField = 'DIFERENCIA_PASADOS_FECHA_PREVIS'
+ end
+ item
+ DatasetField = 'DIFERENCIA_ORDENES_DEV'
+ TableField = 'DIFERENCIA_ORDENES_DEV'
+ end
+ item
+ DatasetField = 'PORCENTAJE_PASADOS_FECHA_PREVIS'
+ TableField = 'PORCENTAJE_PASADOS_FECHA_PREVIS'
+ end
+ item
+ DatasetField = 'PENDIENTES_ANO1'
+ TableField = 'PENDIENTES_ANO1'
+ end
+ item
+ DatasetField = 'ENVIADOS_ANO1'
+ TableField = 'ENVIADOS_ANO1'
+ end
+ item
+ DatasetField = 'SERVIDOS_ANO1'
+ TableField = 'SERVIDOS_ANO1'
+ end
+ item
+ DatasetField = 'INCIDENCIAS_ANO1'
+ TableField = 'INCIDENCIAS_ANO1'
+ end
+ item
+ DatasetField = 'PORCENTAJE_INCIDENCIAS_ANO1'
+ TableField = 'PORCENTAJE_INCIDENCIAS_ANO1'
+ end
+ item
+ DatasetField = 'PASADOS_FECHA_PREVISTA_ANO1'
+ TableField = 'PASADOS_FECHA_PREVISTA_ANO1'
+ end
+ item
+ DatasetField = 'ORDENES_DEV_ANO1'
+ TableField = 'ORDENES_DEV_ANO1'
+ end
+ item
+ DatasetField = 'PORCENTAJE_ORDENES_DEV_ANO1'
+ TableField = 'PORCENTAJE_ORDENES_DEV_ANO1'
+ end
+ item
+ DatasetField = 'PENDIENTES_ANO2'
+ TableField = 'PENDIENTES_ANO2'
+ end
+ item
+ DatasetField = 'ENVIADOS_ANO2'
+ TableField = 'ENVIADOS_ANO2'
+ end
+ item
+ DatasetField = 'SERVIDOS_ANO2'
+ TableField = 'SERVIDOS_ANO2'
+ end
+ item
+ DatasetField = 'INCIDENCIAS_ANO2'
+ TableField = 'INCIDENCIAS_ANO2'
+ end
+ item
+ DatasetField = 'PORCENTAJE_INCIDENCIAS_ANO2'
+ TableField = 'PORCENTAJE_INCIDENCIAS_ANO2'
+ end
+ item
+ DatasetField = 'PASADOS_FECHA_PREVISTA_ANO2'
+ TableField = 'PASADOS_FECHA_PREVISTA_ANO2'
+ end
+ item
+ DatasetField = 'PORCENTAJE_PASADOS_FECHA_PREVI1'
+ TableField = 'PORCENTAJE_PASADOS_FECHA_PREVI1'
+ end
+ item
+ DatasetField = 'ORDENES_DEV_ANO2'
+ TableField = 'ORDENES_DEV_ANO2'
+ end
+ item
+ DatasetField = 'PORCENTAJE_ORDENES_DEV_ANO2'
+ TableField = 'PORCENTAJE_ORDENES_DEV_ANO2'
+ end
+ item
+ DatasetField = 'PORCENTAJE_AUMENTO_SERVIDOS'
+ TableField = 'PORCENTAJE_AUMENTO_SERVIDOS'
+ end
+ item
+ DatasetField = 'PORCENTAJE_AUMENTO_INCIDENCIAS'
+ TableField = 'PORCENTAJE_AUMENTO_INCIDENCIAS'
+ end
+ item
+ DatasetField = 'PORCENTAJE_AUMENTO_PASADOS_FECH'
+ TableField = 'PORCENTAJE_AUMENTO_PASADOS_FECH'
+ end
+ item
+ DatasetField = 'PORCENTAJE_AUMENTO_ORDENES_DEV'
+ TableField = 'PORCENTAJE_AUMENTO_ORDENES_DEV'
+ end>
+ end>
+ Name = 'InformeListadoAlbaranesGrafCompTrimestral'
+ Fields = <
+ item
+ Name = 'VALOR'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'DESCRIPCION'
+ DataType = datString
+ Size = 20
+ end
+ item
+ Name = 'ANO1'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'PENDIENTES_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ENVIADOS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'SERVIDOS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'INCIDENCIAS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_INCIDENCIAS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PASADOS_FECHA_PREVISTA_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_PASADOS_FECHA_PREVIS'
+ DataType = datFloat
+ end
+ item
+ Name = 'ORDENES_DEV_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_ORDENES_DEV_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ANO2'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'PENDIENTES_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'ENVIADOS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'SERVIDOS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'INCIDENCIAS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_INCIDENCIAS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PASADOS_FECHA_PREVISTA_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_PASADOS_FECHA_PREVI1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ORDENES_DEV_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_ORDENES_DEV_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_SERVIDOS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_SERVIDOS'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_INCIDENCIAS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_INCIDENCIAS'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_PASADOS_FECHA_PREVIS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_PASADOS_FECH'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_ORDENES_DEV'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_ORDENES_DEV'
+ DataType = datFloat
+ end>
+ end
+ item
+ Params = <
+ item
+ Name = 'ID_EMPRESA1'
+ Value = ''
+ end
+ item
+ Name = 'ANO1'
+ Value = ''
+ end
+ item
+ Name = 'ID_EMPRESA2'
+ Value = ''
+ end
+ item
+ Name = 'ANO2'
+ Value = ''
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ Default = True
+ SQL =
+ 'select VALOR, DESCRIPCION, periodo1.ANO as Ano1,'#10'periodo1.PENDIE' +
+ 'NTES as PENDIENTES_ANO1, periodo1.ENVIADOS as ENVIADOS_ANO1, per' +
+ 'iodo1.SERVIDOS as SERVIDOS_ANO1,'#10#10'periodo1.INCIDENCIAS as INCIDE' +
+ 'NCIAS_ANO1,'#10'case'#10'when ((periodo1.PENDIENTES + periodo1.ENVIADOS ' +
+ '+ periodo1.SERVIDOS) = 0) then (100 - (coalesce(periodo1.INCIDEN' +
+ 'CIAS, 0)*100))'#10'else (coalesce(periodo1.INCIDENCIAS, 0)*100)/(per' +
+ 'iodo1.PENDIENTES + periodo1.ENVIADOS + periodo1.SERVIDOS)'#10'end as' +
+ ' Porcentaje_Incidencias_ANO1,'#10#10'periodo1.PASADOS_FECHA_PREVISTA a' +
+ 's PASADOS_FECHA_PREVISTA_ANO1,'#10'case'#10'when ((periodo1.PENDIENTES +' +
+ ' periodo1.ENVIADOS + periodo1.SERVIDOS) = 0) then (100 - (coales' +
+ 'ce(periodo1.PASADOS_FECHA_PREVISTA, 0)*100))'#10'else (coalesce(peri' +
+ 'odo1.PASADOS_FECHA_PREVISTA, 0)*100)/(periodo1.PENDIENTES + peri' +
+ 'odo1.ENVIADOS + periodo1.SERVIDOS)'#10'end as Porcentaje_Pasados_Fec' +
+ 'ha_Prevista_ANO1,'#10#10'periodo1.ORDENES_DEV as ORDENES_DEV_ANO1,'#10'cas' +
+ 'e'#10'when ((periodo1.PENDIENTES + periodo1.ENVIADOS + periodo1.SERV' +
+ 'IDOS) = 0) then (100 - (coalesce(periodo1.ORDENES_DEV, 0)*100))'#10 +
+ 'else (coalesce(periodo1.ORDENES_DEV, 0)*100)/(periodo1.PENDIENTE' +
+ 'S + periodo1.ENVIADOS + periodo1.SERVIDOS)'#10'end as Porcentaje_Ord' +
+ 'enes_Dev_ANO1,'#10#10'periodo2.ANO as Ano2,'#10'periodo2.PENDIENTES as PEN' +
+ 'DIENTES_ANO2, periodo2.ENVIADOS as ENVIADOS_ANO2, periodo2.SERVI' +
+ 'DOS as SERVIDOS_ANO2,'#10#10'periodo2.INCIDENCIAS as INCIDENCIAS_ANO2,' +
+ #10'case'#10'when ((periodo2.PENDIENTES + periodo2.ENVIADOS + periodo2.' +
+ 'SERVIDOS) = 0) then (100 - (coalesce(periodo2.INCIDENCIAS, 0)*10' +
+ '0))'#10'else (coalesce(periodo2.INCIDENCIAS, 0)*100)/(periodo2.PENDI' +
+ 'ENTES + periodo2.ENVIADOS + periodo2.SERVIDOS)'#10'end as Porcentaje' +
+ '_Incidencias_ANO2,'#10#10'periodo2.PASADOS_FECHA_PREVISTA as PASADOS_' +
+ 'FECHA_PREVISTA_ANO2,'#10'case'#10'when ((periodo2.PENDIENTES + periodo2.' +
+ 'ENVIADOS + periodo2.SERVIDOS) = 0) then (100 - (coalesce(periodo' +
+ '2.PASADOS_FECHA_PREVISTA, 0)*100))'#10'else (coalesce(periodo2.PASAD' +
+ 'OS_FECHA_PREVISTA, 0)*100)/(periodo2.PENDIENTES + periodo2.ENVIA' +
+ 'DOS + periodo2.SERVIDOS)'#10'end as Porcentaje_Pasados_Fecha_Previst' +
+ 'a_ANO2,'#10#10'periodo2.ORDENES_DEV as ORDENES_DEV_ANO2,'#10'case'#10'when ((p' +
+ 'eriodo2.PENDIENTES + periodo2.ENVIADOS + periodo2.SERVIDOS) = 0)' +
+ ' then (100 - (coalesce(periodo2.ORDENES_DEV, 0)*100))'#10'else (coal' +
+ 'esce(periodo2.ORDENES_DEV, 0)*100)/(periodo2.PENDIENTES + period' +
+ 'o2.ENVIADOS + periodo2.SERVIDOS)'#10'end as Porcentaje_Ordenes_Dev_A' +
+ 'NO2,'#10#10'(periodo1.SERVIDOS - periodo2.SERVIDOS) as Diferencia_Serv' +
+ 'idos,'#10'case'#10'when (periodo2.SERVIDOS = 0) then (100 - ((periodo1.S' +
+ 'ERVIDOS - periodo2.SERVIDOS)*100))'#10'else (((periodo1.SERVIDOS - p' +
+ 'eriodo2.SERVIDOS)*100)/periodo2.SERVIDOS)'#10'end as Porcentaje_Aume' +
+ 'nto_Servidos,'#10#10'(periodo1.INCIDENCIAS - periodo2.INCIDENCIAS) as ' +
+ 'Diferencia_Incidencias,'#10'case'#10'when (periodo2.INCIDENCIAS = 0) the' +
+ 'n (100 - ((periodo1.INCIDENCIAS - periodo2.INCIDENCIAS)*100))'#10'el' +
+ 'se (((periodo1.INCIDENCIAS - periodo2.INCIDENCIAS)*100)/periodo2' +
+ '.INCIDENCIAS)'#10'end as Porcentaje_Aumento_Incidencias,'#10#10'(periodo1.' +
+ 'PASADOS_FECHA_PREVISTA - periodo2.PASADOS_FECHA_PREVISTA) as Dif' +
+ 'erencia_Pasados_Fecha_Prevista,'#10'case'#10'when (periodo2.PASADOS_FECH' +
+ 'A_PREVISTA = 0) then (100 - ((periodo1.PASADOS_FECHA_PREVISTA - ' +
+ 'periodo2.PASADOS_FECHA_PREVISTA)*100))'#10'else (((periodo1.PASADOS_' +
+ 'FECHA_PREVISTA - periodo2.PASADOS_FECHA_PREVISTA)*100)/periodo2.' +
+ 'PASADOS_FECHA_PREVISTA)'#10'end as Porcentaje_Aumento_Pasados_Fecha,' +
+ #10#10'(periodo1.ORDENES_DEV - periodo2.ORDENES_DEV) as Diferencia_Or' +
+ 'denes_Dev,'#10'case'#10'when (periodo2.ORDENES_DEV = 0) then (100 - ((pe' +
+ 'riodo1.ORDENES_DEV - periodo2.ORDENES_DEV)*100))'#10'else (((periodo' +
+ '1.ORDENES_DEV - periodo2.ORDENES_DEV)*100)/periodo2.ORDENES_DEV)' +
+ #10'end as Porcentaje_Aumento_Ordenes_Dev'#10#10#10'FROM'#10'periodos_aux'#10'left ' +
+ 'join'#10'(select comp1.ID_EMPRESA, comp1.ANO, SEMESTRE as NFILA,'#10'SUM' +
+ '(comp1.SERVIDOS) as SERVIDOS, SUM(comp1.PENDIENTES) AS PENDIENTE' +
+ 'S,'#10'SUM(comp1.ENVIADOS) as ENVIADOS, SUM(comp1.INCIDENCIAS) AS IN' +
+ 'CIDENCIAS,'#10'SUM(comp1.PASADOS_FECHA_PREVISTA) as PASADOS_FECHA_PR' +
+ 'EVISTA, SUM(comp1.ORDENES_DEV) AS ORDENES_DEV'#10'from V_INF_ALB_CLI' +
+ 'ENTE comp1'#10'where ID_EMPRESA = :ID_EMPRESA1'#10'and (ANO = :ANO1)'#10'gro' +
+ 'up by 1,2,3'#10'order by 1 desc,2 asc) periodo1 on (VALOR = periodo1' +
+ '.NFILA)'#10#10'left join'#10'(select comp2.ID_EMPRESA, comp2.ANO, SEMESTRE' +
+ ' as NFILA,'#10'SUM(comp2.SERVIDOS) as SERVIDOS, SUM(comp2.PENDIENTES' +
+ ') AS PENDIENTES,'#10'SUM(comp2.ENVIADOS) as ENVIADOS, SUM(comp2.INCI' +
+ 'DENCIAS) AS INCIDENCIAS,'#10'SUM(comp2.PASADOS_FECHA_PREVISTA) as PA' +
+ 'SADOS_FECHA_PREVISTA, SUM(comp2.ORDENES_DEV) AS ORDENES_DEV'#10'from' +
+ ' V_INF_ALB_CLIENTE comp2'#10'where ID_EMPRESA = :ID_EMPRESA2'#10'and (AN' +
+ 'O = :ANO2)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) periodo2 on (VA' +
+ 'LOR = periodo2.NFILA)'#10#10'where periodo= '#39'SEMESTRAL'#39#10'order by valor' +
+ ' asc'#10
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'VALOR'
+ TableField = 'VALOR'
+ end
+ item
+ DatasetField = 'DESCRIPCION'
+ TableField = 'DESCRIPCION'
+ end
+ item
+ DatasetField = 'ANO1'
+ TableField = 'ANO1'
+ end
+ item
+ DatasetField = 'ANO2'
+ TableField = 'ANO2'
+ end
+ item
+ DatasetField = 'DIFERENCIA_SERVIDOS'
+ TableField = 'DIFERENCIA_SERVIDOS'
+ end
+ item
+ DatasetField = 'DIFERENCIA_INCIDENCIAS'
+ TableField = 'DIFERENCIA_INCIDENCIAS'
+ end
+ item
+ DatasetField = 'DIFERENCIA_PASADOS_FECHA_PREVIS'
+ TableField = 'DIFERENCIA_PASADOS_FECHA_PREVIS'
+ end
+ item
+ DatasetField = 'DIFERENCIA_ORDENES_DEV'
+ TableField = 'DIFERENCIA_ORDENES_DEV'
+ end
+ item
+ DatasetField = 'PORCENTAJE_PASADOS_FECHA_PREVIS'
+ TableField = 'PORCENTAJE_PASADOS_FECHA_PREVIS'
+ end
+ item
+ DatasetField = 'PENDIENTES_ANO1'
+ TableField = 'PENDIENTES_ANO1'
+ end
+ item
+ DatasetField = 'ENVIADOS_ANO1'
+ TableField = 'ENVIADOS_ANO1'
+ end
+ item
+ DatasetField = 'SERVIDOS_ANO1'
+ TableField = 'SERVIDOS_ANO1'
+ end
+ item
+ DatasetField = 'INCIDENCIAS_ANO1'
+ TableField = 'INCIDENCIAS_ANO1'
+ end
+ item
+ DatasetField = 'PORCENTAJE_INCIDENCIAS_ANO1'
+ TableField = 'PORCENTAJE_INCIDENCIAS_ANO1'
+ end
+ item
+ DatasetField = 'PASADOS_FECHA_PREVISTA_ANO1'
+ TableField = 'PASADOS_FECHA_PREVISTA_ANO1'
+ end
+ item
+ DatasetField = 'ORDENES_DEV_ANO1'
+ TableField = 'ORDENES_DEV_ANO1'
+ end
+ item
+ DatasetField = 'PORCENTAJE_ORDENES_DEV_ANO1'
+ TableField = 'PORCENTAJE_ORDENES_DEV_ANO1'
+ end
+ item
+ DatasetField = 'PENDIENTES_ANO2'
+ TableField = 'PENDIENTES_ANO2'
+ end
+ item
+ DatasetField = 'ENVIADOS_ANO2'
+ TableField = 'ENVIADOS_ANO2'
+ end
+ item
+ DatasetField = 'SERVIDOS_ANO2'
+ TableField = 'SERVIDOS_ANO2'
+ end
+ item
+ DatasetField = 'INCIDENCIAS_ANO2'
+ TableField = 'INCIDENCIAS_ANO2'
+ end
+ item
+ DatasetField = 'PORCENTAJE_INCIDENCIAS_ANO2'
+ TableField = 'PORCENTAJE_INCIDENCIAS_ANO2'
+ end
+ item
+ DatasetField = 'PASADOS_FECHA_PREVISTA_ANO2'
+ TableField = 'PASADOS_FECHA_PREVISTA_ANO2'
+ end
+ item
+ DatasetField = 'PORCENTAJE_PASADOS_FECHA_PREVI1'
+ TableField = 'PORCENTAJE_PASADOS_FECHA_PREVI1'
+ end
+ item
+ DatasetField = 'ORDENES_DEV_ANO2'
+ TableField = 'ORDENES_DEV_ANO2'
+ end
+ item
+ DatasetField = 'PORCENTAJE_ORDENES_DEV_ANO2'
+ TableField = 'PORCENTAJE_ORDENES_DEV_ANO2'
+ end
+ item
+ DatasetField = 'PORCENTAJE_AUMENTO_SERVIDOS'
+ TableField = 'PORCENTAJE_AUMENTO_SERVIDOS'
+ end
+ item
+ DatasetField = 'PORCENTAJE_AUMENTO_INCIDENCIAS'
+ TableField = 'PORCENTAJE_AUMENTO_INCIDENCIAS'
+ end
+ item
+ DatasetField = 'PORCENTAJE_AUMENTO_PASADOS_FECH'
+ TableField = 'PORCENTAJE_AUMENTO_PASADOS_FECH'
+ end
+ item
+ DatasetField = 'PORCENTAJE_AUMENTO_ORDENES_DEV'
+ TableField = 'PORCENTAJE_AUMENTO_ORDENES_DEV'
+ end>
+ end>
+ Name = 'InformeListadoAlbaranesGrafCompSemestral'
+ Fields = <
+ item
+ Name = 'VALOR'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'DESCRIPCION'
+ DataType = datString
+ Size = 20
+ end
+ item
+ Name = 'ANO1'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'PENDIENTES_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ENVIADOS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'SERVIDOS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'INCIDENCIAS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_INCIDENCIAS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PASADOS_FECHA_PREVISTA_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_PASADOS_FECHA_PREVIS'
+ DataType = datFloat
+ end
+ item
+ Name = 'ORDENES_DEV_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_ORDENES_DEV_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ANO2'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'PENDIENTES_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'ENVIADOS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'SERVIDOS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'INCIDENCIAS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_INCIDENCIAS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PASADOS_FECHA_PREVISTA_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_PASADOS_FECHA_PREVI1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ORDENES_DEV_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_ORDENES_DEV_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_SERVIDOS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_SERVIDOS'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_INCIDENCIAS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_INCIDENCIAS'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_PASADOS_FECHA_PREVIS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_PASADOS_FECH'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_ORDENES_DEV'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_ORDENES_DEV'
+ DataType = datFloat
+ end>
+ end
+ item
+ Params = <
+ item
+ Name = 'ID_EMPRESA'
+ Value = ''
+ end
+ item
+ Name = 'ANO'
+ Value = ''
+ end
+ item
+ Name = 'NTOP'
+ Value = ''
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ Default = True
+ SQL =
+ 'select P.ANO, C.REFERENCIA, C.NOMBRE, VT1.INCIDENCIAS_TOTALES as' +
+ ' INCIDENCIAS_TOTAL_ANO,'#10'COUNT(P.FECHA_ALBARAN) as NUMALB, SUM(P.' +
+ 'INCIDENCIAS) as INCIDENCIAS_TOTAL,'#10'((SUM(P.INCIDENCIAS)*100)/VT1' +
+ '.INCIDENCIAS_TOTALES) as PORCENTAJE'#10#10'from V_INF_ALB_CLIENTE P'#10'le' +
+ 'ft join CONTACTOS C on P.ID_CLIENTE = C.ID'#10'inner join V_INF_ALB_' +
+ 'CLI_INCIDEN_TOTAL_ANO VT1 on ((VT1.id_empresa = P.id_empresa) an' +
+ 'd (VT1.Ano = EXTRACT(YEAR FROM P.FECHA_ALBARAN)))'#10#10'where (p.ID_E' +
+ 'MPRESA = :ID_EMPRESA)'#10'and (P.ANO = :ANO)'#10'group by 1,2,3,4'#10'having' +
+ ' (SUM(INCIDENCIAS) > 0)'#10'order by 1,6 desc'#10'rows 1 to :NTOP'#10
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'ANO'
+ TableField = 'ANO'
+ end
+ item
+ DatasetField = 'REFERENCIA'
+ TableField = 'REFERENCIA'
+ end
+ item
+ DatasetField = 'NOMBRE'
+ TableField = 'NOMBRE'
+ end
+ item
+ DatasetField = 'PORCENTAJE'
+ TableField = 'PORCENTAJE'
+ end
+ item
+ DatasetField = 'INCIDENCIAS_TOTAL_ANO'
+ TableField = 'INCIDENCIAS_TOTAL_ANO'
+ end
+ item
+ DatasetField = 'NUMALB'
+ TableField = 'NUMALB'
+ end
+ item
+ DatasetField = 'INCIDENCIAS_TOTAL'
+ TableField = 'INCIDENCIAS_TOTAL'
+ end>
+ end>
+ Name = 'InformeListadoClientesMayorIncidenciasResumen'
+ Fields = <
+ item
+ Name = 'ANO'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'NOMBRE'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'INCIDENCIAS_TOTAL_ANO'
+ DataType = datInteger
+ end
+ item
+ Name = 'NUMALB'
+ DataType = datInteger
+ end
+ item
+ Name = 'INCIDENCIAS_TOTAL'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE'
+ DataType = datFloat
+ end>
+ end
+ item
+ Params = <
+ item
+ Name = 'ID_EMPRESA'
+ Value = ''
+ end
+ item
+ Name = 'ANO'
+ Value = ''
+ end
+ item
+ Name = 'NTOP'
+ Value = ''
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ Default = True
+ SQL =
+ ' select P.ANO, C.REFERENCIA, C.NOMBRE, VT1.ORDENES_DEV_TOTALES a' +
+ 's ORDENES_TOTAL_ANO,'#10'COUNT(P.FECHA_ALBARAN) as NUMALB, SUM(P.ORD' +
+ 'ENES_DEV) as ORDENES_TOTAL,'#10'((SUM(P.ORDENES_DEV)*100)/VT1.ORDENE' +
+ 'S_DEV_TOTALES) as PORCENTAJE'#10#10'from V_INF_ALB_CLIENTE P'#10'left join' +
+ ' CONTACTOS C on P.ID_CLIENTE = C.ID'#10'inner join V_INF_ALB_CLI_ORD' +
+ 'DEV_TOTAL_ANO VT1 on ((VT1.id_empresa = P.id_empresa) and (VT1.A' +
+ 'no = EXTRACT(YEAR FROM P.FECHA_ALBARAN)))'#10#10'where p.ID_EMPRESA = ' +
+ ':ID_EMPRESA'#10'and P.ANO = :ANO'#10'group by 1,2,3,4'#10'having (SUM(P.ORDE' +
+ 'NES_DEV) > 0)'#10'order by 1,6 desc'#10'rows 1 to :NTOP'#10#10
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'ANO'
+ TableField = 'ANO'
+ end
+ item
+ DatasetField = 'REFERENCIA'
+ TableField = 'REFERENCIA'
+ end
+ item
+ DatasetField = 'NOMBRE'
+ TableField = 'NOMBRE'
+ end
+ item
+ DatasetField = 'NUMALB'
+ TableField = 'NUMALB'
+ end
+ item
+ DatasetField = 'PORCENTAJE'
+ TableField = 'PORCENTAJE'
+ end
+ item
+ DatasetField = 'ORDENES_TOTAL_ANO'
+ TableField = 'ORDENES_TOTAL_ANO'
+ end
+ item
+ DatasetField = 'ORDENES_TOTAL'
+ TableField = 'ORDENES_TOTAL'
+ end>
+ end>
+ Name = 'InformeListadoClientesMayorOrdenesDevResumen'
+ Fields = <
+ item
+ Name = 'ANO'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'NOMBRE'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'ORDENES_TOTAL_ANO'
+ DataType = datInteger
+ end
+ item
+ Name = 'NUMALB'
+ DataType = datInteger
+ end
+ item
+ Name = 'ORDENES_TOTAL'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE'
+ DataType = datFloat
+ end>
end>
JoinDataTables = <>
UnionDataTables = <>
@@ -498,72 +1807,140 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
PreviewOptions.Zoom = 1.000000000000000000
PrintOptions.Printer = 'Por defecto'
PrintOptions.PrintOnSheet = 0
- ReportOptions.CreateDate = 39065.872423495400000000
- ReportOptions.LastChange = 40408.561164004630000000
+ ReportOptions.CreateDate = 37800.807714351900000000
+ ReportOptions.LastChange = 40644.654743692130000000
ScriptLanguage = 'PascalScript'
ScriptText.Strings = (
- ''
- 'procedure NombreEmpresaOnBeforePrint(Sender: TfrxComponent);'
+ 'procedure Chart1OnBeforePrint(Sender: TfrxComponent);'
'begin'
- '// NombreEmpresa.Lines.Clear;'
- '// NombreEmpresa.Lines.Add();'
+ ' '
+ ' if ( <> 0) then'
+ ' begin '
+
+ ' TLineSeries(Chart1.Series[0]).Title := '#39'Servidos '#39' + VarToS' +
+ 'tr();'
+
+ ' TLineSeries(Chart1.Series[2]).Title := '#39'Incidencias '#39' + Var' +
+ 'ToStr();'
+
+ ' TLineSeries(Chart1.Series[4]).Title := '#39'Fuera de fecha '#39' + ' +
+ 'VarToStr();'
+
+ ' TLineSeries(Chart1.Series[6]).Title := '#39#211'rdenes dev. '#39' + Va' +
+ 'rToStr();'
+ ' end;'
+ ' '
+ ' if ( > 0) then'
+ ' begin '
+
+ ' TLineSeries(Chart1.Series[1]).Title := '#39'Servidos '#39' + VarToS' +
+ 'tr();'
+
+ ' TLineSeries(Chart1.Series[3]).Title := '#39'Incidencias '#39' + Var' +
+ 'ToStr();'
+
+ ' TLineSeries(Chart1.Series[5]).Title := '#39'Fuera de fecha '#39' + ' +
+ 'VarToStr();'
+
+ ' TLineSeries(Chart1.Series[7]).Title := '#39#211'rdenes dev. '#39' + Va' +
+ 'rToStr();'
+ ' end'
+ ' else'
+ ' begin '
+ ' Chart1.Series[1].Active := False;'
+ ' Chart1.Series[3].Active := False;'
+ ' Chart1.Series[5].Active := False;'
+ ' Chart1.Series[7].Active := False; '
+ ' end;'
+ ''
+ ' if ( <> 0) then'
+ ' begin'
+ '//Solo Servidos '
+ ' if ( = 1) then'
+ ' begin'
+ ' Chart1.Series[0].Active := True;'
+ ' Chart1.Series[1].Active := True;'
+ ' Chart1.Series[2].Active := False;'
+ ' Chart1.Series[3].Active := False;'
+ ' Chart1.Series[4].Active := False;'
+ ' Chart1.Series[5].Active := False;'
+ ' Chart1.Series[6].Active := False;'
+ ' Chart1.Series[7].Active := False;'
+ ' end'
+
+ '//Solo Incidencias ' +
+ ' '
+ ' else if ( = 2) then'
+ ' begin'
+ ' Chart1.Series[0].Active := False;'
+ ' Chart1.Series[1].Active := False;'
+ ' Chart1.Series[2].Active := True;'
+ ' Chart1.Series[3].Active := True;'
+ ' Chart1.Series[4].Active := False;'
+ ' Chart1.Series[5].Active := False;'
+ ' Chart1.Series[6].Active := False;'
+ ' Chart1.Series[7].Active := False;'
+ ' end'
+
+ '//Solo Fuera de Fecha ' +
+ ' '
+ ' else if ( = 3) then'
+ ' begin'
+ ' Chart1.Series[0].Active := False;'
+ ' Chart1.Series[1].Active := False;'
+ ' Chart1.Series[2].Active := False;'
+ ' Chart1.Series[3].Active := False;'
+ ' Chart1.Series[4].Active := True;'
+ ' Chart1.Series[5].Active := True;'
+ ' Chart1.Series[6].Active := False;'
+ ' Chart1.Series[7].Active := False;'
+ ' end '
+
+ '//Solo Ordenes de devolucion ' +
+ ' ' +
+ ' '
+ ' else if ( = 4) then'
+ ' begin'
+ ' Chart1.Series[0].Active := False;'
+ ' Chart1.Series[1].Active := False;'
+ ' Chart1.Series[2].Active := False;'
+ ' Chart1.Series[3].Active := False;'
+ ' Chart1.Series[4].Active := False;'
+ ' Chart1.Series[5].Active := False;'
+ ' Chart1.Series[6].Active := True;'
+ ' Chart1.Series[7].Active := True;'
+ ' end; '
+ ' '
+ ' end;'
'end;'
''
- 'procedure TelefonosEmpresaOnBeforePrint(Sender: TfrxComponent);'
+ 'procedure Memo16OnBeforePrint(Sender: TfrxComponent);'
'var'
- ' Cadena: String;'
+ ' Valor:Double; '
'begin'
- '{ TelefonosEmpresa.Lines.Clear;'
- ''
- ' if ( <> '#39#39') then'
- ' Cadena := '#39'tlf: '#39' + ;'
- ' if ( <> '#39#39') then'
+ '{ '
- ' Cadena := Cadena + '#39' / fax: '#39' + ;'
- ' TelefonosEmpresa.Lines.Add(Cadena);'
+ ' Valor := SUM() * 100; '
+
+ ' if (SUM()' +
+ ' = 0) then'
+ ' Valor := 100 - Valor '
+ ' else'
+
+ ' Valor := 100 - (Valor/SUM()); '
+ ''
+ ' memo16.lines.add(FormatFloat('#39'#,##0.00 %'#39',Valor));'
'} '
'end;'
''
- 'procedure DireccionEmpresaOnBeforePrint(Sender: TfrxComponent);'
- 'var'
- ' Cadena: String;'
'begin'
- '{ '
- ' DireccionEmpresa.Lines.Clear;'
- ''
- ' if ( <> '#39#39') then'
-
- ' DireccionEmpresa.Lines.Add()' +
- ';'
- ''
- ' if ( <> '#39#39') then'
- ' Cadena := ;'
- ' if ( <> '#39#39') then'
-
- ' Cadena := Cadena + '#39', '#39' + ;'
- ' DireccionEmpresa.Lines.Add(Cadena);'
- ''
- ' if ( <> '#39#39') then'
-
- ' DireccionEmpresa.Lines.Add();'
- '} '
- 'end;'
- ''
- ''
- 'procedure Memo11OnBeforePrint(Sender: TfrxComponent);'
- 'begin'
- ' Memo11.Visible := ( <> 0);'
- 'end;'
- ''
- 'begin'
- ''
- 'end.')
+ 'end. ')
ShowProgress = False
StoreInDFM = False
OnGetValue = frxReportGetValue
+ OnStartReport = 'frxReportOnStartReport'
Left = 145
Top = 16
end
@@ -1055,4 +2432,682 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
Left = 48
Top = 88
end
+ object frxDBInformeListadoAlbaranesGrafComp: TfrxDBDataset
+ UserName = 'frxDBInformeListadoAlbaranesGrafComp'
+ CloseDataSource = False
+ DataSource = DASInformeListadoAlbaranesGrafComp
+ BCDToCurrency = False
+ Left = 520
+ Top = 32
+ end
+ object DASInformeListadoAlbaranesGrafComp: TDADataSource
+ Left = 520
+ Top = 80
+ end
+ object tbl_InformeListadoAlbaranesGrafCompMensual: TDAMemDataTable
+ RemoteUpdatesOptions = []
+ Fields = <
+ item
+ Name = 'VALOR'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'DESCRIPCION'
+ DataType = datString
+ Size = 20
+ end
+ item
+ Name = 'ANO1'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'PENDIENTES_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ENVIADOS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'SERVIDOS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'INCIDENCIAS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_INCIDENCIAS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PASADOS_FECHA_PREVISTA_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_PASADOS_FECHA_PREVIS'
+ DataType = datFloat
+ end
+ item
+ Name = 'ORDENES_DEV_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_ORDENES_DEV_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ANO2'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'PENDIENTES_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'ENVIADOS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'SERVIDOS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'INCIDENCIAS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_INCIDENCIAS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PASADOS_FECHA_PREVISTA_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_PASADOS_FECHA_PREVI1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ORDENES_DEV_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_ORDENES_DEV_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_SERVIDOS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_SERVIDOS'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_INCIDENCIAS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_INCIDENCIAS'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_PASADOS_FECHA_PREVIS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_PASADOS_FECH'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_ORDENES_DEV'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_ORDENES_DEV'
+ DataType = datFloat
+ end>
+ Params = <
+ item
+ Name = 'ID_EMPRESA1'
+ Value = ''
+ end
+ item
+ Name = 'ANO1'
+ Value = ''
+ end
+ item
+ Name = 'ID_EMPRESA2'
+ Value = ''
+ end
+ item
+ Name = 'ANO2'
+ Value = ''
+ end>
+ LogChanges = False
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteFetchEnabled = False
+ LocalSchema = schReport
+ LocalDataStreamer = DABin2DataStreamer1
+ LogicalName = 'InformeListadoAlbaranesGrafCompMensual'
+ IndexDefs = <>
+ Left = 520
+ Top = 136
+ end
+ object tbl_InformeListadoAlbaranesGrafCompTrimestral: TDAMemDataTable
+ RemoteUpdatesOptions = []
+ Fields = <
+ item
+ Name = 'VALOR'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'DESCRIPCION'
+ DataType = datString
+ Size = 20
+ end
+ item
+ Name = 'ANO1'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'PENDIENTES_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ENVIADOS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'SERVIDOS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'INCIDENCIAS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_INCIDENCIAS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PASADOS_FECHA_PREVISTA_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_PASADOS_FECHA_PREVIS'
+ DataType = datFloat
+ end
+ item
+ Name = 'ORDENES_DEV_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_ORDENES_DEV_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ANO2'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'PENDIENTES_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'ENVIADOS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'SERVIDOS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'INCIDENCIAS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_INCIDENCIAS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PASADOS_FECHA_PREVISTA_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_PASADOS_FECHA_PREVI1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ORDENES_DEV_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_ORDENES_DEV_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_SERVIDOS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_SERVIDOS'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_INCIDENCIAS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_INCIDENCIAS'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_PASADOS_FECHA_PREVIS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_PASADOS_FECH'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_ORDENES_DEV'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_ORDENES_DEV'
+ DataType = datFloat
+ end>
+ Params = <
+ item
+ Name = 'ID_EMPRESA1'
+ Value = ''
+ end
+ item
+ Name = 'ANO1'
+ Value = ''
+ end
+ item
+ Name = 'ID_EMPRESA2'
+ Value = ''
+ end
+ item
+ Name = 'ANO2'
+ Value = ''
+ end>
+ LogChanges = False
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteFetchEnabled = False
+ LocalSchema = schReport
+ LocalDataStreamer = DABin2DataStreamer1
+ LogicalName = 'InformeListadoAlbaranesGrafCompTrimestral'
+ IndexDefs = <>
+ Left = 520
+ Top = 192
+ end
+ object tbl_InformeListadoAlbaranesGrafCompSemestral: TDAMemDataTable
+ RemoteUpdatesOptions = []
+ Fields = <
+ item
+ Name = 'VALOR'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'DESCRIPCION'
+ DataType = datString
+ Size = 20
+ end
+ item
+ Name = 'ANO1'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'PENDIENTES_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ENVIADOS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'SERVIDOS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'INCIDENCIAS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_INCIDENCIAS_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PASADOS_FECHA_PREVISTA_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_PASADOS_FECHA_PREVIS'
+ DataType = datFloat
+ end
+ item
+ Name = 'ORDENES_DEV_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_ORDENES_DEV_ANO1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ANO2'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'PENDIENTES_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'ENVIADOS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'SERVIDOS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'INCIDENCIAS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_INCIDENCIAS_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PASADOS_FECHA_PREVISTA_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_PASADOS_FECHA_PREVI1'
+ DataType = datFloat
+ end
+ item
+ Name = 'ORDENES_DEV_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_ORDENES_DEV_ANO2'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_SERVIDOS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_SERVIDOS'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_INCIDENCIAS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_INCIDENCIAS'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_PASADOS_FECHA_PREVIS'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_PASADOS_FECH'
+ DataType = datFloat
+ end
+ item
+ Name = 'DIFERENCIA_ORDENES_DEV'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE_AUMENTO_ORDENES_DEV'
+ DataType = datFloat
+ end>
+ Params = <
+ item
+ Name = 'ID_EMPRESA1'
+ Value = ''
+ end
+ item
+ Name = 'ANO1'
+ Value = ''
+ end
+ item
+ Name = 'ID_EMPRESA2'
+ Value = ''
+ end
+ item
+ Name = 'ANO2'
+ Value = ''
+ end>
+ LogChanges = False
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteFetchEnabled = False
+ LocalSchema = schReport
+ LocalDataStreamer = DABin2DataStreamer1
+ LogicalName = 'InformeListadoAlbaranesGrafCompSemestral'
+ IndexDefs = <>
+ Left = 520
+ Top = 248
+ end
+ object frxDBInformeListadoClientesMayorAlbaranadoResumen: TfrxDBDataset
+ UserName = 'frxDBInformeListadoClientesMayorAlbaranadoResumen'
+ CloseDataSource = False
+ DataSource = DADSInformeListadoClientesMayorAlbaranadoResumen
+ BCDToCurrency = False
+ Left = 776
+ Top = 32
+ end
+ object DADSInformeListadoClientesMayorAlbaranadoResumen: TDADataSource
+ DataSet = tbl_InformeListadoClientesMayorAlbaranadoResumen.Dataset
+ DataTable = tbl_InformeListadoClientesMayorAlbaranadoResumen
+ Left = 776
+ Top = 88
+ end
+ object tbl_InformeListadoClientesMayorAlbaranadoResumen: TDAMemDataTable
+ RemoteUpdatesOptions = []
+ Fields = <
+ item
+ Name = 'ANO'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'NOMBRE'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'IMPORTE_TOTAL_ANO'
+ DataType = datCurrency
+ end
+ item
+ Name = 'NUMALB'
+ DataType = datInteger
+ end
+ item
+ Name = 'IMPORTE_TOTAL'
+ DataType = datCurrency
+ end
+ item
+ Name = 'PORCENTAJE'
+ DataType = datCurrency
+ end>
+ Params = <
+ item
+ Name = 'ID_EMPRESA'
+ Value = ''
+ end
+ item
+ Name = 'ANO'
+ Value = ''
+ end
+ item
+ Name = 'NTOP'
+ Value = ''
+ end>
+ MasterMappingMode = mmDataRequest
+ LogChanges = False
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteFetchEnabled = False
+ LocalSchema = schReport
+ LocalDataStreamer = DABin2DataStreamer1
+ LogicalName = 'InformeListadoClientesMayorAlbaranadoResumen'
+ IndexDefs = <>
+ Left = 776
+ Top = 144
+ end
+ object frxDBInformeListadoClientesMayorIncidenciasResumen: TfrxDBDataset
+ UserName = 'frxDBInformeListadoClientesMayorIncidenciasResumen'
+ CloseDataSource = False
+ DataSource = DADSInformeListadoClientesMayorIncidenciasResumen
+ BCDToCurrency = False
+ Left = 776
+ Top = 216
+ end
+ object DADSInformeListadoClientesMayorIncidenciasResumen: TDADataSource
+ DataSet = tbl_InformeListadoClientesMayorIncidenciasResumen.Dataset
+ DataTable = tbl_InformeListadoClientesMayorIncidenciasResumen
+ Left = 776
+ Top = 272
+ end
+ object tbl_InformeListadoClientesMayorIncidenciasResumen: TDAMemDataTable
+ RemoteUpdatesOptions = []
+ Fields = <
+ item
+ Name = 'ANO'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'NOMBRE'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'INCIDENCIAS_TOTAL_ANO'
+ DataType = datInteger
+ end
+ item
+ Name = 'NUMALB'
+ DataType = datInteger
+ end
+ item
+ Name = 'INCIDENCIAS_TOTAL'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE'
+ DataType = datFloat
+ end>
+ Params = <
+ item
+ Name = 'ID_EMPRESA'
+ Value = ''
+ end
+ item
+ Name = 'ANO'
+ Value = ''
+ end
+ item
+ Name = 'NTOP'
+ Value = ''
+ end>
+ MasterMappingMode = mmDataRequest
+ LogChanges = False
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteFetchEnabled = False
+ LocalSchema = schReport
+ LocalDataStreamer = DABin2DataStreamer1
+ LogicalName = 'InformeListadoClientesMayorIncidenciasResumen'
+ IndexDefs = <>
+ Left = 776
+ Top = 328
+ end
+ object frxDBInformeListadoClientesMayorOrdenesDevResumen: TfrxDBDataset
+ UserName = 'frxDBInformeListadoClientesMayorOrdenesDevResumen'
+ CloseDataSource = False
+ DataSource = DADSInformeListadoClientesMayorOrdenesDevResumen
+ BCDToCurrency = False
+ Left = 776
+ Top = 400
+ end
+ object DADSInformeListadoClientesMayorOrdenesDevResumen: TDADataSource
+ DataSet = tbl_InformeListadoClientesMayorOrdenesDevResumen.Dataset
+ DataTable = tbl_InformeListadoClientesMayorOrdenesDevResumen
+ Left = 776
+ Top = 456
+ end
+ object tbl_InformeListadoClientesMayorOrdenesDevResumen: TDAMemDataTable
+ RemoteUpdatesOptions = []
+ Fields = <
+ item
+ Name = 'ANO'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'NOMBRE'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'ORDENES_TOTAL_ANO'
+ DataType = datInteger
+ end
+ item
+ Name = 'NUMALB'
+ DataType = datInteger
+ end
+ item
+ Name = 'ORDENES_TOTAL'
+ DataType = datFloat
+ end
+ item
+ Name = 'PORCENTAJE'
+ DataType = datFloat
+ end>
+ Params = <
+ item
+ Name = 'ID_EMPRESA'
+ Value = ''
+ end
+ item
+ Name = 'ANO'
+ Value = ''
+ end
+ item
+ Name = 'NTOP'
+ Value = ''
+ end>
+ MasterMappingMode = mmDataRequest
+ LogChanges = False
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteFetchEnabled = False
+ LocalSchema = schReport
+ LocalDataStreamer = DABin2DataStreamer1
+ LogicalName = 'InformeListadoClientesMayorOrdenesDevResumen'
+ IndexDefs = <>
+ Left = 776
+ Top = 512
+ end
end
diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
index 47e5666..ae0b2ca 100644
--- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
+++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
@@ -60,6 +60,20 @@ type
tbl_Detalles: TDAMemDataTable;
frxPDFExport1: TfrxPDFExport;
DABin2DataStreamer1: TDABin2DataStreamer;
+ frxDBInformeListadoAlbaranesGrafComp: TfrxDBDataset;
+ DASInformeListadoAlbaranesGrafComp: TDADataSource;
+ tbl_InformeListadoAlbaranesGrafCompMensual: TDAMemDataTable;
+ tbl_InformeListadoAlbaranesGrafCompTrimestral: TDAMemDataTable;
+ tbl_InformeListadoAlbaranesGrafCompSemestral: TDAMemDataTable;
+ frxDBInformeListadoClientesMayorAlbaranadoResumen: TfrxDBDataset;
+ DADSInformeListadoClientesMayorAlbaranadoResumen: TDADataSource;
+ tbl_InformeListadoClientesMayorAlbaranadoResumen: TDAMemDataTable;
+ frxDBInformeListadoClientesMayorIncidenciasResumen: TfrxDBDataset;
+ DADSInformeListadoClientesMayorIncidenciasResumen: TDADataSource;
+ tbl_InformeListadoClientesMayorIncidenciasResumen: TDAMemDataTable;
+ frxDBInformeListadoClientesMayorOrdenesDevResumen: TfrxDBDataset;
+ DADSInformeListadoClientesMayorOrdenesDevResumen: TDADataSource;
+ tbl_InformeListadoClientesMayorOrdenesDevResumen: TDAMemDataTable;
schReport: TDASchema;
procedure DataModuleCreate(Sender: TObject);
procedure DataModuleDestroy(Sender: TObject);
@@ -72,16 +86,27 @@ type
FVerRefProveedor : Boolean;
FVerObservaciones : Boolean;
FVerIncidencias : Boolean;
+ FIdEmpresa: Integer;
+ FAno1: Variant;
+ FAno2: Variant;
+ FIntervalo: Variant;
+ FListaIDClientes: TIntegerArray;
+ FTopN: Integer;
//Genera cada uno de los albaranes a imprimir
procedure _GenerarAlbaran(const AID: Integer);
+ procedure PrepararTablaInformeGrafComp(ATabla: TDAMemDataTable);
+ procedure PrepararTablaResumenInformeGrafComp(ATabla: IDADataset);
+
public
function GenerarEtiquetas(const AID : Integer; withRefCliente: Boolean): Binary;
function GenerarAlbaran(const AListaID : TIntegerArray; const VerPrecios: Boolean; const VerRefProveedor: Boolean; const VerObservaciones: Boolean;
const VerIncidencias: Boolean): Binary;
function GenerarAlbaranEnPDF(const ListaID : TIntegerArray; const VerPrecios: Boolean; const VerRefProveedor: Boolean; const VerObservaciones: Boolean;
const VerIncidencias: Boolean): Binary;
+
+ function GenerarInformeAlbaranesGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray; const TopN: Integer; const Serie: Variant): Binary;
end;
implementation
@@ -89,11 +114,12 @@ implementation
{$R *.dfm}
uses
- uSistemaFunc, uDataModuleServer, schAlbaranesClienteClient_Intf;
+ uSistemaFunc, uDataModuleServer, schAlbaranesClienteClient_Intf, srvGestorInformes_Impl;
const
rptInforme = 'InfAlbaranCliente.fr3';
rptInfEtiquetas = 'InfEtiquetasAlbaranCliente.fr3';
+ rptInformeListadoAlbaranesClienteGrafComp = 'InformeListadoAlbaranesClienteGrafComp.fr3';
{ Dataset names for schReport }
ds_InformeCabecera = 'Informe_Cabecera';
@@ -243,4 +269,86 @@ begin
end;
end;
+function TRptAlbaranesCliente.GenerarInformeAlbaranesGrafComp(
+ const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: Variant;
+ const ListaIDClientes: TIntegerArray; const TopN: Integer; const Serie: Variant): Binary;
+var
+ AStream: TMemoryStream;
+ AInforme: Variant;
+
+begin
+ FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
+
+ AStream := TMemoryStream.Create;
+ try
+ //Inicializamos parametros
+ FIdEmpresa := IdEmpresa;
+ FAno1 := Ano1;
+ FAno2 := Ano2;
+ FIntervalo := Intervalo;
+ FTopN := TopN;
+
+ if Assigned(FListaIDClientes) then
+ FListaIDClientes.Free;
+ FListaIDClientes := ListaIDClientes;
+
+ //Preparamos la tabla correspondiente y la abrimos para el informe
+ if (FIntervalo = CTE_MENSUAL) then
+ PrepararTablaInformeGrafComp(tbl_InformeListadoAlbaranesGrafCompMensual)
+ else if (FIntervalo = CTE_TRIMESTRAL) then
+ PrepararTablaInformeGrafComp(tbl_InformeListadoAlbaranesGrafCompTrimestral)
+ else
+ PrepararTablaInformeGrafComp(tbl_InformeListadoAlbaranesGrafCompSemestral);
+
+ //Se preparan las tablas del listado resumen del informe
+ PrepararTablaResumenInformeGrafComp(tbl_InformeListadoClientesMayorAlbaranadoResumen);
+ PrepararTablaResumenInformeGrafComp(tbl_InformeListadoClientesMayorIncidenciasResumen);
+ PrepararTablaResumenInformeGrafComp(tbl_InformeListadoClientesMayorOrdenesDevResumen);
+
+ Result := Binary.Create;
+
+ AInforme := DarRutaFichero(DarRutaInformes, rptInformeListadoAlbaranesClienteGrafComp, IntTostr(FIdEmpresa));
+ if VarIsNull(AInforme) then
+ raise Exception.Create (('Error Servidor: GenerarInformeAlbaranesGrafComp, no encuentra informe ' + rptInformeListadoAlbaranesClienteGrafComp));
+
+ frxReport.LoadFromFile(AInforme, True);
+// IniciarParametrosInforme;
+
+ frxReport.Variables.Variables['Ano1']:= Ano1;
+ frxReport.Variables.Variables['Ano2']:= Ano2;
+ frxReport.Variables.Variables['Serie']:= Serie;
+ frxReport.PrepareReport(False);
+ frxReport.PreviewPages.SaveToStream(Result);
+
+ finally
+ AStream.Free;
+ FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
+ end;
+end;
+
+procedure TRptAlbaranesCliente.PrepararTablaInformeGrafComp(
+ ATabla: TDAMemDataTable);
+begin
+ if ATabla.Active then
+ ATabla.Active := False;
+
+ DASInformeListadoAlbaranesGrafComp.DataTable := ATabla;
+ ATabla.ParamByName('ID_EMPRESA1').AsInteger := FIdEmpresa;
+ ATabla.ParamByName('ID_EMPRESA2').AsInteger := FIdEmpresa;
+ ATabla.ParamByName('ANO1').AsVariant := FAno1;
+ ATabla.ParamByName('ANO2').AsVariant := FAno2;
+ ATabla.Active := True;
+end;
+
+procedure TRptAlbaranesCliente.PrepararTablaResumenInformeGrafComp(ATabla: IDADataset);
+begin
+ if ATabla.Active then
+ ATabla.Active := False;
+
+ ATabla.ParamByName('ID_EMPRESA').AsInteger := FIdEmpresa;
+ ATabla.ParamByName('ANO').AsVariant := FAno1;
+ ATabla.ParamByName('NTOP').AsInteger := FTopN;
+ ATabla.Active := True;
+end;
+
end.
diff --git a/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas b/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas
index 0936bba..8968f51 100644
--- a/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas
+++ b/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas
@@ -39,6 +39,9 @@ type
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerPrecios: Boolean; const VerRefProveedor: Boolean; const VerObservaciones: Boolean;
const VerIncidencias: Boolean): Binary;
+ public
+ function DarListaAnos: StringArray;
+
end;
implementation
@@ -75,6 +78,24 @@ begin
bpAlbaranesCliente.BusinessRulesID := BIZ_SERVER_ALBARAN_CLIENTE;
end;
+function TsrvAlbaranesCliente.DarListaAnos: StringArray;
+var
+ dsAnos : IDADataset;
+begin
+ Result := StringArray.Create();
+ try
+ dsAnos := schAlbaranesCliente.NewDataset(Connection, 'ListaAnosAlbaranes', '', True);
+ while not dsAnos.EOF do
+ begin
+ Result.Add(dsAnos.Fields[0].AsString);
+ dsAnos.Next;
+ end;
+ finally
+ dsAnos.Close;
+ dsAnos := NIL;
+ end;
+end;
+
procedure TsrvAlbaranesCliente.DataAbstractServiceBeforeAcquireConnection(
aSender: TObject; var aConnectionName: string);
begin
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
index bfe6705..d52dcf1 100644
--- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
@@ -78,7 +78,6 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
end
inherited TBXTMain2: TTBXToolbar
Left = 427
- Visible = True
ExplicitLeft = 427
ExplicitWidth = 66
object TBXItem41: TTBXItem
diff --git a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.dfm b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.dfm
index 7ce9229..546806d 100644
--- a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.dfm
+++ b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.dfm
@@ -78,7 +78,6 @@ inherited fEditorFacturasProveedor: TfEditorFacturasProveedor
end
inherited TBXTMain2: TTBXToolbar
Left = 427
- Visible = True
ExplicitLeft = 427
object TBXItem41: TTBXItem
Action = actDomiciliacion
diff --git a/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dpk b/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dpk
index 75e21b5..01d4e8e 100644
--- a/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dpk
+++ b/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dpk
@@ -46,6 +46,7 @@ contains
uIEditorInformePedidosReport in 'View\uIEditorInformePedidosReport.pas',
uIEditorInformeFacturasProveedorReportGrafComp in 'View\uIEditorInformeFacturasProveedorReportGrafComp.pas',
uIEditorInformeFacturasClienteReportGrafComp in 'View\uIEditorInformeFacturasClienteReportGrafComp.pas',
- uIEditorInformeBeneficiosReportGrafComp in 'View\uIEditorInformeBeneficiosReportGrafComp.pas';
+ uIEditorInformeBeneficiosReportGrafComp in 'View\uIEditorInformeBeneficiosReportGrafComp.pas',
+ uIEditorInformeAlbaranesClienteReportGrafComp in 'View\uIEditorInformeAlbaranesClienteReportGrafComp.pas';
end.
diff --git a/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dproj b/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dproj
index 6227776..5b5dbe1 100644
--- a/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dproj
+++ b/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dproj
@@ -42,6 +42,7 @@
+
diff --git a/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.res b/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.res
index 8b251f3..1641339 100644
Binary files a/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.res and b/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.res differ
diff --git a/Source/Modulos/Gestor de informes/Controller/View/uIEditorInformeAlbaranesClienteReportGrafComp.pas b/Source/Modulos/Gestor de informes/Controller/View/uIEditorInformeAlbaranesClienteReportGrafComp.pas
new file mode 100644
index 0000000..11e58fe
--- /dev/null
+++ b/Source/Modulos/Gestor de informes/Controller/View/uIEditorInformeAlbaranesClienteReportGrafComp.pas
@@ -0,0 +1,32 @@
+unit uIEditorInformeAlbaranesClienteReportGrafComp;
+
+interface
+
+uses
+ FactuGES_Intf, uIEditorInformeBase;
+
+type
+ IEditorInformeAlbaranesClienteReportGrafComp = interface(IEditorInformeBase)
+ ['{6311102A-E2D1-4BAD-B9BC-DC5351991569}']
+
+ function GetIntervalo: Variant;
+ function GetAno1: Variant;
+ function GetAno2: Variant;
+ function GetNTop: Variant;
+ function GetSerie: Variant;
+
+ function GetListaIDClientes: TIntegerArray;
+
+ property Intervalo: Variant read GetIntervalo;
+ property Ano1: Variant read GetAno1;
+ property Ano2: Variant read GetAno2;
+ property NTop: Variant read GetNTop;
+
+ property ListaIDClientes: TIntegerArray read GetListaIDClientes;
+ property Serie: Variant read GetSerie;
+ end;
+
+
+implementation
+
+end.
diff --git a/Source/Modulos/Gestor de informes/Controller/uGestorInformesController.pas b/Source/Modulos/Gestor de informes/Controller/uGestorInformesController.pas
index 140ad13..1c8a8d3 100644
--- a/Source/Modulos/Gestor de informes/Controller/uGestorInformesController.pas
+++ b/Source/Modulos/Gestor de informes/Controller/uGestorInformesController.pas
@@ -19,6 +19,10 @@ type
//MODULO PRESUPUESTOS DE CLIENTE
procedure VerInformeListadoPresupuestos;
+ //MODULO ALBARANES DE CLIENTE
+ function DarListaAnosAlbaranesCli: TStringList;
+ procedure VerInformeAlbaranesCliGrafComp;
+
//MODULO FACTURAS DE CLIENTE
procedure VerInformeIVAClientes;
procedure VerInformeListadoFacturasCli;
@@ -75,6 +79,10 @@ type
//MODULO PRESUPUESTOS DE CLIENTE
procedure VerInformeListadoPresupuestos;
+ //MODULO ALBARANES DE CLIENTE
+ function DarListaAnosAlbaranesCli: TStringList;
+ procedure VerInformeAlbaranesCliGrafComp;
+
//MODULO FACTURAS DE CLIENTE
procedure VerInformeIVAClientes;
procedure VerInformeListadoFacturasCli;
@@ -119,7 +127,7 @@ uses
uIEditorInformeRecibosProvPendientesReport,
uIEditorInformePedidosReport, uIEditorInformeFacturasClienteReportGrafComp,
uIEditorInformeFacturasProveedorReportGrafComp,
- uIEditorInformeBeneficiosReportGrafComp;
+ uIEditorInformeBeneficiosReportGrafComp, uIEditorInformeAlbaranesClienteReportGrafComp;
{procedure CopiarArticulosPedido(AOrigen: IBizDetallesPedidoCliente;
@@ -279,6 +287,11 @@ begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end;
+function TGestorInformesController.DarListaAnosAlbaranesCli: TStringList;
+begin
+ Result := FDataModule.DarListaAnosAlbaranesCli;
+end;
+
function TGestorInformesController.DarListaAnosFacturasCli: TStringList;
begin
Result := FDataModule.DarListaAnosFacturasCli;
@@ -305,6 +318,30 @@ begin
Result := FDataModule;
end;
+procedure TGestorInformesController.VerInformeAlbaranesCliGrafComp;
+var
+ AStream: Binary;
+ AEditor : IEditorInformeAlbaranesClienteReportGrafComp;
+begin
+ AEditor := NIL;
+ CreateEditor('EditorInformeAlbaranesClienteReportGrafComp', IEditorInformeAlbaranesClienteReportGrafComp, AEditor);
+ if Assigned(AEditor) then
+ try
+ AEditor.Controller := Self;
+ AEditor.Title := 'Informe comparativo de albaranes de clientes';
+
+ AStream := FDataModule.GenerarInformeAlbaranesCliGrafComp(AppFactuGES.EmpresaActiva.ID,
+ AEditor.Intervalo, AEditor.Ano1, AEditor.Ano2, AEditor.ListaIDClientes, AEditor.NTop, AEditor.Serie);
+
+ AEditor.LoadFromStream(AStream);
+ AEditor.Preview;
+ finally
+ AEditor.Release;
+ AEditor := Nil;
+ FreeAndNil(AStream);
+ end;
+end;
+
procedure TGestorInformesController.VerInformeBeneficiosCliGrafComp;
var
AStream: Binary;
diff --git a/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas b/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas
index b9149f4..39d5b82 100644
--- a/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas
+++ b/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas
@@ -26,6 +26,10 @@ type
//MODULO PRESUPUESTOS DE CLIENTE
function GenerarInformeListadoPresupuestos(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
+ //MODULO ALBARANES DE CLIENTE
+ function DarListaAnosAlbaranesCli: TStringList;
+ function GenerarInformeAlbaranesCliGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray; Const NTop: Variant; const Serie: Variant): Binary;
+
//MODULO FACTURAS DE CLIENTE
function GenerarInformeIVAClientes(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
function GenerarInformeListadoFacturasCli(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant; const FechaVenFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
@@ -71,6 +75,22 @@ begin
RORemoteService.Message := dmConexion.Message;
end;
+function TDataModuleGestorInformes.DarListaAnosAlbaranesCli: TStringList;
+var
+ i: Integer;
+ AResultado : StringArray;
+begin
+ Result := Nil;
+ try
+ AResultado := (RORemoteService as IsrvGestorInformes).DarListaAnosAlbaranesCli;
+ Result := TStringList.Create;
+ for i:= 0 to AResultado.Count - 1 do
+ Result.Add(AResultado.Items[i]);
+ finally
+ FreeANDNIL(AResultado)
+ end;
+end;
+
function TDataModuleGestorInformes.DarListaAnosFacturasCli: TStringList;
var
i: Integer;
@@ -119,6 +139,16 @@ begin
end;
end;
+function TDataModuleGestorInformes.GenerarInformeAlbaranesCliGrafComp(
+ const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: Variant;
+ const ListaIDClientes: TIntegerArray; const NTop: Variant; const Serie: Variant): Binary;
+begin
+ try
+ Result := (RORemoteService as IsrvGestorInformes).GenerarInformeAlbaranesCliGrafComp(IdEmpresa, Intervalo, Ano1, Ano2, ListaIdClientes, NTop, Serie);
+ finally
+ end;
+end;
+
function TDataModuleGestorInformes.GenerarInformeBeneficiosGrafComp(
const IdEmpresa: Integer; const Intervalo, Ano1, Ano2,
Serie: Variant): Binary;
diff --git a/Source/Modulos/Gestor de informes/Model/Data/uIDataModuleGestorInformes.pas b/Source/Modulos/Gestor de informes/Model/Data/uIDataModuleGestorInformes.pas
index f4fb652..a122ed0 100644
--- a/Source/Modulos/Gestor de informes/Model/Data/uIDataModuleGestorInformes.pas
+++ b/Source/Modulos/Gestor de informes/Model/Data/uIDataModuleGestorInformes.pas
@@ -15,6 +15,10 @@ type
//MODULO PRESUPUESTOS DE CLIENTE
function GenerarInformeListadoPresupuestos(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
+ //MODULO ALBARANES DE CLIENTE
+ function DarListaAnosAlbaranesCli: TStringList;
+ function GenerarInformeAlbaranesCliGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray; Const NTop: Variant; const Serie: Variant): Binary;
+
//MODULO FACTURAS DE CLIENTE
function GenerarInformeIVAClientes(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
function GenerarInformeListadoFacturasCli(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant; const FechaVenFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
diff --git a/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.dfm b/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.dfm
index f2c7f9a..b711ef2 100644
--- a/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.dfm
+++ b/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.dfm
@@ -125,7 +125,7 @@ object PluginGestorInformes: TPluginGestorInformes
end
object actInformeFacturasClienteGrafComp: TAction
Category = 'Facturas de cliente'
- Caption = 'Informe comparativo de facturaci'#243'n de clientes'
+ Caption = 'Informe comparativo de facturas de clientes'
ImageIndex = 0
OnExecute = actInformeFacturasClienteGrafCompExecute
end
@@ -141,6 +141,12 @@ object PluginGestorInformes: TPluginGestorInformes
ImageIndex = 0
OnExecute = actInformeBeneficiosGrafCompExecute
end
+ object actInformeAlbaranesClienteGrafComp: TAction
+ Category = 'Albaranes de cliente'
+ Caption = 'Informe comparativo de albaranes de clientes'
+ ImageIndex = 0
+ OnExecute = actInformeAlbaranesClienteGrafCompExecute
+ end
end
object MainMenu: TMainMenu
Images = LargeImages
@@ -204,6 +210,10 @@ object PluginGestorInformes: TPluginGestorInformes
Tag = 140
Caption = '-'
end
+ object actInformeAlbaranesClienteGrafComp1: TMenuItem
+ Tag = 150
+ Action = actInformeAlbaranesClienteGrafComp
+ end
object Informecomparativodefacturacindeclientes1: TMenuItem
Tag = 160
Action = actInformeFacturasClienteGrafComp
diff --git a/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.pas b/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.pas
index d96976e..8df8d07 100644
--- a/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.pas
+++ b/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.pas
@@ -48,6 +48,8 @@ type
Informecomparativodefacturacindeproveedores1: TMenuItem;
actInformeBeneficiosGrafComp: TAction;
Informecomparativodebeneficios1: TMenuItem;
+ actInformeAlbaranesClienteGrafComp: TAction;
+ actInformeAlbaranesClienteGrafComp1: TMenuItem;
procedure actInformeFacturasClienteExecute(Sender: TObject);
procedure actInformeFacturasClientePendientesExecute(Sender: TObject);
procedure actInformeFacturasClienteIVAExecute(Sender: TObject);
@@ -61,6 +63,7 @@ type
procedure actInformeFacturasClienteGrafCompExecute(Sender: TObject);
procedure actInformeFacturasProveedorGrafCompExecute(Sender: TObject);
procedure actInformeBeneficiosGrafCompExecute(Sender: TObject);
+ procedure actInformeAlbaranesClienteGrafCompExecute(Sender: TObject);
private
FController : IGestorInformesController;
public
@@ -84,6 +87,12 @@ end;
exports
GetModule name GET_MODULE_FUNC;
+procedure TPluginGestorInformes.actInformeAlbaranesClienteGrafCompExecute(
+ Sender: TObject);
+begin
+ FController.VerInformeAlbaranesCliGrafComp;
+end;
+
procedure TPluginGestorInformes.actInformeBeneficiosGrafCompExecute(
Sender: TObject);
begin
diff --git a/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.pas b/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.pas
index 7a08426..791ff2c 100644
--- a/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.pas
+++ b/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.pas
@@ -41,6 +41,10 @@ type
//MODULO PRESUPUESTOS CLIENTE
function GenerarInformeListadoPresupuestos(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
+ //MODULO ALBARANES CLIENTE
+ function GenerarInformeAlbaranesCliGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray; const TopN: Integer; const Serie: Variant): Binary;
+ function DarListaAnosAlbaranesCli: StringArray;
+
//MODULO FACTURAS CLIENTE
function GenerarInformeIVAClientes(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
function GenerarInformeListadoFacturasCli(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant; const FechaVenFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
@@ -48,7 +52,7 @@ type
function GenerarInformeFacturasCliGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray; const TopN: Integer): Binary;
function DarListaAnosFacturasCli: StringArray;
- function GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const Serie: Variant): Binary;
+ function GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const Serie: Variant): Binary;
//MODULO RECIBOS CLIENTE
function GenerarInformeListadoRecibosCliente(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant; const FechaVenFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
@@ -77,13 +81,26 @@ uses
{Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils, Dialogs,
uRptPresupuestosCliente_Server, uRptFacturasCliente_Server, uRptRecibosCliente_Server,
uRptPedidosProveedor_Server, uRptFacturasProveedor_Server, uRptRecibosProveedor_Server,
- srvFacturasProveedor_Impl, srvFacturasCliente_Impl;
+ srvFacturasProveedor_Impl, srvFacturasCliente_Impl, srvAlbaranesCliente_Impl, uRptAlbaranesCliente_Server;
procedure Create_srvGestorInformes(out anInstance: IUnknown);
begin
anInstance := TsrvGestorInformes.Create(nil);
end;
+function TsrvGestorInformes.DarListaAnosAlbaranesCli: StringArray;
+var
+ AServer : TsrvAlbaranesCliente;
+begin
+ Result := Nil;
+ AServer := TsrvAlbaranesCliente.Create(nil);
+ try
+ Result := AServer.DarListaAnos;
+ finally
+ FreeAndNIL(AServer);
+ end;
+end;
+
function TsrvGestorInformes.DarListaAnosFacturasCli: StringArray;
var
AServer : TsrvFacturasCliente;
@@ -118,6 +135,20 @@ begin
Result.Add(CTE_SEMESTRAL);
end;
+function TsrvGestorInformes.GenerarInformeAlbaranesCliGrafComp(
+ const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: Variant;
+ const ListaIDClientes: TIntegerArray; const TopN: Integer; const Serie: Variant): Binary;
+var
+ AReportGenerator : TRptAlbaranesCliente;
+begin
+ AReportGenerator := TRptAlbaranesCliente.Create(nil);
+ try
+ Result := AReportGenerator.GenerarInformeAlbaranesGrafComp(IdEmpresa, Intervalo, Ano1, Ano2, ListaIDClientes, TopN, Serie);
+ finally
+ FreeAndNIL(AReportGenerator);
+ end;
+end;
+
function TsrvGestorInformes.GenerarInformeBeneficiosGrafComp(
const IdEmpresa: Integer; const Intervalo, Ano1, Ano2,
Serie: Variant): Binary;
diff --git a/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dpk b/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dpk
index 584c55c..411f224 100644
--- a/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dpk
+++ b/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dpk
@@ -92,6 +92,7 @@ contains
uViewIntervaloComparativo in 'uViewIntervaloComparativo.pas' {frViewIntervaloComparativo: TFrame},
uEditorInformeFacturasClienteReportGrafComp in 'uEditorInformeFacturasClienteReportGrafComp.pas' {fEditorInformeFacturasClienteReportGrafComp: TForm},
uEditorInformeFacturasProveedorReportGrafComp in 'uEditorInformeFacturasProveedorReportGrafComp.pas' {fEditorInformeFacturasProveedorReportGrafComp: TForm},
- uEditorInformeBeneficiosReportGrafComp in 'uEditorInformeBeneficiosReportGrafComp.pas' {fEditorInformeBeneficiosReportGrafComp: TForm};
+ uEditorInformeBeneficiosReportGrafComp in 'uEditorInformeBeneficiosReportGrafComp.pas' {fEditorInformeBeneficiosReportGrafComp: TForm},
+ uEditorInformeAlbaranesClienteReportGrafComp in 'uEditorInformeAlbaranesClienteReportGrafComp.pas' {fEditorInformeAlbaranesClienteReportGrafComp: TForm};
end.
diff --git a/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dproj b/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dproj
index 0e07e1a..5fdcf82 100644
--- a/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dproj
+++ b/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dproj
@@ -75,12 +75,16 @@
+
+
+ TForm
+
TForm
-
+
TForm
diff --git a/Source/Modulos/Gestor de informes/Views/GestorInformes_view.res b/Source/Modulos/Gestor de informes/Views/GestorInformes_view.res
index 8b251f3..1641339 100644
Binary files a/Source/Modulos/Gestor de informes/Views/GestorInformes_view.res and b/Source/Modulos/Gestor de informes/Views/GestorInformes_view.res differ
diff --git a/Source/Modulos/Gestor de informes/Views/uEditorInformeAlbaranesClienteReportGrafComp.dfm b/Source/Modulos/Gestor de informes/Views/uEditorInformeAlbaranesClienteReportGrafComp.dfm
new file mode 100644
index 0000000..f01c788
--- /dev/null
+++ b/Source/Modulos/Gestor de informes/Views/uEditorInformeAlbaranesClienteReportGrafComp.dfm
@@ -0,0 +1,210 @@
+inherited fEditorInformeAlbaranesClienteReportGrafComp: TfEditorInformeAlbaranesClienteReportGrafComp
+ Caption = 'fEditorInformeAlbaranesClienteReportGrafComp'
+ ClientHeight = 655
+ ClientWidth = 895
+ ExplicitWidth = 903
+ ExplicitHeight = 689
+ PixelsPerInch = 96
+ TextHeight = 13
+ inherited JvNavPanelHeader: TJvNavPanelHeader
+ Width = 895
+ ExplicitWidth = 895
+ inherited Image1: TImage
+ Left = 868
+ ExplicitLeft = 868
+ end
+ end
+ inherited TBXDock: TTBXDock
+ Width = 895
+ ExplicitWidth = 895
+ inherited tbxMenu: TTBXToolbar
+ ExplicitWidth = 895
+ end
+ inherited TBXToolbar1: TTBXToolbar
+ ExplicitWidth = 591
+ object TBXItem58: TTBXItem [0]
+ Action = actRefrescar
+ DisplayMode = nbdmImageAndText
+ Images = SmallImages
+ end
+ end
+ end
+ inherited StatusBar: TJvStatusBar
+ Top = 636
+ Width = 895
+ ExplicitTop = 636
+ ExplicitWidth = 895
+ end
+ inherited TBXMultiDockIzquierdo: TTBXMultiDock
+ Height = 534
+ ExplicitHeight = 534
+ end
+ inherited TBXMultiDockDerecho: TTBXMultiDock
+ Left = 703
+ Width = 192
+ Height = 534
+ ExplicitLeft = 703
+ ExplicitWidth = 192
+ ExplicitHeight = 534
+ inherited pnlParametros: TTBXDockablePanel
+ DockedWidth = 188
+ ExplicitWidth = 192
+ ExplicitHeight = 518
+ inherited TBXDockablePanel1: TTBXDockablePanel
+ Top = 368
+ ExplicitTop = 368
+ ExplicitWidth = 188
+ inherited TBXButton1: TTBXButton
+ AlignWithMargins = True
+ Left = 3
+ Top = 3
+ Width = 182
+ Height = 37
+ Margins.Left = 8
+ Margins.Top = 8
+ Margins.Right = 8
+ Margins.Bottom = 8
+ Align = alTop
+ ExplicitLeft = 3
+ ExplicitTop = 3
+ ExplicitWidth = 182
+ ExplicitHeight = 37
+ end
+ end
+ inline frViewIntervaloComparativo1: TfrViewIntervaloComparativo
+ Left = 0
+ Top = 0
+ Width = 188
+ Height = 313
+ Align = alTop
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 1
+ ReadOnly = False
+ ExplicitWidth = 188
+ ExplicitHeight = 313
+ inherited TBXAlignmentPanel2: TTBXAlignmentPanel
+ Width = 182
+ ExplicitWidth = 182
+ inherited Label3: TLabel
+ Width = 172
+ end
+ inherited cbIntervalo: TcxComboBox
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
+ ExplicitWidth = 166
+ Width = 166
+ end
+ end
+ inherited TBXLabel2: TTBXLabel
+ Width = 188
+ ExplicitWidth = 188
+ end
+ inherited TBXAlignmentPanel3: TTBXAlignmentPanel
+ Width = 182
+ ExplicitWidth = 182
+ inherited lis: TLabel
+ Width = 172
+ end
+ inherited cbAno1: TcxComboBox
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
+ ExplicitWidth = 166
+ Width = 166
+ end
+ end
+ inherited TBXAlignmentPanel1: TTBXAlignmentPanel
+ Width = 182
+ ExplicitWidth = 182
+ inherited Label1: TLabel
+ Width = 172
+ end
+ inherited cbAno2: TcxComboBox
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
+ ExplicitWidth = 166
+ Width = 166
+ end
+ end
+ inherited TBXAlignmentPanel4: TTBXAlignmentPanel
+ Top = 224
+ Width = 182
+ ExplicitWidth = 182
+ inherited Label2: TLabel
+ Width = 172
+ end
+ end
+ inherited TBXAlignmentPanel5: TTBXAlignmentPanel
+ Top = 176
+ Width = 182
+ ExplicitTop = 161
+ ExplicitWidth = 182
+ inherited Label4: TLabel
+ Width = 172
+ ExplicitLeft = -3
+ ExplicitTop = 0
+ ExplicitWidth = 172
+ end
+ inherited cbSerie: TcxComboBox
+ Properties.Items.Strings = (
+ 'Todos'
+ 'Servidos'
+ 'Incidencias'
+ 'Fuera de fecha'
+ #211'rdenes dev.')
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
+ ExplicitWidth = 166
+ Width = 166
+ end
+ end
+ end
+ inline frViewFiltroClientes1: TfrViewFiltroClientes
+ Left = 0
+ Top = 313
+ Width = 188
+ Height = 195
+ Align = alTop
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 2
+ Visible = False
+ ReadOnly = False
+ ExplicitTop = 220
+ ExplicitWidth = 188
+ inherited TBXLabel2: TTBXLabel
+ Width = 188
+ ExplicitWidth = 188
+ end
+ inherited bElegirCliente: TBitBtn
+ Width = 119
+ ExplicitWidth = 119
+ end
+ inherited edtCliente: TcxTextEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
+ ExplicitWidth = 152
+ Width = 152
+ end
+ end
+ end
+ end
+end
diff --git a/Source/Modulos/Gestor de informes/Views/uEditorInformeAlbaranesClienteReportGrafComp.pas b/Source/Modulos/Gestor de informes/Views/uEditorInformeAlbaranesClienteReportGrafComp.pas
new file mode 100644
index 0000000..792b1c2
--- /dev/null
+++ b/Source/Modulos/Gestor de informes/Views/uEditorInformeAlbaranesClienteReportGrafComp.pas
@@ -0,0 +1,186 @@
+unit uEditorInformeAlbaranesClienteReportGrafComp;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uEditorPreview, frxExportText, frxExportRTF, frxExportMail,
+ frxExportXLS, frxExportImage, frxExportPDF, frxClass, frxDCtrl, frxGradient,
+ frxChBox, frxCross, frxRich, frxOLE, frxBarcode, JvAppStorage,
+ JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, PngImageList,
+ StdActns, ActnList, ComCtrls, JvExComCtrls, JvStatusBar, TB2ExtItems,
+ TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls,
+ JvExControls, JvNavigationPane, uCustomView,
+ uViewBase, uViewPeriodoFechas, uControllerBase,
+ dxLayoutControl, cxControls, uViewFiltroImportes,
+ FactuGES_Intf, TBXDkPanels, uEditorInformeBase,
+ uIEditorInformeBase, uViewParametrosInforme, uIEditorInformeAlbaranesClienteReportGrafComp,
+ uViewIntervaloComparativo, uViewFiltroClientes;
+
+type
+ TfEditorInformeAlbaranesClienteReportGrafComp = class(TfEditorInformeBase, IEditorInformeAlbaranesClienteReportGrafComp)
+ TBXItem58: TTBXItem;
+ frViewIntervaloComparativo1: TfrViewIntervaloComparativo;
+ frViewFiltroClientes1: TfrViewFiltroClientes;
+ procedure actRefrescarExecute(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+
+ private
+ FListaIDClientes: TIntegerArray;
+ function GetIntervalo: Variant;
+ function GetAno1: Variant;
+ function GetAno2: Variant;
+ function GetSerie: variant;
+ function GetListaIDClientes: TIntegerArray;
+ function GetNTop: Variant;
+
+ procedure RefrescarInforme;
+
+ protected
+ procedure SetController (const Value : IControllerBase); override;
+
+ public
+ property Intervalo: Variant read GetIntervalo;
+ property Ano1: Variant read GetAno1;
+ property Ano2: Variant read GetAno2;
+ property ListaIDClientes: TIntegerArray read GetListaIDClientes;
+ property NTop: Variant read GetNTop;
+ property Serie: Variant read GetSerie;
+
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ end;
+
+
+implementation
+
+{$R *.dfm}
+
+uses uROTypes, DateUtils, uGestorInformesController, uFactuGES_App;
+
+{ TfEditorGestorInformesReport }
+
+procedure TfEditorInformeAlbaranesClienteReportGrafComp.actRefrescarExecute(Sender: TObject);
+begin
+ inherited;
+ RefrescarInforme;
+end;
+
+constructor TfEditorInformeAlbaranesClienteReportGrafComp.Create(AOwner: TComponent);
+begin
+ inherited;
+ FListaIDClientes := TIntegerArray.Create;
+end;
+
+destructor TfEditorInformeAlbaranesClienteReportGrafComp.Destroy;
+begin
+ FListaIDClientes.Free;
+ inherited;
+end;
+
+procedure TfEditorInformeAlbaranesClienteReportGrafComp.FormShow(Sender: TObject);
+begin
+ inherited;
+ actTodaPagina.Execute;
+end;
+
+function TfEditorInformeAlbaranesClienteReportGrafComp.GetIntervalo: Variant;
+begin
+ Result := frViewIntervaloComparativo1.cbIntervalo.EditValue;
+end;
+
+function TfEditorInformeAlbaranesClienteReportGrafComp.GetAno1: Variant;
+begin
+ Result := frViewIntervaloComparativo1.cbAno1.EditValue;
+end;
+
+function TfEditorInformeAlbaranesClienteReportGrafComp.GetAno2: Variant;
+begin
+ Result := frViewIntervaloComparativo1.cbAno2.EditValue;
+end;
+
+function TfEditorInformeAlbaranesClienteReportGrafComp.GetListaIDClientes: TIntegerArray;
+begin
+ FListaIDClientes.Clear;
+ if Assigned(frViewFiltroClientes1.Cliente) then
+ FListaIDClientes.Add(frViewFiltroClientes1.Cliente.ID);
+
+ Result := FListaIDClientes;
+end;
+
+function TfEditorInformeAlbaranesClienteReportGrafComp.GetNTop: Variant;
+begin
+ Result := frViewIntervaloComparativo1.stopN.Value;
+end;
+
+function TfEditorInformeAlbaranesClienteReportGrafComp.GetSerie: variant;
+begin
+ Result := frViewIntervaloComparativo1.Serie;
+end;
+
+procedure TfEditorInformeAlbaranesClienteReportGrafComp.RefrescarInforme;
+var
+ AStream: Binary;
+begin
+ ShowHourglassCursor;
+ try
+
+ AStream := (Controller as IGestorInformesController).DataModule.GenerarInformeAlbaranesCliGrafComp(
+ AppFactuGES.EmpresaActiva.ID,
+ Intervalo,
+ Ano1,
+ Ano2,
+ ListaIDClientes,
+ NTop,
+ Serie);
+
+ LoadFromStream(AStream);
+ Report.ShowPreparedReport;
+ finally
+ FreeAndNil(AStream);
+ HideHourglassCursor;
+ end;
+end;
+
+procedure TfEditorInformeAlbaranesClienteReportGrafComp.SetController(
+ const Value: IControllerBase);
+var
+ AListaAnos: TStringList;
+ AListaIntervalos: TStringList;
+ i: Integer;
+
+begin
+ inherited;
+
+ AListaIntervalos := (Controller as IGestorInformesController).DarListaIntervalos;
+ AListaAnos := (Controller as IGestorInformesController).DarListaAnosAlbaranesCli;
+
+ if Assigned(AListaIntervalos) then
+ begin
+ frViewIntervaloComparativo1.cbIntervalo.Properties.Items.BeginUpdate;
+ frViewIntervaloComparativo1.cbIntervalo.Properties.Items.Clear;
+ for i := 0 to AListaIntervalos.Count - 1 do
+ frViewIntervaloComparativo1.cbIntervalo.Properties.Items.Append(AListaIntervalos.Strings[i]);
+ frViewIntervaloComparativo1.cbIntervalo.Properties.Items.EndUpdate;
+ end;
+
+ if Assigned(AListaAnos) then
+ begin
+ frViewIntervaloComparativo1.cbAno1.Properties.Items.BeginUpdate;
+ frViewIntervaloComparativo1.cbAno2.Properties.Items.BeginUpdate;
+ frViewIntervaloComparativo1.cbAno1.Properties.Items.Clear;
+ frViewIntervaloComparativo1.cbAno2.Properties.Items.Clear;
+ for i := 0 to AListaAnos.Count - 2 do
+ begin
+ frViewIntervaloComparativo1.cbAno1.Properties.Items.Append(AListaAnos.Strings[i]);
+ frViewIntervaloComparativo1.cbAno2.Properties.Items.Append(AListaAnos.Strings[i]);
+ end;
+ frViewIntervaloComparativo1.cbAno1.Properties.Items.EndUpdate;
+ frViewIntervaloComparativo1.cbAno2.Properties.Items.EndUpdate;
+ end;
+
+ frViewIntervaloComparativo1.cbIntervalo.ItemIndex := 0;
+ frViewIntervaloComparativo1.cbAno1.ItemIndex := 0;
+end;
+
+end.
diff --git a/Source/Modulos/Gestor de informes/Views/uEditorInformeBeneficiosReportGrafComp.dfm b/Source/Modulos/Gestor de informes/Views/uEditorInformeBeneficiosReportGrafComp.dfm
index c0b68b2..b85143c 100644
--- a/Source/Modulos/Gestor de informes/Views/uEditorInformeBeneficiosReportGrafComp.dfm
+++ b/Source/Modulos/Gestor de informes/Views/uEditorInformeBeneficiosReportGrafComp.dfm
@@ -155,7 +155,6 @@ inherited fEditorInformeBeneficiosReportGrafComp: TfEditorInformeBeneficiosRepor
end
inherited TBXAlignmentPanel5: TTBXAlignmentPanel
Width = 182
- ExplicitTop = 225
ExplicitWidth = 182
inherited Label4: TLabel
Width = 172
diff --git a/Source/Modulos/Gestor de informes/Views/uEditorInformeBeneficiosReportGrafComp.pas b/Source/Modulos/Gestor de informes/Views/uEditorInformeBeneficiosReportGrafComp.pas
index a5f7964..312438f 100644
--- a/Source/Modulos/Gestor de informes/Views/uEditorInformeBeneficiosReportGrafComp.pas
+++ b/Source/Modulos/Gestor de informes/Views/uEditorInformeBeneficiosReportGrafComp.pas
@@ -168,7 +168,7 @@ begin
frViewIntervaloComparativo1.cbAno2.Properties.Items.BeginUpdate;
frViewIntervaloComparativo1.cbAno1.Properties.Items.Clear;
frViewIntervaloComparativo1.cbAno2.Properties.Items.Clear;
- for i := 0 to AListaAnos.Count - 1 do
+ for i := 0 to AListaAnos.Count - 2 do
begin
frViewIntervaloComparativo1.cbAno1.Properties.Items.Append(AListaAnos.Strings[i]);
frViewIntervaloComparativo1.cbAno2.Properties.Items.Append(AListaAnos.Strings[i]);
diff --git a/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasClienteReportGrafComp.dfm b/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasClienteReportGrafComp.dfm
index 44ec1ff..736f0bb 100644
--- a/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasClienteReportGrafComp.dfm
+++ b/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasClienteReportGrafComp.dfm
@@ -143,6 +143,21 @@ inherited fEditorInformeFacturasClienteReportGrafComp: TfEditorInformeFacturasCl
Width = 172
end
end
+ inherited TBXAlignmentPanel5: TTBXAlignmentPanel
+ Width = 182
+ ExplicitWidth = 182
+ inherited Label4: TLabel
+ Width = 172
+ end
+ inherited cbSerie: TcxComboBox
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
+ ExplicitWidth = 166
+ Width = 166
+ end
+ end
end
inline frViewFiltroClientes1: TfrViewFiltroClientes
Left = 0
@@ -159,7 +174,7 @@ inherited fEditorInformeFacturasClienteReportGrafComp: TfEditorInformeFacturasCl
TabOrder = 2
Visible = False
ReadOnly = False
- ExplicitTop = 182
+ ExplicitTop = 220
ExplicitWidth = 188
inherited TBXLabel2: TTBXLabel
Width = 188
diff --git a/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasClienteReportGrafComp.pas b/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasClienteReportGrafComp.pas
index b9a9418..0334511 100644
--- a/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasClienteReportGrafComp.pas
+++ b/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasClienteReportGrafComp.pas
@@ -162,7 +162,7 @@ begin
frViewIntervaloComparativo1.cbAno2.Properties.Items.BeginUpdate;
frViewIntervaloComparativo1.cbAno1.Properties.Items.Clear;
frViewIntervaloComparativo1.cbAno2.Properties.Items.Clear;
- for i := 0 to AListaAnos.Count - 1 do
+ for i := 0 to AListaAnos.Count - 2 do
begin
frViewIntervaloComparativo1.cbAno1.Properties.Items.Append(AListaAnos.Strings[i]);
frViewIntervaloComparativo1.cbAno2.Properties.Items.Append(AListaAnos.Strings[i]);
diff --git a/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasProveedorReportGrafComp.dfm b/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasProveedorReportGrafComp.dfm
index 175128e..96cb406 100644
--- a/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasProveedorReportGrafComp.dfm
+++ b/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasProveedorReportGrafComp.dfm
@@ -143,6 +143,21 @@ inherited fEditorInformeFacturasProveedorReportGrafComp: TfEditorInformeFacturas
Width = 172
end
end
+ inherited TBXAlignmentPanel5: TTBXAlignmentPanel
+ Width = 182
+ ExplicitWidth = 182
+ inherited Label4: TLabel
+ Width = 172
+ end
+ inherited cbSerie: TcxComboBox
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
+ ExplicitWidth = 166
+ Width = 166
+ end
+ end
end
inline frViewFiltroProveedores1: TfrViewFiltroProveedores
Left = 0
@@ -159,7 +174,7 @@ inherited fEditorInformeFacturasProveedorReportGrafComp: TfEditorInformeFacturas
TabOrder = 2
Visible = False
ReadOnly = False
- ExplicitTop = 182
+ ExplicitTop = 220
ExplicitWidth = 188
inherited TBXLabel2: TTBXLabel
Width = 188
diff --git a/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasProveedorReportGrafComp.pas b/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasProveedorReportGrafComp.pas
index 966a95a..c716c80 100644
--- a/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasProveedorReportGrafComp.pas
+++ b/Source/Modulos/Gestor de informes/Views/uEditorInformeFacturasProveedorReportGrafComp.pas
@@ -163,7 +163,7 @@ begin
frViewIntervaloComparativo1.cbAno2.Properties.Items.BeginUpdate;
frViewIntervaloComparativo1.cbAno1.Properties.Items.Clear;
frViewIntervaloComparativo1.cbAno2.Properties.Items.Clear;
- for i := 0 to AListaAnos.Count - 1 do
+ for i := 0 to AListaAnos.Count - 2 do
begin
frViewIntervaloComparativo1.cbAno1.Properties.Items.Append(AListaAnos.Strings[i]);
frViewIntervaloComparativo1.cbAno2.Properties.Items.Append(AListaAnos.Strings[i]);
diff --git a/Source/Modulos/Gestor de informes/Views/uGestorInformesViewRegister.pas b/Source/Modulos/Gestor de informes/Views/uGestorInformesViewRegister.pas
index 34396c1..350e538 100644
--- a/Source/Modulos/Gestor de informes/Views/uGestorInformesViewRegister.pas
+++ b/Source/Modulos/Gestor de informes/Views/uGestorInformesViewRegister.pas
@@ -16,7 +16,7 @@ uses
uEditorInformeIVAProveedoresReport, uEditorInformeFacturasProveedorReport, uEditorInformeFacturasProveedorPendientesReport,
uEditorInformeRecibosProveedorReport, uEditorInformeRecibosProvPendientesReport,
- uEditorInformeFacturasProveedorReportGrafComp, uEditorInformeFacturasClienteReportGrafComp, uEditorInformeBeneficiosReportGrafComp;
+ uEditorInformeAlbaranesClienteReportGrafComp, uEditorInformeFacturasProveedorReportGrafComp, uEditorInformeFacturasClienteReportGrafComp, uEditorInformeBeneficiosReportGrafComp;
procedure RegisterViews;
begin
@@ -34,6 +34,7 @@ begin
EditorRegistry.RegisterClass(TfEditorInformeRecibosProveedorReport, 'EditorInformeRecibosProveedorReport');
EditorRegistry.RegisterClass(TfEditorInformeRecibosProvPendientesReport, 'EditorInformeRecibosProvPendientesReport');
+ EditorRegistry.RegisterClass(TfEditorInformeAlbaranesClienteReportGrafComp, 'EditorInformeAlbaranesClienteReportGrafComp');
EditorRegistry.RegisterClass(TfEditorInformeFacturasProveedorReportGrafComp, 'EditorInformeFacturasProveedorReportGrafComp');
EditorRegistry.RegisterClass(TfEditorInformeFacturasClienteReportGrafComp, 'EditorInformeFacturasClienteReportGrafComp');
EditorRegistry.RegisterClass(TfEditorInformeBeneficiosReportGrafComp, 'EditorInformeBeneficiosReportGrafComp');
@@ -42,7 +43,7 @@ end;
procedure UnregisterViews;
begin
EditorRegistry.UnRegisterClass(TfEditorInformePresupuestosReport);
- EditorRegistry.UnRegisterClass(TfEditorInformePedidosReport);
+ EditorRegistry.UnRegisterClass(TfEditorInformePedidosReport);
EditorRegistry.UnRegisterClass(TfEditorInformeIVAClientesReport);
EditorRegistry.UnRegisterClass(TfEditorInformeFacturasClienteReport);
EditorRegistry.UnRegisterClass(TfEditorInformeFacturasClientePendientesReport);
@@ -54,10 +55,11 @@ begin
EditorRegistry.UnRegisterClass(TfEditorInformeFacturasProveedorPendientesReport);
EditorRegistry.UnRegisterClass(TfEditorInformeRecibosProveedorReport);
EditorRegistry.UnRegisterClass(TfEditorInformeRecibosProvPendientesReport);
- EditorRegistry.UnRegisterClass(TfEditorInformeBeneficiosReportGrafComp);
+ EditorRegistry.UnRegisterClass(TfEditorInformeBeneficiosReportGrafComp);
EditorRegistry.UnRegisterClass(TfEditorInformeFacturasProveedorReportGrafComp);
- EditorRegistry.UnRegisterClass(TfEditorInformeFacturasClienteReportGrafComp);
+ EditorRegistry.UnRegisterClass(TfEditorInformeFacturasClienteReportGrafComp);
+ EditorRegistry.UnRegisterClass(TfEditorInformeAlbaranesClienteReportGrafComp);
end;
end.
diff --git a/Source/Modulos/Recibos de cliente/Views/uEditorRecibosCliente.dfm b/Source/Modulos/Recibos de cliente/Views/uEditorRecibosCliente.dfm
index b6d7236..c848a40 100644
--- a/Source/Modulos/Recibos de cliente/Views/uEditorRecibosCliente.dfm
+++ b/Source/Modulos/Recibos de cliente/Views/uEditorRecibosCliente.dfm
@@ -60,7 +60,6 @@ inherited fEditorRecibosCliente: TfEditorRecibosCliente
end
inherited TBXTMain2: TTBXToolbar
Left = 427
- Visible = True
ExplicitLeft = 427
ExplicitWidth = 66
object TBXItem38: TTBXItem
diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL
index fed6ae7..6e8d669 100644
--- a/Source/Servicios/FactuGES.RODL
+++ b/Source/Servicios/FactuGES.RODL
@@ -480,6 +480,12 @@
+
+
+
+
+
+
@@ -948,6 +954,12 @@
+
+
+
+
+
+
@@ -990,6 +1002,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas
index 9887e93..ceac08e 100644
--- a/Source/Servicios/FactuGES_Intf.pas
+++ b/Source/Servicios/FactuGES_Intf.pas
@@ -624,6 +624,7 @@ type
function GenerarInformeEnWord(const ID: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerPrecios: Boolean; const VerRefProveedor: Boolean; const VerObservaciones: Boolean;
const VerIncidencias: Boolean): Binary;
+ function DarListaAnos: StringArray;
end;
{ CosrvAlbaranesCliente }
@@ -642,6 +643,7 @@ type
function GenerarInformeEnWord(const ID: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerPrecios: Boolean; const VerRefProveedor: Boolean; const VerObservaciones: Boolean;
const VerIncidencias: Boolean): Binary;
+ function DarListaAnos: StringArray;
end;
{ IsrvAlbaranesProveedor }
@@ -821,11 +823,14 @@ type
const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
function DarListaAnosFacturasProv: StringArray;
function DarListaAnosFacturasCli: StringArray;
+ function DarListaAnosAlbaranesCli: StringArray;
function DarListaIntervalos: StringArray;
function GenerarInformeFacturasProvGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDProveedores: TIntegerArray;
const TopN: Integer): Binary;
function GenerarInformeFacturasCliGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray;
const TopN: Integer): Binary;
+ function GenerarInformeAlbaranesCliGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray;
+ const TopN: Integer; const Serie: Variant): Binary;
function GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const Serie: Variant): Binary;
end;
@@ -865,11 +870,14 @@ type
const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
function DarListaAnosFacturasProv: StringArray;
function DarListaAnosFacturasCli: StringArray;
+ function DarListaAnosAlbaranesCli: StringArray;
function DarListaIntervalos: StringArray;
function GenerarInformeFacturasProvGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDProveedores: TIntegerArray;
const TopN: Integer): Binary;
function GenerarInformeFacturasCliGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray;
const TopN: Integer): Binary;
+ function GenerarInformeAlbaranesCliGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray;
+ const TopN: Integer; const Serie: Variant): Binary;
function GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const Serie: Variant): Binary;
end;
@@ -2302,6 +2310,22 @@ begin
end
end;
+function TsrvAlbaranesCliente_Proxy.DarListaAnos: StringArray;
+begin
+ try
+ result := nil;
+ __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'DarListaAnos');
+ __Message.Finalize;
+
+ __TransportChannel.Dispatch(__Message);
+
+ __Message.Read('Result', TypeInfo(DataAbstract4_Intf.StringArray), result, []);
+ finally
+ __Message.UnsetAttributes(__TransportChannel);
+ __Message.FreeStream;
+ end
+end;
+
{ CosrvAlbaranesProveedor }
class function CosrvAlbaranesProveedor.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvAlbaranesProveedor;
@@ -2967,6 +2991,22 @@ begin
end
end;
+function TsrvGestorInformes_Proxy.DarListaAnosAlbaranesCli: StringArray;
+begin
+ try
+ result := nil;
+ __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'DarListaAnosAlbaranesCli');
+ __Message.Finalize;
+
+ __TransportChannel.Dispatch(__Message);
+
+ __Message.Read('Result', TypeInfo(DataAbstract4_Intf.StringArray), result, []);
+ finally
+ __Message.UnsetAttributes(__TransportChannel);
+ __Message.FreeStream;
+ end
+end;
+
function TsrvGestorInformes_Proxy.DarListaIntervalos: StringArray;
begin
try
@@ -3029,6 +3069,30 @@ begin
end
end;
+function TsrvGestorInformes_Proxy.GenerarInformeAlbaranesCliGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray;
+ const TopN: Integer; const Serie: Variant): Binary;
+begin
+ try
+ result := nil;
+ __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeAlbaranesCliGrafComp');
+ __Message.Write('IdEmpresa', TypeInfo(Integer), IdEmpresa, []);
+ __Message.Write('Intervalo', TypeInfo(Variant), Intervalo, []);
+ __Message.Write('Ano1', TypeInfo(Variant), Ano1, []);
+ __Message.Write('Ano2', TypeInfo(Variant), Ano2, []);
+ __Message.Write('ListaIDClientes', TypeInfo(FactuGES_Intf.TIntegerArray), ListaIDClientes, []);
+ __Message.Write('TopN', TypeInfo(Integer), TopN, []);
+ __Message.Write('Serie', TypeInfo(Variant), Serie, []);
+ __Message.Finalize;
+
+ __TransportChannel.Dispatch(__Message);
+
+ __Message.Read('Result', TypeInfo(Binary), result, []);
+ finally
+ __Message.UnsetAttributes(__TransportChannel);
+ __Message.FreeStream;
+ end
+end;
+
function TsrvGestorInformes_Proxy.GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const Serie: Variant): Binary;
begin
try
diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas
index 32f501a..e9a7a64 100644
--- a/Source/Servicios/FactuGES_Invk.pas
+++ b/Source/Servicios/FactuGES_Invk.pas
@@ -220,6 +220,7 @@ type
procedure Invoke_GenerarInformeEtiquetas(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
+ procedure Invoke_DarListaAnos(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
end;
TsrvAlbaranesProveedor_Invoker = class(TDataAbstractService_Invoker)
@@ -311,9 +312,11 @@ type
procedure Invoke_GenerarInformeListadoPedidos(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_DarListaAnosFacturasProv(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_DarListaAnosFacturasCli(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
+ procedure Invoke_DarListaAnosAlbaranesCli(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_DarListaIntervalos(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeFacturasProvGrafComp(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeFacturasCliGrafComp(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
+ procedure Invoke_GenerarInformeAlbaranesCliGrafComp(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeBeneficiosGrafComp(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
end;
@@ -1531,6 +1534,31 @@ begin
end;
end;
+procedure TsrvAlbaranesCliente_Invoker.Invoke_DarListaAnos(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
+{ function DarListaAnos: StringArray; }
+var
+ lResult: DataAbstract4_Intf.StringArray;
+ __lObjectDisposer: TROObjectDisposer;
+begin
+ lResult := nil;
+ try
+ lResult := (__Instance as IsrvAlbaranesCliente).DarListaAnos;
+
+ __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvAlbaranesCliente', 'DarListaAnosResponse');
+ __Message.Write('Result', TypeInfo(DataAbstract4_Intf.StringArray), lResult, []);
+ __Message.Finalize;
+ __Message.UnsetAttributes(__Transport);
+
+ finally
+ __lObjectDisposer := TROObjectDisposer.Create(__Instance);
+ try
+ __lObjectDisposer.Add(lResult);
+ finally
+ __lObjectDisposer.Free();
+ end;
+ end;
+end;
+
{ TsrvAlbaranesProveedor_Invoker }
constructor TsrvAlbaranesProveedor_Invoker.Create;
@@ -2538,6 +2566,31 @@ begin
end;
end;
+procedure TsrvGestorInformes_Invoker.Invoke_DarListaAnosAlbaranesCli(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
+{ function DarListaAnosAlbaranesCli: StringArray; }
+var
+ lResult: DataAbstract4_Intf.StringArray;
+ __lObjectDisposer: TROObjectDisposer;
+begin
+ lResult := nil;
+ try
+ lResult := (__Instance as IsrvGestorInformes).DarListaAnosAlbaranesCli;
+
+ __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvGestorInformes', 'DarListaAnosAlbaranesCliResponse');
+ __Message.Write('Result', TypeInfo(DataAbstract4_Intf.StringArray), lResult, []);
+ __Message.Finalize;
+ __Message.UnsetAttributes(__Transport);
+
+ finally
+ __lObjectDisposer := TROObjectDisposer.Create(__Instance);
+ try
+ __lObjectDisposer.Add(lResult);
+ finally
+ __lObjectDisposer.Free();
+ end;
+ end;
+end;
+
procedure TsrvGestorInformes_Invoker.Invoke_DarListaIntervalos(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function DarListaIntervalos: StringArray; }
var
@@ -2645,6 +2698,49 @@ begin
end;
end;
+procedure TsrvGestorInformes_Invoker.Invoke_GenerarInformeAlbaranesCliGrafComp(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
+{ function GenerarInformeAlbaranesCliGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray;
+ const TopN: Integer; const Serie: Variant): Binary; }
+var
+ IdEmpresa: Integer;
+ Intervalo: Variant;
+ Ano1: Variant;
+ Ano2: Variant;
+ ListaIDClientes: FactuGES_Intf.TIntegerArray;
+ TopN: Integer;
+ Serie: Variant;
+ lResult: Binary;
+ __lObjectDisposer: TROObjectDisposer;
+begin
+ ListaIDClientes := nil;
+ lResult := nil;
+ try
+ __Message.Read('IdEmpresa', TypeInfo(Integer), IdEmpresa, []);
+ __Message.Read('Intervalo', TypeInfo(Variant), Intervalo, []);
+ __Message.Read('Ano1', TypeInfo(Variant), Ano1, []);
+ __Message.Read('Ano2', TypeInfo(Variant), Ano2, []);
+ __Message.Read('ListaIDClientes', TypeInfo(FactuGES_Intf.TIntegerArray), ListaIDClientes, []);
+ __Message.Read('TopN', TypeInfo(Integer), TopN, []);
+ __Message.Read('Serie', TypeInfo(Variant), Serie, []);
+
+ lResult := (__Instance as IsrvGestorInformes).GenerarInformeAlbaranesCliGrafComp(IdEmpresa, Intervalo, Ano1, Ano2, ListaIDClientes, TopN, Serie);
+
+ __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvGestorInformes', 'GenerarInformeAlbaranesCliGrafCompResponse');
+ __Message.Write('Result', TypeInfo(Binary), lResult, []);
+ __Message.Finalize;
+ __Message.UnsetAttributes(__Transport);
+
+ finally
+ __lObjectDisposer := TROObjectDisposer.Create(__Instance);
+ try
+ __lObjectDisposer.Add(ListaIDClientes);
+ __lObjectDisposer.Add(lResult);
+ finally
+ __lObjectDisposer.Free();
+ end;
+ end;
+end;
+
procedure TsrvGestorInformes_Invoker.Invoke_GenerarInformeBeneficiosGrafComp(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const Serie: Variant): Binary; }
var
diff --git a/Source/Servicios/RODLFile.res b/Source/Servicios/RODLFile.res
index 2f56f3a..cfb3def 100644
Binary files a/Source/Servicios/RODLFile.res and b/Source/Servicios/RODLFile.res differ
diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES
index ab482d7..dfdf2ad 100644
Binary files a/Source/Servidor/FactuGES_Server.RES and b/Source/Servidor/FactuGES_Server.RES differ
diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj
index 4afe976..b78a4af 100644
--- a/Source/Servidor/FactuGES_Server.dproj
+++ b/Source/Servidor/FactuGES_Server.dproj
@@ -1,405 +1,406 @@
-
+
-
- {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}
- FactuGES_Server.dpr
- Debug
- AnyCPU
- DCC32
- ..\..\Output\Debug\Servidor\FactuGES_Server.exe
- vcl;rtl;vclx;vclactnband;dbrtl;vcldb;vcldbx;bdertl;dsnap;dsnapcon;teeUI;teedb;tee;adortl;vclib;ibxpress;dbxcds;dbexpress;DbxCommonDriver;IndyCore;IndySystem;IndyProtocols;VclSmp;vclie;webdsnap;xmlrtl;inet;inetdbbde;inetdbxpress;RemObjects_BPDX_D11;RemObjects_RODX_D11;RemObjects_Indy_D11;RemObjects_Synapse_D11;RemObjects_WebBroker_D11;DataAbstract_Core_D11;DataAbstract_DBXDriver_D11;DataAbstract_IDE_D11;DataAbstract_Scripting_D11;DataAbstract_SDACDriver_D11;sdac105;dac105;DataAbstract_SQLiteDriver_D11;cxEditorsD10;cxLibraryD10;dxThemeD10;cxDataD10;cxExtEditorsD10;cxGridD10;cxPageControlD10;cxSchedulerD10;cxTreeListD10;cxVerticalGridD10;dxBarD10;dxComnD10;dxBarDBNavD10;dxBarExtDBItemsD10;dxBarExtItemsD10;dxDockingD10;dxLayoutControlD10;dxNavBarD10;dxPSCoreD10;dxsbD10;dxPScxCommonD10;dxPSLnksD10;vclshlctrls;dxPScxExtCommonD10;dxPScxGridLnkD10;dxPScxPCProdD10;dxPScxScheduler2LnkD10;dxPScxTLLnkD10;dxPSdxLCLnkD10;dxPsPrVwAdvD10;pckMD5;pckUCDataConnector;pckUserControl_RT;PluginSDK_D10R;PNG_D10;PngComponentsD10;tb2k_d10;tbx_d10;JclVcl;Jcl;JvXPCtrlsD11R;JvCoreD11R;JvSystemD11R;JvStdCtrlsD11R;JvAppFrmD11R;JvBandsD11R;JvDBD11R;JvDlgsD11R;JvBDED11R;JvCmpD11R;JvCryptD11R;JvCtrlsD11R;JvCustomD11R;JvDockingD11R;JvDotNetCtrlsD11R;JvEDID11R;JvGlobusD11R;JvHMID11R;JvInterpreterD11R;JvJansD11R;JvManagedThreadsD11R;JvMMD11R;JvNetD11R;JvPageCompsD11R;JvPluginD11R;JvPrintPreviewD11R;JvRuntimeDesignD11R;JvTimeFrameworkD11R;JvUIBD11R;JvValidatorsD11R;JvWizardD11R;pckUCADOConn;pckUCBDEConn;pckUCIBXConn;pckUCMidasConn;cxIntlPrintSys3D10;cxExportD10;cxIntl5D10;GUISDK_D11R;ccpackD11;JSDialog100;fsTee11;fs11;frx11;frxADO11;frxBDE11;frxDB11;frxDBX11;frxe11;frxIBX11;frxTee11;fsADO11;fsBDE11;fsDB11;fsIBX11;websnap;soaprtl;IntrawebDB_90_100;Intraweb_90_100
-
-
- 7.0
- False
- False
- 0
- 3
- ..\..\Output\Release\Servidor
- RELEASE
-
-
- 7.0
- 3
- ..\..\Output\Debug\Servidor
- DEBUG;
- True
- True
- True
- C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
- C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
- C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
- C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
-
-
- Delphi.Personality
-
-
- FalseTrueFalse/standaloneTrueFalse4150FalseFalseFalseFalseFalse308212524.1.5.04.1.5.0martes, 08 de marzo de 2011 18:50
- ExpressPrinting System by Developer Express Inc.
- FactuGES_Server.dprFalse
-
-
-
-
- MainSource
-
-
-
-
-
-
- TDARemoteService
-
-
-
- TDataModule
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDARemoteService
-
-
-
-
-
-
- TDARemoteService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDARemoteService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
- TDataAbstractService
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDARemoteService
-
-
-
- TDARemoteService
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
- TFrame
-
-
-
- TFrame
-
-
-
- TFrame
-
-
-
- TForm
-
-
-
- TFrame
-
-
-
- TDARemoteService
-
-
-
-
-
-
- TDataModule
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}
+ FactuGES_Server.dpr
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\Output\Debug\Servidor\FactuGES_Server.exe
+ vcl;rtl;vclx;vclactnband;dbrtl;vcldb;vcldbx;bdertl;dsnap;dsnapcon;teeUI;teedb;tee;adortl;vclib;ibxpress;dbxcds;dbexpress;DbxCommonDriver;IndyCore;IndySystem;IndyProtocols;VclSmp;vclie;webdsnap;xmlrtl;inet;inetdbbde;inetdbxpress;RemObjects_BPDX_D11;RemObjects_RODX_D11;RemObjects_Indy_D11;RemObjects_Synapse_D11;RemObjects_WebBroker_D11;DataAbstract_Core_D11;DataAbstract_DBXDriver_D11;DataAbstract_IDE_D11;DataAbstract_Scripting_D11;DataAbstract_SDACDriver_D11;sdac105;dac105;DataAbstract_SQLiteDriver_D11;cxEditorsD10;cxLibraryD10;dxThemeD10;cxDataD10;cxExtEditorsD10;cxGridD10;cxPageControlD10;cxSchedulerD10;cxTreeListD10;cxVerticalGridD10;dxBarD10;dxComnD10;dxBarDBNavD10;dxBarExtDBItemsD10;dxBarExtItemsD10;dxDockingD10;dxLayoutControlD10;dxNavBarD10;dxPSCoreD10;dxsbD10;dxPScxCommonD10;dxPSLnksD10;vclshlctrls;dxPScxExtCommonD10;dxPScxGridLnkD10;dxPScxPCProdD10;dxPScxScheduler2LnkD10;dxPScxTLLnkD10;dxPSdxLCLnkD10;dxPsPrVwAdvD10;pckMD5;pckUCDataConnector;pckUserControl_RT;PluginSDK_D10R;PNG_D10;PngComponentsD10;tb2k_d10;tbx_d10;JclVcl;Jcl;JvXPCtrlsD11R;JvCoreD11R;JvSystemD11R;JvStdCtrlsD11R;JvAppFrmD11R;JvBandsD11R;JvDBD11R;JvDlgsD11R;JvBDED11R;JvCmpD11R;JvCryptD11R;JvCtrlsD11R;JvCustomD11R;JvDockingD11R;JvDotNetCtrlsD11R;JvEDID11R;JvGlobusD11R;JvHMID11R;JvInterpreterD11R;JvJansD11R;JvManagedThreadsD11R;JvMMD11R;JvNetD11R;JvPageCompsD11R;JvPluginD11R;JvPrintPreviewD11R;JvRuntimeDesignD11R;JvTimeFrameworkD11R;JvUIBD11R;JvValidatorsD11R;JvWizardD11R;pckUCADOConn;pckUCBDEConn;pckUCIBXConn;pckUCMidasConn;cxIntlPrintSys3D10;cxExportD10;cxIntl5D10;GUISDK_D11R;ccpackD11;JSDialog100;fsTee11;fs11;frx11;frxADO11;frxBDE11;frxDB11;frxDBX11;frxe11;frxIBX11;frxTee11;fsADO11;fsBDE11;fsDB11;fsIBX11;websnap;soaprtl;IntrawebDB_90_100;Intraweb_90_100
+
+
+ 7.0
+ False
+ False
+ 0
+ 3
+ ..\..\Output\Release\Servidor
+ RELEASE
+
+
+ 7.0
+ 3
+ ..\..\Output\Debug\Servidor
+ DEBUG;
+ True
+ True
+ True
+ C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
+ C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
+ C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
+ C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
+
+
+ Delphi.Personality
+
+
+FalseTrueFalse/standaloneTrueFalse4160FalseFalseFalseFalseFalse308212524.1.6.04.1.6.0jueves, 31 de marzo de 2011 19:23
+
+ ExpressPrinting System by Developer Express Inc.
+ FactuGES_Server.dprFalse
+
+
+
+
+ MainSource
+
+
+
+
+
+
+ TDARemoteService
+
+
+
+ TDataModule
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDARemoteService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+ TDataAbstractService
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDARemoteService
+
+
+
+ TDARemoteService
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TForm
+
+
+
+ TFrame
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+ TDataModule
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+