From 2a173f5d30f46f75d8ea550603e7c2c13851c6a4 Mon Sep 17 00:00:00 2001 From: roberto Date: Mon, 11 Apr 2011 14:53:34 +0000 Subject: [PATCH] =?UTF-8?q?Version=204.1.6:=20Ultima=20parte=20de=20inform?= =?UTF-8?q?es=20estadisticos=20de=20albaranes=20de=20cliente=20=20=20=20?= =?UTF-8?q?=20*=20Errores=20#530:=20Hacer=20referencia=20en=20informes=20d?= =?UTF-8?q?e=20albar=C3=A1n=20m=C3=A1s=20ancho=20para=20que=20no=20coja=20?= =?UTF-8?q?2=20renglones=20=20=20=20=20*=20Errores=20#531:=20Que=20en=20al?= =?UTF-8?q?baranes=20no=20salga=20ni=20forma=20de=20pago=20ni=20nombre=20d?= =?UTF-8?q?e=20banco=20=20=20=20=20*=20Errores=20#536:=20Arreglar=20filtro?= =?UTF-8?q?=20para=20que=20cuando=20un=20elemento=20de=20la=20lista=20camb?= =?UTF-8?q?ie=20de=20situaci=C3=B3n=20no=20pete=20=20=20=20=20*=20Errores?= =?UTF-8?q?=20#568:=20El=20informe=20de=20factura=20de=20cliente=20de=20ke?= =?UTF-8?q?ibler=20cuando=20tiene=20muchos=20pagos=20queda=20mal=20(repasa?= =?UTF-8?q?rlo)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@128 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2 --- Database/scripts/factuges.sql | 117 + Source/Base/Base.RES | Bin 384 -> 4748 bytes Source/Base/Base.dproj | 108 +- Source/Cliente/FactuGES.dproj | 2 +- Source/Cliente/FactuGES.res | Bin 171984 -> 172156 bytes Source/Informes/1/InfAlbaranCliente.fr3 | 18 +- Source/Informes/1/InfAlbaranProveedor.fr3 | 18 +- Source/Informes/1/InfPedidoCliente.fr3 | 18 +- Source/Informes/1/InfPedidoProveedor.fr3 | 18 +- ...InformeListadoAlbaranesClienteGrafComp.fr3 | 152 ++ Source/Informes/2/InfAlbaranCliente.fr3 | 18 +- Source/Informes/2/InfAlbaranProveedor.fr3 | 18 +- Source/Informes/2/InfFacturaCliente.fr3 | 18 +- Source/Informes/2/InfPedidoCliente.fr3 | 18 +- Source/Informes/2/InfPedidoProveedor.fr3 | 18 +- ...InformeListadoAlbaranesClienteGrafComp.fr3 | 153 ++ .../Reports/uRptAlbaranesCliente_Server.dfm | 2161 ++++++++++++++++- .../Reports/uRptAlbaranesCliente_Server.pas | 110 +- .../Servidor/srvAlbaranesCliente_Impl.pas | 21 + .../Views/uEditorFacturasCliente.dfm | 1 - .../Views/uEditorFacturasProveedor.dfm | 1 - .../Controller/GestorInformes_controller.dpk | 3 +- .../GestorInformes_controller.dproj | 1 + .../Controller/GestorInformes_controller.res | Bin 384 -> 4748 bytes ...rInformeAlbaranesClienteReportGrafComp.pas | 32 + .../Controller/uGestorInformesController.pas | 39 +- .../Data/uDataModuleGestorInformes.pas | 30 + .../Model/Data/uIDataModuleGestorInformes.pas | 4 + .../Plugin/uPluginGestorInformes.dfm | 12 +- .../Plugin/uPluginGestorInformes.pas | 9 + .../Servidor/srvGestorInformes_Impl.pas | 35 +- .../Views/GestorInformes_view.dpk | 3 +- .../Views/GestorInformes_view.dproj | 6 +- .../Views/GestorInformes_view.res | Bin 384 -> 4748 bytes ...rInformeAlbaranesClienteReportGrafComp.dfm | 210 ++ ...rInformeAlbaranesClienteReportGrafComp.pas | 186 ++ ...uEditorInformeBeneficiosReportGrafComp.dfm | 1 - ...uEditorInformeBeneficiosReportGrafComp.pas | 2 +- ...orInformeFacturasClienteReportGrafComp.dfm | 17 +- ...orInformeFacturasClienteReportGrafComp.pas | 2 +- ...InformeFacturasProveedorReportGrafComp.dfm | 17 +- ...InformeFacturasProveedorReportGrafComp.pas | 2 +- .../Views/uGestorInformesViewRegister.pas | 10 +- .../Views/uEditorRecibosCliente.dfm | 1 - Source/Servicios/FactuGES.RODL | 32 + Source/Servicios/FactuGES_Intf.pas | 64 + Source/Servicios/FactuGES_Invk.pas | 96 + Source/Servicios/RODLFile.res | Bin 53840 -> 54977 bytes Source/Servidor/FactuGES_Server.RES | Bin 23200 -> 23480 bytes Source/Servidor/FactuGES_Server.dproj | 803 +++--- 50 files changed, 3996 insertions(+), 609 deletions(-) create mode 100644 Source/Informes/1/InformeListadoAlbaranesClienteGrafComp.fr3 create mode 100644 Source/Informes/2/InformeListadoAlbaranesClienteGrafComp.fr3 create mode 100644 Source/Modulos/Gestor de informes/Controller/View/uIEditorInformeAlbaranesClienteReportGrafComp.pas create mode 100644 Source/Modulos/Gestor de informes/Views/uEditorInformeAlbaranesClienteReportGrafComp.dfm create mode 100644 Source/Modulos/Gestor de informes/Views/uEditorInformeAlbaranesClienteReportGrafComp.pas 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 8b251f312bcccec5485024f6fe8d80e1cdf25746..1641339fcc482e7e3492d1b45813a86619622c33 100644 GIT binary patch literal 4748 zcmbW5&ub)A5XUPdpe&2#;C*uNAUVhgd+&(4um@dnom`vXF9g}ZuHJ;se=<3UNdFJg zbCw+UD9j$byGIXV`~6hC>h4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP delta 11 ScmeBCZD5|Duvteife`=|>;pCc 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 @@
DataModuleImpresiones
TDataModule - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DataModuleRegistroCorreos
TDataModule
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
fConfigurarConexion
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 25f2a90687c4522314efb2676ca0b4f44d799a83..107dd16257f74368967376bf202fcd2776d5eec6 100644 GIT binary patch delta 488 zcmY+9y-EW?6otPTlek%fY?*Q)_}`=u8xezw1Qcx2CyPoFG#a9fRZ=MA0fcRmO`8X> z6)i0-t?hh=K)kcFF?eBi=5T)Q+0Qq3^6vH?)r(FIyPoIf_!~tI&jW=+BW-Srd>Sdx zzE5 zEE+$<61`rcbWBkgXv7E8sV7It3yREtXrROIq26B0NWS!!BKxt%)HO-}XA2qC06ag3FYsuZ=O190$YR{64rtCGzvt|ah#1~Ik80kQ|JdO0pFF8jkS0Bco^V-k%5OnK!AaPkwJnXgB3)>c`OVJObikd5V;d< z3=GV0UI!-w0}F$K0z_^F2Ll5uf(JB>jlsYGD#ypbz>eUlGQ=}*FgQ3sBsH8E7&sX` zJRrP|5C#S=hJ*yD#wiR8+zbs3P?a1YhcYmHU}RuW0Mh^e3ji^Y0|W*P2oHT=oc?Go zlZiSj&?7+i1D$0LRs(V_3s4Ld1WdP`$E3`tGd*!0Q~dNd^O!UkO{a^_XR@AtVLnp= KkZrht$r}I)94dnV 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 8b251f312bcccec5485024f6fe8d80e1cdf25746..1641339fcc482e7e3492d1b45813a86619622c33 100644 GIT binary patch literal 4748 zcmbW5&ub)A5XUPdpe&2#;C*uNAUVhgd+&(4um@dnom`vXF9g}ZuHJ;se=<3UNdFJg zbCw+UD9j$byGIXV`~6hC>h4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP delta 11 ScmeBCZD5|Duvteife`=|>;pCc 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 @@ + +
fEditorInformeBeneficiosReportGrafComp
+ TForm +
fEditorInformeBase
TForm
-
fEditorInformeFacturasProveedorReportGrafComp
+
fEditorInformeBeneficiosReportGrafComp
TForm
diff --git a/Source/Modulos/Gestor de informes/Views/GestorInformes_view.res b/Source/Modulos/Gestor de informes/Views/GestorInformes_view.res index 8b251f312bcccec5485024f6fe8d80e1cdf25746..1641339fcc482e7e3492d1b45813a86619622c33 100644 GIT binary patch literal 4748 zcmbW5&ub)A5XUPdpe&2#;C*uNAUVhgd+&(4um@dnom`vXF9g}ZuHJ;se=<3UNdFJg zbCw+UD9j$byGIXV`~6hC>h4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP delta 11 ScmeBCZD5|Duvteife`=|>;pCc 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 2f56f3a8df1587667fcd177b713811e04dddc20a..cfb3def352229733ea91d8ae208ccd898f79c6e5 100644 GIT binary patch delta 248 zcmcbxg!$lF<_QW+h1WJJO^cswkRmYoLNSMdV_tr-l0vAbi>*?%k%@tktGSDbuCbZ3 zxvq(!vAM2=iJOJ4tC6X*v7@t*g@J|BFHT}+(abWKc6EOZ@R4P0~`EnJ;loE%L|T-}U8rft5rD1yxn z*#!5Z#5Cvp+yaPOC99?w{T}>@4T#U_44JZ50+_`zq Y@_5F{0^$Ob|E~%L`cH1N*-9x*09{{BY5)KL delta 30 ocmV+(0O9|^tpm`c1CSsB0MfA{mS3}fV24Aq*`)Ucv!|^ZDb$V*2LJ#7 diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES index ab482d7f9c391ac093996a49e62c73018abacb16..dfdf2adee0dd2a3c1abc7369bd8d5fde46209807 100644 GIT binary patch delta 478 zcmY*Uu}Z{16r5e}jzdIJS&4)LMHKW3xz<7v4)nCJ$l3*!%c(IT#==IwLG}kMuhT}f zu<=Ly2RkcqHv8gn50c4b-ptNEy{h*&^-@L`K`=Xq|50cm2mpmPlBPq?LL?19BMiMZ zZUZyILX7EXpxYH~9%u@qwhU$hAKHFJOPcT-ZLPML%s?vJa<*eizH3<2_QZ7bkFxh> z;h;lZVFwvfmbcSct=_R*|A^soVzhEMKO zE9oeRG5yooD^>D7^>(05{rCoxy<={~IHNBm7Pw?1nSsj5Bd8u$PJ 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 - - - - - -
srvEmpresas
- TDARemoteService -
- -
srvProvinciasPoblaciones_Impl
- TDataModule -
- - - -
srvUsuarios
- TDataAbstractService -
- - - - - - - -
RptAlbaranesCliente
- TDataModule -
- -
RptWordAlbaranCliente
- TDataModule -
- -
srvAlbaranesCliente
- TDataAbstractService -
- - - - -
RptAlbaranesProveedor
- TDataModule -
- -
RptWordAlbaranProveedor
- TDataModule -
- -
srvAlbaranesProveedor
- TDataAbstractService -
- - - -
srvAlmacenes
- TDARemoteService -
- - - - -
srvArticulos
- TDARemoteService -
- - - - -
RptComisiones
- TDataModule -
- -
srvComisiones
- TDataAbstractService -
- - - - - - - - -
RptEtiquetasContacto
- TDataModule -
- -
RptFichasEmpleado
- TDataModule -
- -
srvContactos
- TDARemoteService -
- - - -
srvFabricantes
- TDataAbstractService -
- - - - -
RptFacturasCliente
- TDataModule -
- -
RptWordFacturaCliente
- TDataModule -
- -
srvFacturasCliente
- TDataAbstractService -
- - - - -
RptFacturasProveedor
- TDataModule -
- -
srvFacturasProveedor
- TDataAbstractService -
- - - -
srvFamilias
- TDataAbstractService -
- - - -
srvFormasPago
- TDataAbstractService -
- -
srvGestorDocumentos
- TDataAbstractService -
- -
srvGestorInformes
- TDataAbstractService -
- - - -
srvHistoricoMovimientos
- TDataAbstractService -
- - - -
srvImpresiones
- TDARemoteService -
- -
srvInfMargenArticulo
- TDARemoteService -
- -
srvInfVentasArticulo
- TDataAbstractService -
- - - -
srvInformes
- TDataAbstractService -
- - - -
srvInventario
- TDataAbstractService -
- - - - -
srvObras
- TDataAbstractService -
- - - - -
RptPedidosProveedor
- TDataModule -
- -
RptWordPedidoProveedor
- TDataModule -
- -
srvPedidosProveedor
- TDataAbstractService -
- - - - -
RptPedidosCliente
- TDataModule -
- -
srvPedidosCliente
- TDataAbstractService -
- - - - -
RptPresupuestosCliente
- TDataModule -
- -
RptWordCertificadoTrabajo
- TDataModule -
- -
RptWordPresupuestoCliente
- TDataModule -
- -
srvPresupuestosCliente
- TDataAbstractService -
- - - -
RptRecibosCliente
- TDataModule -
- -
srvRecibosCliente
- TDataAbstractService -
- - - -
RptRecibosProveedor
- TDataModule -
- -
srvRecibosProveedor
- TDataAbstractService -
- - - -
srvReferencias
- TDataAbstractService -
- -
srvRegistroCorreos
- TDataAbstractService -
- - - - -
RptRemesasCliente
- TDataModule -
- -
srvRemesasCliente
- TDataAbstractService -
- - - - -
RptRemesasProveedor
- TDataModule -
- -
srvRemesasProveedor
- TDataAbstractService -
- - - - - - - - - -
srvTiendaWeb
- TDataAbstractService -
- - - -
srvTiposIVA
- TDataAbstractService -
- - - -
srvUnidadesMedida
- TDataAbstractService -
- - - -
srvConfiguracion
- TDataAbstractService -
- -
frConexionBD
- TFrame -
- -
frConexionOSC
- TFrame -
- -
frConfGeneral
- TFrame -
- -
fConfiguracion
- TForm -
- -
FrameConfiguracion
- TFrame -
- -
srvLogin
- TDARemoteService -
- -
fAcercaDe
-
- -
dmServer
- TDataModule -
- -
fServerForm
-
- - - - - - - - - - -
+ + {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} + FactuGES_Server.dpr + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Servidor\FactuGES_Server.exe + 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 + + + + + +
srvEmpresas
+ TDARemoteService +
+ +
srvProvinciasPoblaciones_Impl
+ TDataModule +
+ + + +
srvUsuarios
+ TDataAbstractService +
+ + + + + + + +
RptAlbaranesCliente
+ TDataModule +
+ +
RptWordAlbaranCliente
+ TDataModule +
+ +
srvAlbaranesCliente
+ TDataAbstractService +
+ + + + +
RptAlbaranesProveedor
+ TDataModule +
+ +
RptWordAlbaranProveedor
+ TDataModule +
+ +
srvAlbaranesProveedor
+ TDataAbstractService +
+ + + +
srvAlmacenes
+ TDARemoteService +
+ + + + +
srvArticulos
+ TDARemoteService +
+ + + + +
RptComisiones
+ TDataModule +
+ +
srvComisiones
+ TDataAbstractService +
+ + + + + + + + +
RptEtiquetasContacto
+ TDataModule +
+ +
RptFichasEmpleado
+ TDataModule +
+ +
srvContactos
+ TDARemoteService +
+ + + +
srvFabricantes
+ TDataAbstractService +
+ + + + +
RptFacturasCliente
+ TDataModule +
+ +
RptWordFacturaCliente
+ TDataModule +
+ +
srvFacturasCliente
+ TDataAbstractService +
+ + + + +
RptFacturasProveedor
+ TDataModule +
+ +
srvFacturasProveedor
+ TDataAbstractService +
+ + + +
srvFamilias
+ TDataAbstractService +
+ + + +
srvFormasPago
+ TDataAbstractService +
+ +
srvGestorDocumentos
+ TDataAbstractService +
+ +
srvGestorInformes
+ TDataAbstractService +
+ + + +
srvHistoricoMovimientos
+ TDataAbstractService +
+ + + +
srvImpresiones
+ TDARemoteService +
+ +
srvInfMargenArticulo
+ TDARemoteService +
+ +
srvInfVentasArticulo
+ TDataAbstractService +
+ + + +
srvInformes
+ TDataAbstractService +
+ + + +
srvInventario
+ TDataAbstractService +
+ + + + +
srvObras
+ TDataAbstractService +
+ + + + +
RptPedidosProveedor
+ TDataModule +
+ +
RptWordPedidoProveedor
+ TDataModule +
+ +
srvPedidosProveedor
+ TDataAbstractService +
+ + + + +
RptPedidosCliente
+ TDataModule +
+ +
srvPedidosCliente
+ TDataAbstractService +
+ + + + +
RptPresupuestosCliente
+ TDataModule +
+ +
RptWordCertificadoTrabajo
+ TDataModule +
+ +
RptWordPresupuestoCliente
+ TDataModule +
+ +
srvPresupuestosCliente
+ TDataAbstractService +
+ + + +
RptRecibosCliente
+ TDataModule +
+ +
srvRecibosCliente
+ TDataAbstractService +
+ + + +
RptRecibosProveedor
+ TDataModule +
+ +
srvRecibosProveedor
+ TDataAbstractService +
+ + + +
srvReferencias
+ TDataAbstractService +
+ +
srvRegistroCorreos
+ TDataAbstractService +
+ + + + +
RptRemesasCliente
+ TDataModule +
+ +
srvRemesasCliente
+ TDataAbstractService +
+ + + + +
RptRemesasProveedor
+ TDataModule +
+ +
srvRemesasProveedor
+ TDataAbstractService +
+ + + + + + + + + +
srvTiendaWeb
+ TDataAbstractService +
+ + + +
srvTiposIVA
+ TDataAbstractService +
+ + + +
srvUnidadesMedida
+ TDataAbstractService +
+ + + +
srvConfiguracion
+ TDataAbstractService +
+ +
frConexionBD
+ TFrame +
+ +
frConexionOSC
+ TFrame +
+ +
frConfGeneral
+ TFrame +
+ +
fConfiguracion
+ TForm +
+ +
FrameConfiguracion
+ TFrame +
+ +
srvLogin
+ TDARemoteService +
+ +
fAcercaDe
+
+ +
dmServer
+ TDataModule +
+ +
fServerForm
+
+ + + + + + + + + + +