diff --git a/Build/Build.fbl6 b/Build/Build.fbl6 index a684bfd..ff68620 100644 Binary files a/Build/Build.fbl6 and b/Build/Build.fbl6 differ diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql index ab4200f..bb7d2f8 100644 --- a/Database/scripts/factuges.sql +++ b/Database/scripts/factuges.sql @@ -4172,8 +4172,8 @@ CREATE VIEW V_INF_FAC_CLIENTE( IMPORTE_TOTAL_ANO) AS select f.ID_EMPRESA, EXTRACT(YEAR FROM f.FECHA_FACTURA) as ANO, -CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA),8)+1) AS SMALLINT) as SEMESTRE, -CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA),4)+1) AS SMALLINT) as TRIMESTRE, +CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA),7)+1) AS SMALLINT) as SEMESTRE, +CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA)+2,3)) AS SMALLINT) as TRIMESTRE, EXTRACT(MONTH FROM f.FECHA_FACTURA) as MES, f.FECHA_FACTURA, f.ID_CLIENTE, f.NOMBRE, f.IMPORTE_DESCUENTO, f.IMPORTE_TOTAL, v.importe_total as IMPORTE_TOTAL_ANO from FACTURAS_CLIENTE f @@ -4195,8 +4195,8 @@ CREATE VIEW V_INF_FAC_PROVEEDOR( IMPORTE_TOTAL_ANO) AS select f.ID_EMPRESA, EXTRACT(YEAR FROM f.FECHA_FACTURA) as ANO, -CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA),8)+1) AS SMALLINT) as SEMESTRE, -CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA),4)+1) AS SMALLINT) as TRIMESTRE, +CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA),7)+1) AS SMALLINT) as SEMESTRE, +CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA)+2,3)) AS SMALLINT) as TRIMESTRE, EXTRACT(MONTH FROM f.FECHA_FACTURA) as MES, f.FECHA_FACTURA, f.ID_PROVEEDOR, f.NOMBRE, f.IMPORTE_DESCUENTO, f.IMPORTE_TOTAL, v.importe_total as IMPORTE_TOTAL_ANO from FACTURAS_PROVEEDOR f @@ -4229,8 +4229,8 @@ AS select FD.ID, F.ID_EMPRESA, EXTRACT(YEAR FROM f.FECHA_FACTURA) as ANO, -CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA),8)+1) AS SMALLINT) as SEMESTRE, -CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA),4)+1) AS SMALLINT) as TRIMESTRE, +CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA),7)+1) AS SMALLINT) as SEMESTRE, +CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA)+2,3)) AS SMALLINT) as TRIMESTRE, EXTRACT(MONTH FROM f.FECHA_FACTURA) as MES, f.FECHA_FACTURA, FD.ID_FACTURA, F.ID_PROVEEDOR, f.NOMBRE, FD.ID_ARTICULO, FD.CONCEPTO, FD.CANTIDAD, FD.IMPORTE_UNIDAD, (FD.CANTIDAD * FD.IMPORTE_UNIDAD) as IMPORTE_NETO, @@ -4275,8 +4275,8 @@ AS select FD.ID, F.ID_EMPRESA, EXTRACT(YEAR FROM f.FECHA_FACTURA) as ANO, -CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA),8)+1) AS SMALLINT) as SEMESTRE, -CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA),4)+1) AS SMALLINT) as TRIMESTRE, +CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA),7)+1) AS SMALLINT) as SEMESTRE, +CAST((DIV(EXTRACT(MONTH FROM f.FECHA_FACTURA)+2,3)) AS SMALLINT) as TRIMESTRE, EXTRACT(MONTH FROM f.FECHA_FACTURA) as MES, f.FECHA_FACTURA, FD.ID_FACTURA, F.ID_CLIENTE, f.NOMBRE, CD.ID_AGENTE, FD.ID_ARTICULO, FD.CONCEPTO, FD.CANTIDAD, FD.IMPORTE_UNIDAD, (FD.CANTIDAD * FD.IMPORTE_UNIDAD) as IMPORTE_NETO, diff --git a/Resources/logo-faber.jpg b/Resources/logo-faber.jpg new file mode 100644 index 0000000..4e03174 Binary files /dev/null and b/Resources/logo-faber.jpg differ diff --git a/Resources/logo-faber.png b/Resources/logo-faber.png new file mode 100644 index 0000000..21185ee Binary files /dev/null and b/Resources/logo-faber.png differ diff --git a/Resources/logo-keiblair.jpg b/Resources/logo-keiblair.jpg new file mode 100644 index 0000000..ee6759d Binary files /dev/null and b/Resources/logo-keiblair.jpg differ diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj index 967e11c..7ff2682 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\TrueFalse4130FalseFalseFalseFalseFalse30821252Rodax Software S.L.4.1.3.0FactuGESFactuGES4.1.3.0FactuGES.dprFalse +FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse4140FalseFalseFalseFalseFalse30821252Rodax Software S.L.4.1.4.0FactuGESFactuGES4.1.4.0FactuGES.dprFalse diff --git a/Source/Cliente/FactuGES.rc b/Source/Cliente/FactuGES.rc index d20d366..883ce40 100644 --- a/Source/Cliente/FactuGES.rc +++ b/Source/Cliente/FactuGES.rc @@ -1,7 +1,7 @@ MAINICON ICON "C:\Codigo\Resources\Iconos\Factuges.ico" 1 VERSIONINFO -FILEVERSION 4,1,2,0 -PRODUCTVERSION 4,1,2,0 +FILEVERSION 4,1,4,0 +PRODUCTVERSION 4,1,4,0 FILEFLAGSMASK 0x3FL FILEFLAGS 0x00L FILEOS 0x40004L @@ -13,10 +13,10 @@ BEGIN BLOCK "0C0A04E4" BEGIN VALUE "CompanyName", "Rodax Software S.L.\0" - VALUE "FileVersion", "4.1.2.0\0" + VALUE "FileVersion", "4.1.4.0\0" VALUE "InternalName", "FactuGES\0" VALUE "ProductName", "FactuGES\0" - VALUE "ProductVersion", "4.1.2.0\0" + VALUE "ProductVersion", "4.1.4.0\0" END END BLOCK "VarFileInfo" diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res index fc18575..b23af4e 100644 Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ diff --git a/Source/Informes/1/InfAlbaranCliente.fr3 b/Source/Informes/1/InfAlbaranCliente.fr3 index d867c26..7383dd4 100644 --- a/Source/Informes/1/InfAlbaranCliente.fr3 +++ b/Source/Informes/1/InfAlbaranCliente.fr3 @@ -1,5 +1,5 @@ - + @@ -21,12 +21,12 @@ - + - + @@ -48,7 +48,7 @@ - + diff --git a/Source/Informes/1/InfPresupuestoCliente.fr3 b/Source/Informes/1/InfPresupuestoCliente.fr3 deleted file mode 100644 index 8af18e3..0000000 --- a/Source/Informes/1/InfPresupuestoCliente.fr3 +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Source/Informes/1/InformeListadoBeneficiosGrafComp.fr3 b/Source/Informes/1/InformeListadoBeneficiosGrafComp.fr3 new file mode 100644 index 0000000..c6312e7 --- /dev/null +++ b/Source/Informes/1/InformeListadoBeneficiosGrafComp.fr3 @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Informes/2/InfFacturaCliente.fr3 b/Source/Informes/2/InfFacturaCliente.fr3 index 482d8be..8121cee 100644 --- a/Source/Informes/2/InfFacturaCliente.fr3 +++ b/Source/Informes/2/InfFacturaCliente.fr3 @@ -1,43 +1,43 @@ - + - - - - - - - + + + + + + + - - + + - + - + - - + + - + - + - - + + diff --git a/Source/Informes/2/InfReciboCliente.fr3 b/Source/Informes/2/InfReciboCliente.fr3 index d3540d9..ae341dc 100644 --- a/Source/Informes/2/InfReciboCliente.fr3 +++ b/Source/Informes/2/InfReciboCliente.fr3 @@ -1,11 +1,10 @@ - + - @@ -42,14 +41,12 @@ - - @@ -76,14 +73,17 @@ - + + + + - + - + diff --git a/Source/Informes/2/InformeListadoBeneficiosGrafComp.fr3 b/Source/Informes/2/InformeListadoBeneficiosGrafComp.fr3 new file mode 100644 index 0000000..0c971e5 --- /dev/null +++ b/Source/Informes/2/InformeListadoBeneficiosGrafComp.fr3 @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm index 59e5ed8..ee3db61 100644 --- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm +++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm @@ -1605,6 +1605,774 @@ object RptFacturasCliente: TRptFacturasCliente Name = 'PORCENTAJE' DataType = datCurrency 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,'#10'periodo_ingresos1.ANO as Ano1, period' + + 'o_ingresos1.IMPORTE_TOTAL as INGRESOS_ANO1,'#10'periodo_gastos1.ANO ' + + 'as Ano1, periodo_gastos1.IMPORTE_TOTAL as GASTOS_ANO1,'#10'(coalesce' + + '(periodo_ingresos1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.' + + 'IMPORTE_TOTAL, 0)) as BENEFICIO_ANO1,'#10'case'#10'when (periodo_ingreso' + + 's1.IMPORTE_TOTAL = 0) then (100 - ((coalesce(periodo_ingresos1.I' + + 'MPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, 0))*1' + + '00))'#10'else ((((coalesce(periodo_ingresos1.IMPORTE_TOTAL, 0) - coa' + + 'lesce(periodo_gastos1.IMPORTE_TOTAL, 0))*100)/periodo_ingresos1.' + + 'IMPORTE_TOTAL))'#10'end as Porcentaje_Beneficios_Ano1,'#10#10'periodo_ingr' + + 'esos2.ANO as Ano2, periodo_ingresos2.IMPORTE_TOTAL as INGRESOS_A' + + 'NO2,'#10'periodo_gastos2.ANO as Ano2, periodo_gastos2.IMPORTE_TOTAL ' + + 'as GASTOS_ANO2,'#10'(coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - ' + + 'coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)) as BENEFICIO_ANO2,'#10'c' + + 'ase'#10'when (periodo_ingresos2.IMPORTE_TOTAL = 0) then (100 - ((coa' + + 'lesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gas' + + 'tos2.IMPORTE_TOTAL, 0))*100))'#10'else ((((coalesce(periodo_ingresos' + + '2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)' + + ')*100)/periodo_ingresos2.IMPORTE_TOTAL))'#10'end as Porcentaje_Benef' + + 'icios_Ano2,'#10#10'(periodo_ingresos1.IMPORTE_TOTAL - periodo_ingresos' + + '2.IMPORTE_TOTAL) as Diferencia_Ingresos,'#10'case'#10'when (periodo_ingr' + + 'esos2.IMPORTE_TOTAL = 0) then (100 - ((periodo_ingresos1.IMPORTE' + + '_TOTAL - periodo_ingresos2.IMPORTE_TOTAL)*100))'#10'else (((periodo_' + + 'ingresos1.IMPORTE_TOTAL - periodo_ingresos2.IMPORTE_TOTAL)*100)/' + + 'periodo_ingresos2.IMPORTE_TOTAL)'#10'end as Porcentaje_Aumento_Ingre' + + 'sos,'#10#10'(periodo_gastos1.IMPORTE_TOTAL - periodo_gastos2.IMPORTE_T' + + 'OTAL) as Diferencia_Gastos,'#10'case'#10'when (periodo_gastos2.IMPORTE_T' + + 'OTAL = 0) then (100 - ((periodo_gastos1.IMPORTE_TOTAL - periodo_' + + 'gastos2.IMPORTE_TOTAL)*100))'#10'else (((periodo_gastos1.IMPORTE_TOT' + + 'AL - periodo_gastos2.IMPORTE_TOTAL)*100)/periodo_gastos2.IMPORTE' + + '_TOTAL)'#10'end as Porcentaje_Aumento_Gastos,'#10#10'case when periodo_ing' + + 'resos2.ANO is null then 0'#10'else'#10'((coalesce(periodo_ingresos1.IMPO' + + 'RTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, 0)) - (c' + + 'oalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_g' + + 'astos2.IMPORTE_TOTAL, 0)))'#10'end as Diferencia_Beneficios,'#10#10'case w' + + 'hen periodo_ingresos2.ANO is null then 0'#10'else'#10'case'#10'when ((coales' + + 'ce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos' + + '2.IMPORTE_TOTAL, 0)) = 0) then (100 - (((coalesce(periodo_ingres' + + 'os1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, ' + + '0)) - (coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(p' + + 'eriodo_gastos2.IMPORTE_TOTAL, 0)))*100))'#10'else (((((coalesce(peri' + + 'odo_ingresos1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPOR' + + 'TE_TOTAL, 0)) - (coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - ' + + 'coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)))*100) / (coalesce(pe' + + 'riodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos2.IMP' + + 'ORTE_TOTAL, 0))))'#10'end'#10'end as Porcentaje_Aumento_Beneficios'#10#10'FROM' + + #10'periodos_aux'#10'left join'#10'(select comp1.ID_EMPRESA, comp1.ANO, MES' + + ' as NFILA, SUM(comp1.IMPORTE_TOTAL) as IMPORTE_TOTAL'#10'from V_INF_' + + 'FAC_CLIENTE comp1'#10'where ID_EMPRESA = :ID_EMPRESA1'#10'and (ANO = :AN' + + 'O1)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) periodo_ingresos1 on (' + + 'VALOR = periodo_ingresos1.NFILA)'#10#10'left join'#10'(select comp2.ID_EMP' + + 'RESA, comp2.ANO, MES as NFILA, SUM(comp2.IMPORTE_TOTAL) as IMPOR' + + 'TE_TOTAL'#10'from V_INF_FAC_PROVEEDOR comp2'#10'where ID_EMPRESA = :ID_E' + + 'MPRESA1'#10'and (ANO = :ANO1)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) ' + + 'periodo_gastos1 on (VALOR = periodo_gastos1.NFILA)'#10#10'left join'#10'(s' + + 'elect comp3.ID_EMPRESA, comp3.ANO, MES as NFILA, SUM(comp3.IMPOR' + + 'TE_TOTAL) as IMPORTE_TOTAL'#10'from V_INF_FAC_CLIENTE comp3'#10'where ID' + + '_EMPRESA = :ID_EMPRESA2'#10'and (ANO = :ANO2)'#10'group by 1,2,3'#10'order b' + + 'y 1 desc,2 asc) periodo_ingresos2 on (VALOR = periodo_ingresos2.' + + 'NFILA)'#10#10'left join'#10'(select comp4.ID_EMPRESA, comp4.ANO, MES as NF' + + 'ILA, SUM(comp4.IMPORTE_TOTAL) as IMPORTE_TOTAL'#10'from V_INF_FAC_PR' + + 'OVEEDOR comp4'#10'where ID_EMPRESA = :ID_EMPRESA2'#10'and (ANO = :ANO2)'#10 + + 'group by 1,2,3'#10'order by 1 desc,2 asc) periodo_gastos2 on (VALOR ' + + '= periodo_gastos2.NFILA)'#10#10#10'where periodo= '#39'MENSUAL'#39#10'order by val' + + 'or 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 = 'INGRESOS_ANO1' + TableField = 'INGRESOS_ANO1' + end + item + DatasetField = 'ANO11' + TableField = 'ANO11' + end + item + DatasetField = 'GASTOS_ANO1' + TableField = 'GASTOS_ANO1' + end + item + DatasetField = 'BENEFICIO_ANO1' + TableField = 'BENEFICIO_ANO1' + end + item + DatasetField = 'PORCENTAJE_BENEFICIOS_ANO1' + TableField = 'PORCENTAJE_BENEFICIOS_ANO1' + end + item + DatasetField = 'INGRESOS_ANO2' + TableField = 'INGRESOS_ANO2' + end + item + DatasetField = 'ANO21' + TableField = 'ANO21' + end + item + DatasetField = 'GASTOS_ANO2' + TableField = 'GASTOS_ANO2' + end + item + DatasetField = 'BENEFICIO_ANO2' + TableField = 'BENEFICIO_ANO2' + end + item + DatasetField = 'PORCENTAJE_BENEFICIOS_ANO2' + TableField = 'PORCENTAJE_BENEFICIOS_ANO2' + end + item + DatasetField = 'DIFERENCIA_INGRESOS' + TableField = 'DIFERENCIA_INGRESOS' + end + item + DatasetField = 'PORCENTAJE_AUMENTO_INGRESOS' + TableField = 'PORCENTAJE_AUMENTO_INGRESOS' + end + item + DatasetField = 'DIFERENCIA_GASTOS' + TableField = 'DIFERENCIA_GASTOS' + end + item + DatasetField = 'PORCENTAJE_AUMENTO_GASTOS' + TableField = 'PORCENTAJE_AUMENTO_GASTOS' + end + item + DatasetField = 'DIFERENCIA_BENEFICIOS' + TableField = 'DIFERENCIA_BENEFICIOS' + end + item + DatasetField = 'PORCENTAJE_AUMENTO_BENEFICIOS' + TableField = 'PORCENTAJE_AUMENTO_BENEFICIOS' + end> + end> + Name = 'InformeListadoBeneficiosGrafCompMensual' + Fields = < + item + Name = 'VALOR' + DataType = datSmallInt + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 20 + end + item + Name = 'ANO1' + DataType = datSmallInt + end + item + Name = 'INGRESOS_ANO1' + DataType = datCurrency + end + item + Name = 'ANO11' + DataType = datSmallInt + end + item + Name = 'GASTOS_ANO1' + DataType = datCurrency + end + item + Name = 'BENEFICIO_ANO1' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_BENEFICIOS_ANO1' + DataType = datCurrency + end + item + Name = 'ANO2' + DataType = datSmallInt + end + item + Name = 'INGRESOS_ANO2' + DataType = datCurrency + end + item + Name = 'ANO21' + DataType = datSmallInt + end + item + Name = 'GASTOS_ANO2' + DataType = datCurrency + end + item + Name = 'BENEFICIO_ANO2' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_BENEFICIOS_ANO2' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_INGRESOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_INGRESOS' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_GASTOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_GASTOS' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_BENEFICIOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_BENEFICIOS' + DataType = datCurrency + 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,'#10'periodo_ingresos1.ANO as Ano1, period' + + 'o_ingresos1.IMPORTE_TOTAL as INGRESOS_ANO1,'#10'periodo_gastos1.ANO ' + + 'as Ano1, periodo_gastos1.IMPORTE_TOTAL as GASTOS_ANO1,'#10'(coalesce' + + '(periodo_ingresos1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.' + + 'IMPORTE_TOTAL, 0)) as BENEFICIO_ANO1,'#10'case'#10'when (periodo_ingreso' + + 's1.IMPORTE_TOTAL = 0) then (100 - ((coalesce(periodo_ingresos1.I' + + 'MPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, 0))*1' + + '00))'#10'else ((((coalesce(periodo_ingresos1.IMPORTE_TOTAL, 0) - coa' + + 'lesce(periodo_gastos1.IMPORTE_TOTAL, 0))*100)/periodo_ingresos1.' + + 'IMPORTE_TOTAL))'#10'end as Porcentaje_Beneficios_Ano1,'#10#10'periodo_ingr' + + 'esos2.ANO as Ano2, periodo_ingresos2.IMPORTE_TOTAL as INGRESOS_A' + + 'NO2,'#10'periodo_gastos2.ANO as Ano2, periodo_gastos2.IMPORTE_TOTAL ' + + 'as GASTOS_ANO2,'#10'(coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - ' + + 'coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)) as BENEFICIO_ANO2,'#10'c' + + 'ase'#10'when (periodo_ingresos2.IMPORTE_TOTAL = 0) then (100 - ((coa' + + 'lesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gas' + + 'tos2.IMPORTE_TOTAL, 0))*100))'#10'else ((((coalesce(periodo_ingresos' + + '2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)' + + ')*100)/periodo_ingresos2.IMPORTE_TOTAL))'#10'end as Porcentaje_Benef' + + 'icios_Ano2,'#10#10'(periodo_ingresos1.IMPORTE_TOTAL - periodo_ingresos' + + '2.IMPORTE_TOTAL) as Diferencia_Ingresos,'#10'case'#10'when (periodo_ingr' + + 'esos2.IMPORTE_TOTAL = 0) then (100 - ((periodo_ingresos1.IMPORTE' + + '_TOTAL - periodo_ingresos2.IMPORTE_TOTAL)*100))'#10'else (((periodo_' + + 'ingresos1.IMPORTE_TOTAL - periodo_ingresos2.IMPORTE_TOTAL)*100)/' + + 'periodo_ingresos2.IMPORTE_TOTAL)'#10'end as Porcentaje_Aumento_Ingre' + + 'sos,'#10#10'(periodo_gastos1.IMPORTE_TOTAL - periodo_gastos2.IMPORTE_T' + + 'OTAL) as Diferencia_Gastos,'#10'case'#10'when (periodo_gastos2.IMPORTE_T' + + 'OTAL = 0) then (100 - ((periodo_gastos1.IMPORTE_TOTAL - periodo_' + + 'gastos2.IMPORTE_TOTAL)*100))'#10'else (((periodo_gastos1.IMPORTE_TOT' + + 'AL - periodo_gastos2.IMPORTE_TOTAL)*100)/periodo_gastos2.IMPORTE' + + '_TOTAL)'#10'end as Porcentaje_Aumento_Gastos,'#10#10'case when periodo_ing' + + 'resos2.ANO is null then 0'#10'else'#10'((coalesce(periodo_ingresos1.IMPO' + + 'RTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, 0)) - (c' + + 'oalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_g' + + 'astos2.IMPORTE_TOTAL, 0)))'#10'end as Diferencia_Beneficios,'#10#10'case w' + + 'hen periodo_ingresos2.ANO is null then 0'#10'else'#10'case'#10'when ((coales' + + 'ce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos' + + '2.IMPORTE_TOTAL, 0)) = 0) then (100 - (((coalesce(periodo_ingres' + + 'os1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, ' + + '0)) - (coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(p' + + 'eriodo_gastos2.IMPORTE_TOTAL, 0)))*100))'#10'else (((((coalesce(peri' + + 'odo_ingresos1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPOR' + + 'TE_TOTAL, 0)) - (coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - ' + + 'coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)))*100) / (coalesce(pe' + + 'riodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos2.IMP' + + 'ORTE_TOTAL, 0))))'#10'end'#10'end as Porcentaje_Aumento_Beneficios'#10#10#10'FRO' + + 'M'#10'periodos_aux'#10'left join'#10'(select comp1.ID_EMPRESA, comp1.ANO, TR' + + 'IMESTRE as NFILA, SUM(comp1.IMPORTE_TOTAL) as IMPORTE_TOTAL'#10'from' + + ' V_INF_FAC_CLIENTE comp1'#10'where ID_EMPRESA = :ID_EMPRESA1'#10'and (AN' + + 'O = :ANO1)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) periodo_ingreso' + + 's1 on (VALOR = periodo_ingresos1.NFILA)'#10#10'left join'#10'(select comp2' + + '.ID_EMPRESA, comp2.ANO, TRIMESTRE as NFILA, SUM(comp2.IMPORTE_TO' + + 'TAL) as IMPORTE_TOTAL'#10'from V_INF_FAC_PROVEEDOR comp2'#10'where ID_EM' + + 'PRESA = :ID_EMPRESA1'#10'and (ANO = :ANO1)'#10'group by 1,2,3'#10'order by 1' + + ' desc,2 asc) periodo_gastos1 on (VALOR = periodo_gastos1.NFILA)'#10 + + #10'left join'#10'(select comp3.ID_EMPRESA, comp3.ANO, TRIMESTRE as NFI' + + 'LA, SUM(comp3.IMPORTE_TOTAL) as IMPORTE_TOTAL'#10'from V_INF_FAC_CLI' + + 'ENTE comp3'#10'where ID_EMPRESA = :ID_EMPRESA2'#10'and (ANO = :ANO2)'#10'gro' + + 'up by 1,2,3'#10'order by 1 desc,2 asc) periodo_ingresos2 on (VALOR =' + + ' periodo_ingresos2.NFILA)'#10#10'left join'#10'(select comp4.ID_EMPRESA, c' + + 'omp4.ANO, TRIMESTRE as NFILA, SUM(comp4.IMPORTE_TOTAL) as IMPORT' + + 'E_TOTAL'#10'from V_INF_FAC_PROVEEDOR comp4'#10'where ID_EMPRESA = :ID_EM' + + 'PRESA2'#10'and (ANO = :ANO2)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) p' + + 'eriodo_gastos2 on (VALOR = periodo_gastos2.NFILA)'#10#10#10'where period' + + 'o= '#39'TRIMESTRAL'#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 = 'INGRESOS_ANO1' + TableField = 'INGRESOS_ANO1' + end + item + DatasetField = 'ANO11' + TableField = 'ANO11' + end + item + DatasetField = 'GASTOS_ANO1' + TableField = 'GASTOS_ANO1' + end + item + DatasetField = 'BENEFICIO_ANO1' + TableField = 'BENEFICIO_ANO1' + end + item + DatasetField = 'PORCENTAJE_BENEFICIOS_ANO1' + TableField = 'PORCENTAJE_BENEFICIOS_ANO1' + end + item + DatasetField = 'INGRESOS_ANO2' + TableField = 'INGRESOS_ANO2' + end + item + DatasetField = 'ANO21' + TableField = 'ANO21' + end + item + DatasetField = 'GASTOS_ANO2' + TableField = 'GASTOS_ANO2' + end + item + DatasetField = 'BENEFICIO_ANO2' + TableField = 'BENEFICIO_ANO2' + end + item + DatasetField = 'PORCENTAJE_BENEFICIOS_ANO2' + TableField = 'PORCENTAJE_BENEFICIOS_ANO2' + end + item + DatasetField = 'DIFERENCIA_INGRESOS' + TableField = 'DIFERENCIA_INGRESOS' + end + item + DatasetField = 'PORCENTAJE_AUMENTO_INGRESOS' + TableField = 'PORCENTAJE_AUMENTO_INGRESOS' + end + item + DatasetField = 'DIFERENCIA_GASTOS' + TableField = 'DIFERENCIA_GASTOS' + end + item + DatasetField = 'PORCENTAJE_AUMENTO_GASTOS' + TableField = 'PORCENTAJE_AUMENTO_GASTOS' + end + item + DatasetField = 'DIFERENCIA_BENEFICIOS' + TableField = 'DIFERENCIA_BENEFICIOS' + end + item + DatasetField = 'PORCENTAJE_AUMENTO_BENEFICIOS' + TableField = 'PORCENTAJE_AUMENTO_BENEFICIOS' + end> + end> + Name = 'InformeListadoBeneficiosGrafCompTrimestral' + Fields = < + item + Name = 'VALOR' + DataType = datSmallInt + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 20 + end + item + Name = 'ANO1' + DataType = datSmallInt + end + item + Name = 'INGRESOS_ANO1' + DataType = datCurrency + end + item + Name = 'ANO11' + DataType = datSmallInt + end + item + Name = 'GASTOS_ANO1' + DataType = datCurrency + end + item + Name = 'BENEFICIO_ANO1' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_BENEFICIOS_ANO1' + DataType = datCurrency + end + item + Name = 'ANO2' + DataType = datSmallInt + end + item + Name = 'INGRESOS_ANO2' + DataType = datCurrency + end + item + Name = 'ANO21' + DataType = datSmallInt + end + item + Name = 'GASTOS_ANO2' + DataType = datCurrency + end + item + Name = 'BENEFICIO_ANO2' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_BENEFICIOS_ANO2' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_INGRESOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_INGRESOS' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_GASTOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_GASTOS' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_BENEFICIOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_BENEFICIOS' + DataType = datCurrency + 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,'#10'periodo_ingresos1.ANO as Ano1, period' + + 'o_ingresos1.IMPORTE_TOTAL as INGRESOS_ANO1,'#10'periodo_gastos1.ANO ' + + 'as Ano1, periodo_gastos1.IMPORTE_TOTAL as GASTOS_ANO1,'#10'(coalesce' + + '(periodo_ingresos1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.' + + 'IMPORTE_TOTAL, 0)) as BENEFICIO_ANO1,'#10'case'#10'when (periodo_ingreso' + + 's1.IMPORTE_TOTAL = 0) then (100 - ((coalesce(periodo_ingresos1.I' + + 'MPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, 0))*1' + + '00))'#10'else ((((coalesce(periodo_ingresos1.IMPORTE_TOTAL, 0) - coa' + + 'lesce(periodo_gastos1.IMPORTE_TOTAL, 0))*100)/periodo_ingresos1.' + + 'IMPORTE_TOTAL))'#10'end as Porcentaje_Beneficios_Ano1,'#10#10'periodo_ingr' + + 'esos2.ANO as Ano2, periodo_ingresos2.IMPORTE_TOTAL as INGRESOS_A' + + 'NO2,'#10'periodo_gastos2.ANO as Ano2, periodo_gastos2.IMPORTE_TOTAL ' + + 'as GASTOS_ANO2,'#10'(coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - ' + + 'coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)) as BENEFICIO_ANO2,'#10'c' + + 'ase'#10'when (periodo_ingresos2.IMPORTE_TOTAL = 0) then (100 - ((coa' + + 'lesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gas' + + 'tos2.IMPORTE_TOTAL, 0))*100))'#10'else ((((coalesce(periodo_ingresos' + + '2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)' + + ')*100)/periodo_ingresos2.IMPORTE_TOTAL))'#10'end as Porcentaje_Benef' + + 'icios_Ano2,'#10#10'(periodo_ingresos1.IMPORTE_TOTAL - periodo_ingresos' + + '2.IMPORTE_TOTAL) as Diferencia_Ingresos,'#10'case'#10'when (periodo_ingr' + + 'esos2.IMPORTE_TOTAL = 0) then (100 - ((periodo_ingresos1.IMPORTE' + + '_TOTAL - periodo_ingresos2.IMPORTE_TOTAL)*100))'#10'else (((periodo_' + + 'ingresos1.IMPORTE_TOTAL - periodo_ingresos2.IMPORTE_TOTAL)*100)/' + + 'periodo_ingresos2.IMPORTE_TOTAL)'#10'end as Porcentaje_Aumento_Ingre' + + 'sos,'#10#10'(periodo_gastos1.IMPORTE_TOTAL - periodo_gastos2.IMPORTE_T' + + 'OTAL) as Diferencia_Gastos,'#10'case'#10'when (periodo_gastos2.IMPORTE_T' + + 'OTAL = 0) then (100 - ((periodo_gastos1.IMPORTE_TOTAL - periodo_' + + 'gastos2.IMPORTE_TOTAL)*100))'#10'else (((periodo_gastos1.IMPORTE_TOT' + + 'AL - periodo_gastos2.IMPORTE_TOTAL)*100)/periodo_gastos2.IMPORTE' + + '_TOTAL)'#10'end as Porcentaje_Aumento_Gastos,'#10#10'case when periodo_ing' + + 'resos2.ANO is null then 0'#10'else'#10'((coalesce(periodo_ingresos1.IMPO' + + 'RTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, 0)) - (c' + + 'oalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_g' + + 'astos2.IMPORTE_TOTAL, 0)))'#10'end as Diferencia_Beneficios,'#10#10'case w' + + 'hen periodo_ingresos2.ANO is null then 0'#10'else'#10'case'#10'when ((coales' + + 'ce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos' + + '2.IMPORTE_TOTAL, 0)) = 0) then (100 - (((coalesce(periodo_ingres' + + 'os1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPORTE_TOTAL, ' + + '0)) - (coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(p' + + 'eriodo_gastos2.IMPORTE_TOTAL, 0)))*100))'#10'else (((((coalesce(peri' + + 'odo_ingresos1.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos1.IMPOR' + + 'TE_TOTAL, 0)) - (coalesce(periodo_ingresos2.IMPORTE_TOTAL, 0) - ' + + 'coalesce(periodo_gastos2.IMPORTE_TOTAL, 0)))*100) / (coalesce(pe' + + 'riodo_ingresos2.IMPORTE_TOTAL, 0) - coalesce(periodo_gastos2.IMP' + + 'ORTE_TOTAL, 0))))'#10'end'#10'end as Porcentaje_Aumento_Beneficios'#10#10#10'FRO' + + 'M'#10'periodos_aux'#10'left join'#10'(select comp1.ID_EMPRESA, comp1.ANO, SE' + + 'MESTRE as NFILA, SUM(comp1.IMPORTE_TOTAL) as IMPORTE_TOTAL'#10'from ' + + 'V_INF_FAC_CLIENTE comp1'#10'where ID_EMPRESA = :ID_EMPRESA1'#10'and (ANO' + + ' = :ANO1)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) periodo_ingresos' + + '1 on (VALOR = periodo_ingresos1.NFILA)'#10#10'left join'#10'(select comp2.' + + 'ID_EMPRESA, comp2.ANO, SEMESTRE as NFILA, SUM(comp2.IMPORTE_TOTA' + + 'L) as IMPORTE_TOTAL'#10'from V_INF_FAC_PROVEEDOR comp2'#10'where ID_EMPR' + + 'ESA = :ID_EMPRESA1'#10'and (ANO = :ANO1)'#10'group by 1,2,3'#10'order by 1 d' + + 'esc,2 asc) periodo_gastos1 on (VALOR = periodo_gastos1.NFILA)'#10#10'l' + + 'eft join'#10'(select comp3.ID_EMPRESA, comp3.ANO, SEMESTRE as NFILA,' + + ' SUM(comp3.IMPORTE_TOTAL) as IMPORTE_TOTAL'#10'from V_INF_FAC_CLIENT' + + 'E comp3'#10'where ID_EMPRESA = :ID_EMPRESA2'#10'and (ANO = :ANO2)'#10'group ' + + 'by 1,2,3'#10'order by 1 desc,2 asc) periodo_ingresos2 on (VALOR = pe' + + 'riodo_ingresos2.NFILA)'#10#10'left join'#10'(select comp4.ID_EMPRESA, comp' + + '4.ANO, SEMESTRE as NFILA, SUM(comp4.IMPORTE_TOTAL) as IMPORTE_TO' + + 'TAL'#10'from V_INF_FAC_PROVEEDOR comp4'#10'where ID_EMPRESA = :ID_EMPRES' + + 'A2'#10'and (ANO = :ANO2)'#10'group by 1,2,3'#10'order by 1 desc,2 asc) perio' + + 'do_gastos2 on (VALOR = periodo_gastos2.NFILA)'#10#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 = 'INGRESOS_ANO1' + TableField = 'INGRESOS_ANO1' + end + item + DatasetField = 'ANO11' + TableField = 'ANO11' + end + item + DatasetField = 'GASTOS_ANO1' + TableField = 'GASTOS_ANO1' + end + item + DatasetField = 'BENEFICIO_ANO1' + TableField = 'BENEFICIO_ANO1' + end + item + DatasetField = 'PORCENTAJE_BENEFICIOS_ANO1' + TableField = 'PORCENTAJE_BENEFICIOS_ANO1' + end + item + DatasetField = 'INGRESOS_ANO2' + TableField = 'INGRESOS_ANO2' + end + item + DatasetField = 'ANO21' + TableField = 'ANO21' + end + item + DatasetField = 'GASTOS_ANO2' + TableField = 'GASTOS_ANO2' + end + item + DatasetField = 'BENEFICIO_ANO2' + TableField = 'BENEFICIO_ANO2' + end + item + DatasetField = 'PORCENTAJE_BENEFICIOS_ANO2' + TableField = 'PORCENTAJE_BENEFICIOS_ANO2' + end + item + DatasetField = 'DIFERENCIA_INGRESOS' + TableField = 'DIFERENCIA_INGRESOS' + end + item + DatasetField = 'PORCENTAJE_AUMENTO_INGRESOS' + TableField = 'PORCENTAJE_AUMENTO_INGRESOS' + end + item + DatasetField = 'DIFERENCIA_GASTOS' + TableField = 'DIFERENCIA_GASTOS' + end + item + DatasetField = 'PORCENTAJE_AUMENTO_GASTOS' + TableField = 'PORCENTAJE_AUMENTO_GASTOS' + end + item + DatasetField = 'DIFERENCIA_BENEFICIOS' + TableField = 'DIFERENCIA_BENEFICIOS' + end + item + DatasetField = 'PORCENTAJE_AUMENTO_BENEFICIOS' + TableField = 'PORCENTAJE_AUMENTO_BENEFICIOS' + end> + end> + Name = 'InformeListadoBeneficiosGrafCompSemestral' + Fields = < + item + Name = 'VALOR' + DataType = datSmallInt + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 20 + end + item + Name = 'ANO1' + DataType = datSmallInt + end + item + Name = 'INGRESOS_ANO1' + DataType = datCurrency + end + item + Name = 'ANO11' + DataType = datSmallInt + end + item + Name = 'GASTOS_ANO1' + DataType = datCurrency + end + item + Name = 'BENEFICIO_ANO1' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_BENEFICIOS_ANO1' + DataType = datCurrency + end + item + Name = 'ANO2' + DataType = datSmallInt + end + item + Name = 'INGRESOS_ANO2' + DataType = datCurrency + end + item + Name = 'ANO21' + DataType = datSmallInt + end + item + Name = 'GASTOS_ANO2' + DataType = datCurrency + end + item + Name = 'BENEFICIO_ANO2' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_BENEFICIOS_ANO2' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_INGRESOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_INGRESOS' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_GASTOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_GASTOS' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_BENEFICIOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_BENEFICIOS' + DataType = datCurrency + end> end> JoinDataTables = <> UnionDataTables = <> @@ -2450,190 +3218,107 @@ object RptFacturasCliente: TRptFacturasCliente EngineOptions.DoublePass = True IniFile = '\Software\Fast Reports' PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick] - PreviewOptions.OutlineWidth = 180 PreviewOptions.Zoom = 1.000000000000000000 - PrintOptions.Printer = 'Default' + PrintOptions.Printer = 'Por defecto' PrintOptions.PrintOnSheet = 0 - ReportOptions.CreateDate = 37871.995398692100000000 - ReportOptions.LastChange = 40408.653188761600000000 - ReportOptions.VersionBuild = '1' - ReportOptions.VersionMajor = '12' - ReportOptions.VersionMinor = '13' - ReportOptions.VersionRelease = '1' + ReportOptions.CreateDate = 37800.807714351900000000 + ReportOptions.LastChange = 40610.765837615740000000 ScriptLanguage = 'PascalScript' ScriptText.Strings = ( - 'procedure DatosClienteOnBeforePrint(Sender: TfrxComponent);' + 'procedure Chart1OnBeforePrint(Sender: TfrxComponent);' 'begin' - ' DatosCliente.Lines.Clear;' - ' DatosCliente.Lines.Add();' - '' - ' if ( <> '#39#39')' - ' or ( <> '#39#39') then' - - ' DatosCliente.Lines.Add( + '#39' ' + - ' '#39' + );' - '' - ' if ( <> '#39#39') then' - ' DatosCliente.Lines.Add();' - 'end;' - '' - 'procedure BandaDetallesOnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' BandaDetalles.StartNewPage := False;' - ' BandaDetalles.Visible := True;' - ' MemPrecio.Style := '#39'Concepto normal'#39';' - ' MemCantidad.Style := '#39'Concepto normal'#39';' - ' MemImpTotal.Style := '#39'Concepto normal'#39';' - ' RichConcepto.Visible := True;' - '' - ' case of' - ' '#39'Salto'#39': begin' - ' BandaDetalles.StartNewPage := True;' - ' RichConcepto.Visible := False;' - ' end;' - ' '#39'Titulo'#39': begin' - ' MemPrecio.Style := '#39'Concepto titulo'#39';' - ' MemCantidad.Style := '#39'Concepto titulo'#39';' - ' MemImpTotal.Style := '#39'Concepto titulo'#39';' - ' end;' - ' '#39'Concepto'#39': begin' - ' MemPrecio.Style := '#39'Concepto normal'#39';' - ' MemCantidad.Style := '#39'Concepto normal'#39';' - ' MemImpTotal.Style := '#39'Concepto normal'#39';' - ' end;' - ' '#39'Subtotal'#39': begin' - ' MemPrecio.Style := '#39'Concepto subtotal'#39';' - ' MemCantidad.Style := '#39'Concepto subtotal'#39';' - ' MemImpTotal.Style := '#39'Concepto subtotal'#39';' - ' end;' - ' '#39'Descuento'#39': begin' - ' BandaDetalles.Visible := False;' - ' RichConcepto.Color := clNone;' - ' end;' - ' end;' - '' - ' RichConcepto.Color := MemImpTotal.Color;' - ' RichConcepto.Frame := MemImpTotal.Frame;' - 'end;' - '' - 'procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);' - 'begin' - - ' Engine.CurY := Engine.CurY + Engine.FreeSpace - ReportSummary1' + - '.Height - 1;' - 'end;' - '' - 'procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);' - 'var' - ' Cadena: String;' - 'begin' - ' { ' - ' DatosEmpresa.Lines.Clear;' - ' DatosEmpresa.Lines.Add();' - ' DatosEmpresa.Lines.Add();' - '' - ' Cadena := '#39#39';' - ' if ( <> '#39#39') then' - ' Cadena := '#39'TLF: '#39' + ;' - ' if ( <> '#39#39') then' - ' Cadena := Cadena + '#39' FAX: '#39' + ;' - ' DatosEmpresa.Lines.Add(Cadena);' - '' - ' Cadena := '#39#39';' - ' if ( <> '#39#39') then' - ' Cadena := ;' - ' if ( <> '#39#39') then' - - ' Cadena := Cadena + '#39' '#39' + ;' - ' if ( <> '#39#39') then' - - ' Cadena := Cadena + '#39' - '#39' + ;' - ' DatosEmpresa.Lines.Add(Cadena);' - ' } ' - 'end;' - '' - 'procedure Memo15OnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' Memo15.Lines.Clear;' - ' if (StrToFloat() < 0) then' - ' Memo15.Lines.Add('#39'ABONO'#39')' - ' else' - ' Memo15.Lines.Add('#39'FACTURA'#39')' - 'end;' - '' - 'procedure Memo20OnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' if (StrToFloat() = 0) then' - ' begin' - ' Memo21.Lines.Clear;' - ' Memo29.Lines.Clear;' - ' end;' - '' - 'end;' - '' - 'procedure Memo11OnBeforePrint(Sender: TfrxComponent);' - 'var' - ' Cadena : String;' - 'begin' - ' if ( <> '#39#39') then' - ' begin' - ' Cadena := Memo11.Lines.Text;' - ' Memo11.Lines.Clear;' - ' Memo11.Lines.Add();' - ' Memo11.Lines.Add(Cadena);' - ' end' - 'end;' - '' - 'procedure Band2OnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' if not Engine.FinalPass then' - ' Set('#39'TotalPaginas'#39', ( + 1));' - '' - ' if Engine.FinalPass then' - ' Set('#39'Pagina'#39', ( + 1));' - 'end;' - '' - 'procedure frxReportOnStartReport(Sender: TfrxComponent);' - 'begin' - ' Set('#39'Pagina'#39', 0);' - ' Set('#39'TotalPaginas'#39', 0);' - 'end;' - '' - 'procedure Picture1OnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' if then' + ' ' + ' if ( <> 0) then' ' begin ' - ' Picture1.Visible := True; ' - ' Picture2.Visible := True; ' - ' Picture3.Visible := True; ' - ' Picture4.Visible := True; ' - ' Picture5.Visible := True; ' - ' Picture6.Visible := True; ' - ' Memo12.Visible := True;' - ' Memo14.Visible := True; ' + - ' ' + ' TLineSeries(Chart1.Series[0]).Title := '#39'Ingresos '#39' + IntToS' + + 'tr();' + + ' TLineSeries(Chart1.Series[1]).Title := '#39'Gastos '#39' + IntToStr' + + '();' + + ' TLineSeries(Chart1.Series[2]).Title := '#39'Beneficios '#39' + IntT' + + 'oStr(); ' + ' end;' + ' ' + ' if ( <> 0) then' + ' begin ' + + ' TLineSeries(Chart1.Series[3]).Title := '#39'Ingresos '#39' + IntToS' + + 'tr();' + + ' TLineSeries(Chart1.Series[4]).Title := '#39'Gastos '#39' + IntToStr' + + '();' + + ' TLineSeries(Chart1.Series[5]).Title := '#39'Beneficios '#39' + IntT' + + 'oStr(); ' ' end' ' else' ' begin ' - ' Picture1.Visible := False;' - ' Picture2.Visible := False;' - ' Picture3.Visible := False;' - ' Picture4.Visible := False;' - ' Picture5.Visible := False;' - ' Picture6.Visible := False;' - ' Memo12.Visible := False;' + ' Chart1.Series[3].Active := False;' + ' Chart1.Series[4].Active := False;' + ' Chart1.Series[5].Active := False; ' + ' end;' + '' + ' if ( <> 0) then' + ' begin' + '//Solo Ingresos ' + ' if ( = 1) then' + ' begin' + ' Chart1.Series[0].Active := True;' + ' Chart1.Series[1].Active := False;' + ' Chart1.Series[2].Active := False;' + ' Chart1.Series[3].Active := True;' + ' Chart1.Series[4].Active := False;' + ' Chart1.Series[5].Active := False;' + ' end' + '//Solo Gastos ' + ' else if ( = 2) then' + ' begin' + ' Chart1.Series[0].Active := False;' + ' Chart1.Series[1].Active := True;' + ' Chart1.Series[2].Active := False;' + ' Chart1.Series[3].Active := False;' + ' Chart1.Series[4].Active := True;' + ' Chart1.Series[5].Active := False;' + ' end' + '//Solo Beneficios ' + ' else if ( = 3) then' + ' begin' + ' Chart1.Series[0].Active := False;' + ' Chart1.Series[1].Active := False;' + ' Chart1.Series[2].Active := True;' + ' Chart1.Series[3].Active := False;' + ' Chart1.Series[4].Active := False;' + ' Chart1.Series[5].Active := True;' + ' end; ' + ' ' + ' end; ' + 'end;' + '' + 'procedure Memo16OnBeforePrint(Sender: TfrxComponent);' + 'var' + ' Valor:Double; ' + 'begin' + '{ ' - ' Memo14.Visible := False; ' + - ' ' - ' end' + ' 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;' '' 'begin' - '' - 'end.') + 'end. ') ShowProgress = False StoreInDFM = False OnGetValue = frxReportGetValue @@ -3364,4 +4049,337 @@ object RptFacturasCliente: TRptFacturasCliente Left = 64 Top = 600 end + object tbl_InformeListadoBeneficiosGrafCompSemestral: 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 = 'INGRESOS_ANO1' + DataType = datCurrency + end + item + Name = 'ANO11' + DataType = datSmallInt + end + item + Name = 'GASTOS_ANO1' + DataType = datCurrency + end + item + Name = 'BENEFICIO_ANO1' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_BENEFICIOS_ANO1' + DataType = datCurrency + end + item + Name = 'ANO2' + DataType = datSmallInt + end + item + Name = 'INGRESOS_ANO2' + DataType = datCurrency + end + item + Name = 'ANO21' + DataType = datSmallInt + end + item + Name = 'GASTOS_ANO2' + DataType = datCurrency + end + item + Name = 'BENEFICIO_ANO2' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_BENEFICIOS_ANO2' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_INGRESOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_INGRESOS' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_GASTOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_GASTOS' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_BENEFICIOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_BENEFICIOS' + DataType = datCurrency + 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 = Bin2DataStreamer + LogicalName = 'InformeListadoBeneficiosGrafCompSemestral' + IndexDefs = <> + Left = 824 + Top = 496 + end + object tbl_InformeListadoBeneficiosGrafCompTrimestral: 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 = 'INGRESOS_ANO1' + DataType = datCurrency + end + item + Name = 'ANO11' + DataType = datSmallInt + end + item + Name = 'GASTOS_ANO1' + DataType = datCurrency + end + item + Name = 'BENEFICIO_ANO1' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_BENEFICIOS_ANO1' + DataType = datCurrency + end + item + Name = 'ANO2' + DataType = datSmallInt + end + item + Name = 'INGRESOS_ANO2' + DataType = datCurrency + end + item + Name = 'ANO21' + DataType = datSmallInt + end + item + Name = 'GASTOS_ANO2' + DataType = datCurrency + end + item + Name = 'BENEFICIO_ANO2' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_BENEFICIOS_ANO2' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_INGRESOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_INGRESOS' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_GASTOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_GASTOS' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_BENEFICIOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_BENEFICIOS' + DataType = datCurrency + 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 = Bin2DataStreamer + LogicalName = 'InformeListadoBeneficiosGrafCompTrimestral' + IndexDefs = <> + Left = 824 + Top = 544 + end + object tbl_InformeListadoBeneficiosGrafCompMensual: 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 = 'INGRESOS_ANO1' + DataType = datCurrency + end + item + Name = 'ANO11' + DataType = datSmallInt + end + item + Name = 'GASTOS_ANO1' + DataType = datCurrency + end + item + Name = 'BENEFICIO_ANO1' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_BENEFICIOS_ANO1' + DataType = datCurrency + end + item + Name = 'ANO2' + DataType = datSmallInt + end + item + Name = 'INGRESOS_ANO2' + DataType = datCurrency + end + item + Name = 'ANO21' + DataType = datSmallInt + end + item + Name = 'GASTOS_ANO2' + DataType = datCurrency + end + item + Name = 'BENEFICIO_ANO2' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_BENEFICIOS_ANO2' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_INGRESOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_INGRESOS' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_GASTOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_GASTOS' + DataType = datCurrency + end + item + Name = 'DIFERENCIA_BENEFICIOS' + DataType = datCurrency + end + item + Name = 'PORCENTAJE_AUMENTO_BENEFICIOS' + DataType = datCurrency + 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 = Bin2DataStreamer + LogicalName = 'InformeListadoBeneficiosGrafCompMensual' + IndexDefs = <> + Left = 824 + Top = 600 + end end diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas index 3617824..648381a 100644 --- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas +++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas @@ -100,10 +100,13 @@ type frxDBInformeListadoClientesMayorDescuentoResumen: TfrxDBDataset; DADSInformeListadoClientesMayorDescuentoResumen: TDADataSource; tbl_InformeListadoClientesMayorDescuentoResumen: TDAMemDataTable; - schReport: TDASchema; frxDBInformeListadoAgentesMayorFacturacionResumen: TfrxDBDataset; DADInformeListadoAgentesMayorFacturacionResumen: TDADataSource; tbl_InformeListadoAgentesMayorFacturacionResumen: TDAMemDataTable; + tbl_InformeListadoBeneficiosGrafCompSemestral: TDAMemDataTable; + tbl_InformeListadoBeneficiosGrafCompTrimestral: TDAMemDataTable; + tbl_InformeListadoBeneficiosGrafCompMensual: TDAMemDataTable; + schReport: TDASchema; procedure DataModuleCreate(Sender: TObject); procedure DataModuleDestroy(Sender: TObject); procedure frxReportGetValue(const VarName: string; var Value: Variant); @@ -141,6 +144,7 @@ type function GenerarInformeListadoFacturas(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; function GenerarInformeListadoFacturasPendientes(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; function GenerarInformeFacturasGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray; const TopN: Integer): Binary; + function GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const Serie: Variant): Binary; end; implementation @@ -160,6 +164,7 @@ const rptInformeListadoFactuasClientePendiente = 'InformeListadoFacturasClientePendientes.fr3'; rptInformeListadoFactuasClientePendienteDesglosado = 'InformeListadoFacturasClientePendientesDesglosado.fr3'; rptInformeListadoFacturasClienteGrafComp = 'InformeListadoFacturasClienteGrafComp.fr3'; + rptInformeListadoBeneficiosGrafComp = 'InformeListadoBeneficiosGrafComp.fr3'; { Dataset names for schReport } ds_InformeListadoFacturasResumen = 'InformeListadoFacturasResumen'; @@ -237,6 +242,51 @@ begin end; end; +function TRptFacturasCliente.GenerarInformeBeneficiosGrafComp( + const IdEmpresa: Integer; const Intervalo, Ano1, Ano2, + 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; + + //Preparamos la tabla correspondiente y la abrimos para el informe + if (FIntervalo = CTE_MENSUAL) then + PrepararTablaInformeGrafComp(tbl_InformeListadoBeneficiosGrafCompMensual) + else if (FIntervalo = CTE_TRIMESTRAL) then + PrepararTablaInformeGrafComp(tbl_InformeListadoBeneficiosGrafCompTrimestral) + else + PrepararTablaInformeGrafComp(tbl_InformeListadoBeneficiosGrafCompSemestral); + + Result := Binary.Create; + + AInforme := DarRutaFichero(DarRutaInformes, rptInformeListadoBeneficiosGrafComp, IntTostr(FIdEmpresa)); + if VarIsNull(AInforme) then + raise Exception.Create (('Error Servidor: GenerarInformeBeneficiosGrafComp, no encuentra informe ' + rptInformeListadoBeneficiosGrafComp)); + + frxReport.LoadFromFile(AInforme, True); +// IniciarParametrosInforme; + + 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; + function TRptFacturasCliente.GenerarInformeFacturasGrafComp( const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: Variant; const ListaIDClientes: TIntegerArray; const TopN: Integer): Binary; diff --git a/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dpk b/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dpk index 078e537..75e21b5 100644 --- a/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dpk +++ b/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dpk @@ -45,6 +45,7 @@ contains uIEditorInformeRecibosProveedorReport in 'View\uIEditorInformeRecibosProveedorReport.pas', uIEditorInformePedidosReport in 'View\uIEditorInformePedidosReport.pas', uIEditorInformeFacturasProveedorReportGrafComp in 'View\uIEditorInformeFacturasProveedorReportGrafComp.pas', - uIEditorInformeFacturasClienteReportGrafComp in 'View\uIEditorInformeFacturasClienteReportGrafComp.pas'; + uIEditorInformeFacturasClienteReportGrafComp in 'View\uIEditorInformeFacturasClienteReportGrafComp.pas', + uIEditorInformeBeneficiosReportGrafComp in 'View\uIEditorInformeBeneficiosReportGrafComp.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 1983ef9..6227776 100644 --- a/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dproj +++ b/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dproj @@ -43,6 +43,7 @@ + diff --git a/Source/Modulos/Gestor de informes/Controller/View/uIEditorInformeBeneficiosReportGrafComp.pas b/Source/Modulos/Gestor de informes/Controller/View/uIEditorInformeBeneficiosReportGrafComp.pas new file mode 100644 index 0000000..017cba4 --- /dev/null +++ b/Source/Modulos/Gestor de informes/Controller/View/uIEditorInformeBeneficiosReportGrafComp.pas @@ -0,0 +1,26 @@ +unit uIEditorInformeBeneficiosReportGrafComp; + +interface + +uses + FactuGES_Intf, uIEditorInformeBase; + +type + IEditorInformeBeneficiosReportGrafComp = interface(IEditorInformeBase) + ['{88554CB3-E8A6-4BC8-80CC-174D1FC614A5}'] + + function GetIntervalo: Variant; + function GetAno1: Variant; + function GetAno2: Variant; + function GetSerie: Variant; + + property Intervalo: Variant read GetIntervalo; + property Ano1: Variant read GetAno1; + property Ano2: Variant read GetAno2; + 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 3890e79..140ad13 100644 --- a/Source/Modulos/Gestor de informes/Controller/uGestorInformesController.pas +++ b/Source/Modulos/Gestor de informes/Controller/uGestorInformesController.pas @@ -25,6 +25,7 @@ type procedure VerInformeListadoFacturasCliPendientes; procedure VerInformeFacturasCliGrafComp; function DarListaAnosFacturasCli: TStringList; + procedure VerInformeBeneficiosCliGrafComp; //MODULO RECIBOS DE CLIENTE procedure VerInformeListadoRecibosCliPendientes; @@ -80,6 +81,7 @@ type procedure VerInformeListadoFacturasCliPendientes; procedure VerInformeFacturasCliGrafComp; function DarListaAnosFacturasCli: TStringList; + procedure VerInformeBeneficiosCliGrafComp; //MODULO RECIBOS DE CLIENTE procedure VerInformeListadoRecibosCliPendientes; @@ -116,7 +118,8 @@ uses uIEditorInformeFacturasProveedorPendientesReport, uIEditorInformeRecibosProveedorReport, uIEditorInformeRecibosProvPendientesReport, uIEditorInformePedidosReport, uIEditorInformeFacturasClienteReportGrafComp, - uIEditorInformeFacturasProveedorReportGrafComp; + uIEditorInformeFacturasProveedorReportGrafComp, + uIEditorInformeBeneficiosReportGrafComp; {procedure CopiarArticulosPedido(AOrigen: IBizDetallesPedidoCliente; @@ -302,6 +305,30 @@ begin Result := FDataModule; end; +procedure TGestorInformesController.VerInformeBeneficiosCliGrafComp; +var + AStream: Binary; + AEditor : IEditorInformeBeneficiosReportGrafComp; +begin + AEditor := NIL; + CreateEditor('EditorInformeBeneficiosReportGrafComp', IEditorInformeBeneficiosReportGrafComp, AEditor); + if Assigned(AEditor) then + try + AEditor.Controller := Self; + AEditor.Title := 'Informe comparativo de beneficios'; + + AStream := FDataModule.GenerarInformeBeneficiosGrafComp(AppFactuGES.EmpresaActiva.ID, + AEditor.Intervalo, AEditor.Ano1, AEditor.Ano2, AEditor.Serie); + + AEditor.LoadFromStream(AStream); + AEditor.Preview; + finally + AEditor.Release; + AEditor := Nil; + FreeAndNil(AStream); + end; +end; + procedure TGestorInformesController.VerInformeFacturasCliGrafComp; var AStream: Binary; diff --git a/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas b/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas index 324736e..b9149f4 100644 --- a/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas +++ b/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas @@ -32,6 +32,7 @@ type function GenerarInformeListadoFacturasCliPendientes(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; function GenerarInformeFacturasCliGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray; Const NTop: Variant): Binary; function DarListaAnosFacturasCli: TStringList; + function GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const Serie: Variant): Binary; //MODULO RECIBOS DE CLIENTE function GenerarInformeListadoRecibosCliPendientes(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; @@ -118,6 +119,16 @@ begin end; end; +function TDataModuleGestorInformes.GenerarInformeBeneficiosGrafComp( + const IdEmpresa: Integer; const Intervalo, Ano1, Ano2, + Serie: Variant): Binary; +begin + try + Result := (RORemoteService as IsrvGestorInformes).GenerarInformeBeneficiosGrafComp(IdEmpresa, Intervalo, Ano1, Ano2, Serie); + finally + end; +end; + function TDataModuleGestorInformes.GenerarInformeFacturasCliGrafComp( const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: Variant; const ListaIDClientes: TIntegerArray; const NTop: 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 3281a26..f4fb652 100644 --- a/Source/Modulos/Gestor de informes/Model/Data/uIDataModuleGestorInformes.pas +++ b/Source/Modulos/Gestor de informes/Model/Data/uIDataModuleGestorInformes.pas @@ -21,6 +21,7 @@ type function GenerarInformeListadoFacturasCliPendientes(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; function GenerarInformeFacturasCliGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDClientes: TIntegerArray; Const NTop: Variant): Binary; function DarListaAnosFacturasCli: TStringList; + function GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const Serie: Variant): Binary; //MODULO RECIBOS DE CLIENTE function GenerarInformeListadoRecibosCliPendientes(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 76c1677..f2c7f9a 100644 --- a/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.dfm +++ b/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.dfm @@ -135,6 +135,12 @@ object PluginGestorInformes: TPluginGestorInformes ImageIndex = 0 OnExecute = actInformeFacturasProveedorGrafCompExecute end + object actInformeBeneficiosGrafComp: TAction + Category = 'Facturas de cliente' + Caption = 'Informe comparativo de beneficios' + ImageIndex = 0 + OnExecute = actInformeBeneficiosGrafCompExecute + end end object MainMenu: TMainMenu Images = LargeImages @@ -199,11 +205,17 @@ object PluginGestorInformes: TPluginGestorInformes Caption = '-' end object Informecomparativodefacturacindeclientes1: TMenuItem + Tag = 160 Action = actInformeFacturasClienteGrafComp end object Informecomparativodefacturacindeproveedores1: TMenuItem + Tag = 170 Action = actInformeFacturasProveedorGrafComp end + object Informecomparativodebeneficios1: TMenuItem + Tag = 180 + Action = actInformeBeneficiosGrafComp + end end end object SmallImages: TPngImageList diff --git a/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.pas b/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.pas index 716c987..d96976e 100644 --- a/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.pas +++ b/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.pas @@ -46,6 +46,8 @@ type N5: TMenuItem; Informecomparativodefacturacindeclientes1: TMenuItem; Informecomparativodefacturacindeproveedores1: TMenuItem; + actInformeBeneficiosGrafComp: TAction; + Informecomparativodebeneficios1: TMenuItem; procedure actInformeFacturasClienteExecute(Sender: TObject); procedure actInformeFacturasClientePendientesExecute(Sender: TObject); procedure actInformeFacturasClienteIVAExecute(Sender: TObject); @@ -58,6 +60,7 @@ type procedure actInformeRecibosProvPendientesExecute(Sender: TObject); procedure actInformeFacturasClienteGrafCompExecute(Sender: TObject); procedure actInformeFacturasProveedorGrafCompExecute(Sender: TObject); + procedure actInformeBeneficiosGrafCompExecute(Sender: TObject); private FController : IGestorInformesController; public @@ -81,6 +84,12 @@ end; exports GetModule name GET_MODULE_FUNC; +procedure TPluginGestorInformes.actInformeBeneficiosGrafCompExecute( + Sender: TObject); +begin + FController.VerInformeBeneficiosCliGrafComp; +end; + procedure TPluginGestorInformes.actInformeFacturasClienteExecute( 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 0c23d10..7a08426 100644 --- a/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.pas +++ b/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.pas @@ -48,6 +48,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; //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; @@ -117,6 +118,20 @@ begin Result.Add(CTE_SEMESTRAL); end; +function TsrvGestorInformes.GenerarInformeBeneficiosGrafComp( + const IdEmpresa: Integer; const Intervalo, Ano1, Ano2, + Serie: Variant): Binary; +var + AReportGenerator : TRptFacturasCliente; +begin + AReportGenerator := TRptFacturasCliente.Create(nil); + try + Result := AReportGenerator.GenerarInformeBeneficiosGrafComp(IdEmpresa, Intervalo, Ano1, Ano2, Serie); + finally + FreeAndNIL(AReportGenerator); + end; +end; + function TsrvGestorInformes.GenerarInformeFacturasCliGrafComp( const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: Variant; const ListaIDClientes: TIntegerArray; const TopN: Integer): Binary; diff --git a/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dpk b/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dpk index e67154e..584c55c 100644 --- a/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dpk +++ b/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dpk @@ -91,6 +91,7 @@ contains uEditorInformePresupuestosReport in 'uEditorInformePresupuestosReport.pas' {fEditorInformePresupuestosReport: TForm}, uViewIntervaloComparativo in 'uViewIntervaloComparativo.pas' {frViewIntervaloComparativo: TFrame}, uEditorInformeFacturasClienteReportGrafComp in 'uEditorInformeFacturasClienteReportGrafComp.pas' {fEditorInformeFacturasClienteReportGrafComp: TForm}, - uEditorInformeFacturasProveedorReportGrafComp in 'uEditorInformeFacturasProveedorReportGrafComp.pas' {fEditorInformeFacturasProveedorReportGrafComp: TForm}; + uEditorInformeFacturasProveedorReportGrafComp in 'uEditorInformeFacturasProveedorReportGrafComp.pas' {fEditorInformeFacturasProveedorReportGrafComp: TForm}, + uEditorInformeBeneficiosReportGrafComp in 'uEditorInformeBeneficiosReportGrafComp.pas' {fEditorInformeBeneficiosReportGrafComp: 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 bb868ee..0e07e1a 100644 --- a/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dproj +++ b/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dproj @@ -79,6 +79,10 @@
fEditorInformeBase
TForm
+ +
fEditorInformeFacturasProveedorReportGrafComp
+ TForm +
fEditorInformeFacturasClientePendientesReport
t diff --git a/Source/Modulos/Gestor de informes/Views/uEditorInformeBase.dfm b/Source/Modulos/Gestor de informes/Views/uEditorInformeBase.dfm index a6a2250..585cd3e 100644 --- a/Source/Modulos/Gestor de informes/Views/uEditorInformeBase.dfm +++ b/Source/Modulos/Gestor de informes/Views/uEditorInformeBase.dfm @@ -65,6 +65,7 @@ inherited fEditorInformeBase: TfEditorInformeBase FloatingHeight = 128 SupportedDocks = [dkStandardDock, dkMultiDock] TabOrder = 0 + ExplicitWidth = 128 object TBXButton1: TTBXButton Left = 16 Top = 12 diff --git a/Source/Modulos/Gestor de informes/Views/uEditorInformeBeneficiosReportGrafComp.dfm b/Source/Modulos/Gestor de informes/Views/uEditorInformeBeneficiosReportGrafComp.dfm new file mode 100644 index 0000000..c0b68b2 --- /dev/null +++ b/Source/Modulos/Gestor de informes/Views/uEditorInformeBeneficiosReportGrafComp.dfm @@ -0,0 +1,209 @@ +inherited fEditorInformeBeneficiosReportGrafComp: TfEditorInformeBeneficiosReportGrafComp + Caption = 'fEditorInformeBeneficiosReportGrafComp' + 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 = 230 + 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 = 230 + inherited TBXAlignmentPanel2: TTBXAlignmentPanel + Width = 182 + ExplicitWidth = 182 + DesignSize = ( + 182 + 42) + 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 + DesignSize = ( + 182 + 42) + 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 + DesignSize = ( + 182 + 42) + 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 + Width = 182 + Visible = False + ExplicitWidth = 182 + inherited Label2: TLabel + Width = 172 + end + end + inherited TBXAlignmentPanel5: TTBXAlignmentPanel + Width = 182 + ExplicitTop = 225 + 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 + Top = 230 + 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 = 230 + 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/uEditorInformeBeneficiosReportGrafComp.pas b/Source/Modulos/Gestor de informes/Views/uEditorInformeBeneficiosReportGrafComp.pas new file mode 100644 index 0000000..a5f7964 --- /dev/null +++ b/Source/Modulos/Gestor de informes/Views/uEditorInformeBeneficiosReportGrafComp.pas @@ -0,0 +1,184 @@ +unit uEditorInformeBeneficiosReportGrafComp; + +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, uIEditorInformeBeneficiosReportGrafComp, + uViewIntervaloComparativo, uViewFiltroClientes; + +type + TfEditorInformeBeneficiosReportGrafComp = class(TfEditorInformeBase, IEditorInformeBeneficiosReportGrafComp) + 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 Serie: Variant read GetSerie; + property ListaIDClientes: TIntegerArray read GetListaIDClientes; + property NTop: Variant read GetNTop; + + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + end; + + +implementation + +{$R *.dfm} + +uses uROTypes, DateUtils, uGestorInformesController, uFactuGES_App; + +{ TfEditorGestorInformesReport } + +procedure TfEditorInformeBeneficiosReportGrafComp.actRefrescarExecute(Sender: TObject); +begin + inherited; + RefrescarInforme; +end; + +constructor TfEditorInformeBeneficiosReportGrafComp.Create(AOwner: TComponent); +begin + inherited; + FListaIDClientes := TIntegerArray.Create; +end; + +destructor TfEditorInformeBeneficiosReportGrafComp.Destroy; +begin + FListaIDClientes.Free; + inherited; +end; + +procedure TfEditorInformeBeneficiosReportGrafComp.FormShow(Sender: TObject); +begin + inherited; + actTodaPagina.Execute; +end; + +function TfEditorInformeBeneficiosReportGrafComp.GetIntervalo: Variant; +begin + Result := frViewIntervaloComparativo1.cbIntervalo.EditValue; +end; + +function TfEditorInformeBeneficiosReportGrafComp.GetAno1: Variant; +begin + Result := frViewIntervaloComparativo1.cbAno1.EditValue; +end; + +function TfEditorInformeBeneficiosReportGrafComp.GetAno2: Variant; +begin + Result := frViewIntervaloComparativo1.cbAno2.EditValue; +end; + +function TfEditorInformeBeneficiosReportGrafComp.GetListaIDClientes: TIntegerArray; +begin + FListaIDClientes.Clear; + if Assigned(frViewFiltroClientes1.Cliente) then + FListaIDClientes.Add(frViewFiltroClientes1.Cliente.ID); + + Result := FListaIDClientes; +end; + +function TfEditorInformeBeneficiosReportGrafComp.GetNTop: Variant; +begin + Result := frViewIntervaloComparativo1.stopN.Value; +end; + +function TfEditorInformeBeneficiosReportGrafComp.GetSerie: Variant; +begin + Result := frViewIntervaloComparativo1.Serie; +end; + +procedure TfEditorInformeBeneficiosReportGrafComp.RefrescarInforme; +var + AStream: Binary; +begin + ShowHourglassCursor; + try + + AStream := (Controller as IGestorInformesController).DataModule.GenerarInformeBeneficiosGrafComp( + AppFactuGES.EmpresaActiva.ID, + Intervalo, + Ano1, + Ano2, + Serie); + + LoadFromStream(AStream); + Report.ShowPreparedReport; + finally + FreeAndNil(AStream); + HideHourglassCursor; + end; +end; + +procedure TfEditorInformeBeneficiosReportGrafComp.SetController( + const Value: IControllerBase); +var + AListaAnos: TStringList; + AListaIntervalos: TStringList; + i: Integer; + +begin + inherited; + + AListaIntervalos := (Controller as IGestorInformesController).DarListaIntervalos; + AListaAnos := (Controller as IGestorInformesController).DarListaAnosFacturasCli; + + 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 - 1 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/uGestorInformesViewRegister.pas b/Source/Modulos/Gestor de informes/Views/uGestorInformesViewRegister.pas index 6ed1a14..34396c1 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; + uEditorInformeFacturasProveedorReportGrafComp, uEditorInformeFacturasClienteReportGrafComp, uEditorInformeBeneficiosReportGrafComp; procedure RegisterViews; begin @@ -36,6 +36,7 @@ begin EditorRegistry.RegisterClass(TfEditorInformeFacturasProveedorReportGrafComp, 'EditorInformeFacturasProveedorReportGrafComp'); EditorRegistry.RegisterClass(TfEditorInformeFacturasClienteReportGrafComp, 'EditorInformeFacturasClienteReportGrafComp'); + EditorRegistry.RegisterClass(TfEditorInformeBeneficiosReportGrafComp, 'EditorInformeBeneficiosReportGrafComp'); end; procedure UnregisterViews; @@ -53,6 +54,7 @@ begin EditorRegistry.UnRegisterClass(TfEditorInformeFacturasProveedorPendientesReport); EditorRegistry.UnRegisterClass(TfEditorInformeRecibosProveedorReport); EditorRegistry.UnRegisterClass(TfEditorInformeRecibosProvPendientesReport); + EditorRegistry.UnRegisterClass(TfEditorInformeBeneficiosReportGrafComp); EditorRegistry.UnRegisterClass(TfEditorInformeFacturasProveedorReportGrafComp); EditorRegistry.UnRegisterClass(TfEditorInformeFacturasClienteReportGrafComp); diff --git a/Source/Modulos/Gestor de informes/Views/uViewIntervaloComparativo.dfm b/Source/Modulos/Gestor de informes/Views/uViewIntervaloComparativo.dfm index 84bbaab..a90c321 100644 --- a/Source/Modulos/Gestor de informes/Views/uViewIntervaloComparativo.dfm +++ b/Source/Modulos/Gestor de informes/Views/uViewIntervaloComparativo.dfm @@ -1,14 +1,14 @@ inherited frViewIntervaloComparativo: TfrViewIntervaloComparativo - Width = 451 - Height = 238 + Width = 326 + Height = 273 Align = alTop - ExplicitWidth = 451 - ExplicitHeight = 238 + ExplicitWidth = 326 + ExplicitHeight = 273 object TBXAlignmentPanel2: TTBXAlignmentPanel AlignWithMargins = True Left = 3 Top = 32 - Width = 445 + Width = 320 Height = 42 Margins.Left = 5 Margins.Top = 5 @@ -16,13 +16,14 @@ inherited frViewIntervaloComparativo: TfrViewIntervaloComparativo Align = alTop AutoSize = True TabOrder = 0 + ExplicitWidth = 445 DesignSize = ( - 445 + 320 42) object Label3: TLabel Left = 5 Top = 5 - Width = 435 + Width = 310 Height = 13 Align = alTop Caption = 'Intervalo comparativo' @@ -52,13 +53,14 @@ inherited frViewIntervaloComparativo: TfrViewIntervaloComparativo StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.SkinName = '' TabOrder = 0 - Width = 429 + ExplicitWidth = 429 + Width = 304 end end object TBXLabel2: TTBXLabel Left = 0 Top = 0 - Width = 451 + Width = 326 Height = 29 Margins.Top = 5 Margins.Bottom = 10 @@ -72,12 +74,13 @@ inherited frViewIntervaloComparativo: TfrViewIntervaloComparativo ParentColor = True ParentFont = False Underline = True + ExplicitWidth = 451 end object TBXAlignmentPanel3: TTBXAlignmentPanel AlignWithMargins = True Left = 3 Top = 80 - Width = 445 + Width = 320 Height = 42 Margins.Left = 5 Margins.Top = 5 @@ -85,13 +88,14 @@ inherited frViewIntervaloComparativo: TfrViewIntervaloComparativo Align = alTop AutoSize = True TabOrder = 2 + ExplicitWidth = 445 DesignSize = ( - 445 + 320 42) object lis: TLabel Left = 5 Top = 5 - Width = 435 + Width = 310 Height = 13 Align = alTop Caption = 'A'#241'o' @@ -121,14 +125,15 @@ inherited frViewIntervaloComparativo: TfrViewIntervaloComparativo StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.SkinName = '' TabOrder = 0 - Width = 429 + ExplicitWidth = 429 + Width = 304 end end object TBXAlignmentPanel1: TTBXAlignmentPanel AlignWithMargins = True Left = 3 Top = 128 - Width = 445 + Width = 320 Height = 42 Margins.Left = 5 Margins.Top = 5 @@ -136,13 +141,14 @@ inherited frViewIntervaloComparativo: TfrViewIntervaloComparativo Align = alTop AutoSize = True TabOrder = 3 + ExplicitWidth = 445 DesignSize = ( - 445 + 320 42) object Label1: TLabel Left = 5 Top = 5 - Width = 435 + Width = 310 Height = 13 Align = alTop Caption = 'Comparar con a'#241'o' @@ -172,37 +178,99 @@ inherited frViewIntervaloComparativo: TfrViewIntervaloComparativo StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.SkinName = '' TabOrder = 0 - Width = 429 + ExplicitWidth = 429 + Width = 304 end end object TBXAlignmentPanel4: TTBXAlignmentPanel AlignWithMargins = True Left = 3 Top = 176 - Width = 445 - Height = 41 + Width = 320 + Height = 43 Margins.Left = 5 Margins.Top = 5 Margins.Right = 5 Align = alTop AutoSize = True TabOrder = 4 + ExplicitWidth = 445 object Label2: TLabel Left = 5 Top = 5 - Width = 435 + Width = 310 Height = 13 Align = alTop - Caption = 'Top N' + Caption = 'Top N:' Transparent = True - ExplicitWidth = 28 + ExplicitWidth = 32 end object stopN: TcxSpinEdit Left = 3 - Top = 20 + Top = 22 TabOrder = 0 Value = 5 - Width = 121 + Width = 110 + end + end + object TBXAlignmentPanel5: TTBXAlignmentPanel + AlignWithMargins = True + Left = 3 + Top = 225 + Width = 320 + Height = 42 + Margins.Left = 5 + Margins.Top = 5 + Margins.Right = 5 + Align = alTop + AutoSize = True + TabOrder = 5 + ExplicitTop = 181 + ExplicitWidth = 445 + DesignSize = ( + 320 + 42) + object Label4: TLabel + Left = 5 + Top = 5 + Width = 310 + Height = 13 + Align = alTop + Caption = 'Mostrar gr'#225'fico de:' + Transparent = True + ExplicitWidth = 92 + end + object cbSerie: TcxComboBox + Left = 3 + Top = 21 + Anchors = [akLeft, akTop, akRight] + Properties.DropDownListStyle = lsFixedList + Properties.Items.Strings = ( + 'Todos' + 'Ingresos' + 'Gastos' + 'Beneficios') + Style.BorderColor = clWindowFrame + Style.BorderStyle = ebs3D + Style.HotTrack = False + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + Style.LookAndFeel.SkinName = '' + Style.ButtonStyle = bts3D + Style.PopupBorderStyle = epbsFrame3D + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.SkinName = '' + TabOrder = 0 + Text = 'Todos' + ExplicitWidth = 429 + Width = 304 end end end diff --git a/Source/Modulos/Gestor de informes/Views/uViewIntervaloComparativo.pas b/Source/Modulos/Gestor de informes/Views/uViewIntervaloComparativo.pas index 788e757..78aacd0 100644 --- a/Source/Modulos/Gestor de informes/Views/uViewIntervaloComparativo.pas +++ b/Source/Modulos/Gestor de informes/Views/uViewIntervaloComparativo.pas @@ -28,19 +28,25 @@ type TBXAlignmentPanel4: TTBXAlignmentPanel; Label2: TLabel; stopN: TcxSpinEdit; + TBXAlignmentPanel5: TTBXAlignmentPanel; + Label4: TLabel; + cbSerie: TcxComboBox; private function GetIntervalo: Variant; function GetAno1: Variant; function GetAno2: Variant; + function GetSerie: Variant; procedure SetIntervalo(const Value: Variant); procedure SetAno1(const Value: Variant); procedure SetAno2(const Value: Variant); + procedure SetSerie(const Value: Variant); public property Intevalo : Variant read GetIntervalo write SetIntervalo; property Ano1 : Variant read GetAno1 write SetAno1; property Ano2 : Variant read GetAno2 write SetAno2; + property Serie : Variant read GetSerie write SetSerie; constructor Create(AOwner: TComponent); override; end; @@ -57,6 +63,11 @@ begin Result := cbIntervalo.EditValue; end; +function TfrViewIntervaloComparativo.GetSerie: Variant; +begin + Result := cbSerie.ItemIndex; +end; + function TfrViewIntervaloComparativo.GetAno1: Variant; begin Result := cbAno1.EditValue; @@ -72,6 +83,11 @@ begin cbIntervalo.EditValue := Value; end; +procedure TfrViewIntervaloComparativo.SetSerie(const Value: Variant); +begin + cbSerie.ItemIndex := Value; +end; + procedure TfrViewIntervaloComparativo.SetAno1(const Value: Variant); begin cbAno1.EditValue := Value; diff --git a/Source/Modulos/Informe margen por articulo/Data/InfMargenArticulo_data.drc b/Source/Modulos/Informe margen por articulo/Data/InfMargenArticulo_data.drc index d78fb0d..7ecd743 100644 --- a/Source/Modulos/Informe margen por articulo/Data/InfMargenArticulo_data.drc +++ b/Source/Modulos/Informe margen por articulo/Data/InfMargenArticulo_data.drc @@ -14,4 +14,4 @@ END /* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\uDataModuleInfMargenArticulo.dfm */ /* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\InfMargenArticulo_data.res */ -/* c:\temp\dtf300.tmp */ +/* c:\temp\dtf7E.tmp */ diff --git a/Source/Modulos/Informe margen por articulo/Model/InfMargenArticulo_model.drc b/Source/Modulos/Informe margen por articulo/Model/InfMargenArticulo_model.drc index 6a1ff25..dc70d7b 100644 --- a/Source/Modulos/Informe margen por articulo/Model/InfMargenArticulo_model.drc +++ b/Source/Modulos/Informe margen por articulo/Model/InfMargenArticulo_model.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo\Source\Modulos\Informe margen por articulo\Model\InfMargenArticulo_model.res */ -/* c:\temp\dtf2FE.tmp */ +/* c:\temp\dtf7C.tmp */ diff --git a/Source/Modulos/Informe margen por articulo/Views/InfMargenArticulo_view.drc b/Source/Modulos/Informe margen por articulo/Views/InfMargenArticulo_view.drc index 8451955..219659c 100644 --- a/Source/Modulos/Informe margen por articulo/Views/InfMargenArticulo_view.drc +++ b/Source/Modulos/Informe margen por articulo/Views/InfMargenArticulo_view.drc @@ -16,4 +16,4 @@ END /* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\uViewInfMargenArticulo.dfm */ /* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\uEditorInfMargenArticulo.dfm */ /* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\InfMargenArticulo_view.res */ -/* c:\temp\dtf304.tmp */ +/* c:\temp\dtf82.tmp */ diff --git a/Source/Modulos/Informe ventas por articulo/Data/InfVentasArticulo_data.drc b/Source/Modulos/Informe ventas por articulo/Data/InfVentasArticulo_data.drc index 1872610..f03cbd6 100644 --- a/Source/Modulos/Informe ventas por articulo/Data/InfVentasArticulo_data.drc +++ b/Source/Modulos/Informe ventas por articulo/Data/InfVentasArticulo_data.drc @@ -14,4 +14,4 @@ END /* C:\Codigo\Source\Modulos\Informe ventas por articulo\Data\uDataModuleInfVentasArticulo.dfm */ /* C:\Codigo\Source\Modulos\Informe ventas por articulo\Data\InfVentasArticulo_data.res */ -/* c:\temp\dtf2F6.tmp */ +/* c:\temp\dtf74.tmp */ diff --git a/Source/Modulos/Informe ventas por articulo/Model/InfVentasArticulo_model.drc b/Source/Modulos/Informe ventas por articulo/Model/InfVentasArticulo_model.drc index ee0cc54..6ac90b7 100644 --- a/Source/Modulos/Informe ventas por articulo/Model/InfVentasArticulo_model.drc +++ b/Source/Modulos/Informe ventas por articulo/Model/InfVentasArticulo_model.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo\Source\Modulos\Informe ventas por articulo\Model\InfVentasArticulo_model.res */ -/* c:\temp\dtf2F4.tmp */ +/* c:\temp\dtf72.tmp */ diff --git a/Source/Modulos/Informe ventas por articulo/Views/InfVentasArticulo_view.drc b/Source/Modulos/Informe ventas por articulo/Views/InfVentasArticulo_view.drc index 831a662..9e2f7fd 100644 --- a/Source/Modulos/Informe ventas por articulo/Views/InfVentasArticulo_view.drc +++ b/Source/Modulos/Informe ventas por articulo/Views/InfVentasArticulo_view.drc @@ -16,4 +16,4 @@ END /* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uViewInfVentasArticulo.dfm */ /* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uEditorInfVentasArticulo.dfm */ /* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\InfVentasArticulo_view.res */ -/* c:\temp\dtf2FA.tmp */ +/* c:\temp\dtf78.tmp */ diff --git a/Source/Modulos/Informes base/Controller/InformesBase_controller.drc b/Source/Modulos/Informes base/Controller/InformesBase_controller.drc index b1a5f58..189e537 100644 --- a/Source/Modulos/Informes base/Controller/InformesBase_controller.drc +++ b/Source/Modulos/Informes base/Controller/InformesBase_controller.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo\Source\Modulos\Informes base\Controller\InformesBase_controller.res */ -/* c:\temp\dtf2EA.tmp */ +/* c:\temp\dtf68.tmp */ diff --git a/Source/Modulos/Informes base/Data/Informes_data.drc b/Source/Modulos/Informes base/Data/Informes_data.drc index 3eb17bb..fb93909 100644 --- a/Source/Modulos/Informes base/Data/Informes_data.drc +++ b/Source/Modulos/Informes base/Data/Informes_data.drc @@ -14,4 +14,4 @@ END /* C:\Codigo\Source\Modulos\Informes base\Data\uDataModuleInformes.dfm */ /* C:\Codigo\Source\Modulos\Informes base\Data\Informes_data.res */ -/* c:\temp\dtf2E4.tmp */ +/* c:\temp\dtf64.tmp */ diff --git a/Source/Modulos/Informes base/Model/Informes_model.drc b/Source/Modulos/Informes base/Model/Informes_model.drc index 5970762..f1cce38 100644 --- a/Source/Modulos/Informes base/Model/Informes_model.drc +++ b/Source/Modulos/Informes base/Model/Informes_model.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo\Source\Modulos\Informes base\Model\Informes_model.res */ -/* c:\temp\dtf2E2.tmp */ +/* c:\temp\dtf62.tmp */ diff --git a/Source/Modulos/Informes base/Views/Informes_view.drc b/Source/Modulos/Informes base/Views/Informes_view.drc index b9a491d..d17601b 100644 --- a/Source/Modulos/Informes base/Views/Informes_view.drc +++ b/Source/Modulos/Informes base/Views/Informes_view.drc @@ -15,4 +15,4 @@ END /* C:\Codigo\Source\Modulos\Informes base\Views\uViewInformes.dfm */ /* C:\Codigo\Source\Modulos\Informes base\Views\uEditorInformes.dfm */ /* C:\Codigo\Source\Modulos\Informes base\Views\Informes_view.res */ -/* c:\temp\dtf2EE.tmp */ +/* c:\temp\dtf6C.tmp */ diff --git a/Source/Modulos/Pedidos de cliente/Controller/PedidosCliente_controller.drc b/Source/Modulos/Pedidos de cliente/Controller/PedidosCliente_controller.drc index 546fb10..8ec6da0 100644 --- a/Source/Modulos/Pedidos de cliente/Controller/PedidosCliente_controller.drc +++ b/Source/Modulos/Pedidos de cliente/Controller/PedidosCliente_controller.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo\Source\Modulos\Pedidos de cliente\Controller\PedidosCliente_controller.RES */ -/* c:\temp\dtf338.tmp */ +/* c:\temp\dtfB6.tmp */ diff --git a/Source/Modulos/Pedidos de cliente/Data/PedidosCliente_data.drc b/Source/Modulos/Pedidos de cliente/Data/PedidosCliente_data.drc index d1895fc..3b3cf0c 100644 --- a/Source/Modulos/Pedidos de cliente/Data/PedidosCliente_data.drc +++ b/Source/Modulos/Pedidos de cliente/Data/PedidosCliente_data.drc @@ -14,4 +14,4 @@ END /* C:\Codigo\Source\Modulos\Pedidos de cliente\Data\uDataModulePedidosCliente.dfm */ /* C:\Codigo\Source\Modulos\Pedidos de cliente\Data\PedidosCliente_data.RES */ -/* c:\temp\dtf336.tmp */ +/* c:\temp\dtfB4.tmp */ diff --git a/Source/Modulos/Pedidos de cliente/Model/PedidosCliente_model.drc b/Source/Modulos/Pedidos de cliente/Model/PedidosCliente_model.drc index 2e7f5cc..6d87eea 100644 --- a/Source/Modulos/Pedidos de cliente/Model/PedidosCliente_model.drc +++ b/Source/Modulos/Pedidos de cliente/Model/PedidosCliente_model.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo\Source\Modulos\Pedidos de cliente\Model\PedidosCliente_model.RES */ -/* c:\temp\dtf334.tmp */ +/* c:\temp\dtfB2.tmp */ diff --git a/Source/Modulos/Pedidos de cliente/Plugin/PedidosCliente_plugin.drc b/Source/Modulos/Pedidos de cliente/Plugin/PedidosCliente_plugin.drc index 932ef02..f9f021d 100644 --- a/Source/Modulos/Pedidos de cliente/Plugin/PedidosCliente_plugin.drc +++ b/Source/Modulos/Pedidos de cliente/Plugin/PedidosCliente_plugin.drc @@ -14,4 +14,4 @@ END /* C:\Codigo\Source\Modulos\Pedidos de cliente\Plugin\uPluginPedidosCliente.dfm */ /* C:\Codigo\Source\Modulos\Pedidos de cliente\Plugin\PedidosCliente_plugin.RES */ -/* c:\temp\dtf39C.tmp */ +/* c:\temp\dtf11A.tmp */ diff --git a/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.drc b/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.drc index e76f204..34e2a57 100644 --- a/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.drc +++ b/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.drc @@ -26,4 +26,4 @@ END /* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorElegirArticulosPedidoCliente.dfm */ /* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorDireccionEntregaPedidoCliente.dfm */ /* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\PedidosCliente_view.RES */ -/* c:\temp\dtf39A.tmp */ +/* c:\temp\dtf118.tmp */ diff --git a/Source/Modulos/Tienda web/Data/TiendaWeb_data.drc b/Source/Modulos/Tienda web/Data/TiendaWeb_data.drc index 72d5378..7a635ee 100644 --- a/Source/Modulos/Tienda web/Data/TiendaWeb_data.drc +++ b/Source/Modulos/Tienda web/Data/TiendaWeb_data.drc @@ -14,4 +14,4 @@ END /* C:\Codigo\Source\Modulos\Tienda web\Data\uDataModuleTiendaWeb.dfm */ /* C:\Codigo\Source\Modulos\Tienda web\Data\TiendaWeb_data.res */ -/* c:\temp\dtf34E.tmp */ +/* c:\temp\dtfCC.tmp */ diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL index 94870b6..fed6ae7 100644 --- a/Source/Servicios/FactuGES.RODL +++ b/Source/Servicios/FactuGES.RODL @@ -990,6 +990,22 @@ + + + + + + + + + + + + + + + + diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas index d6725ce..9887e93 100644 --- a/Source/Servicios/FactuGES_Intf.pas +++ b/Source/Servicios/FactuGES_Intf.pas @@ -826,6 +826,7 @@ type 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 GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const Serie: Variant): Binary; end; { CosrvGestorInformes } @@ -869,6 +870,7 @@ type 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 GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const Serie: Variant): Binary; end; { IsrvComisiones } @@ -3027,6 +3029,27 @@ begin end end; +function TsrvGestorInformes_Proxy.GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const Serie: Variant): Binary; +begin + try + result := nil; + __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeBeneficiosGrafComp'); + __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('Serie', TypeInfo(Variant), Serie, []); + __Message.Finalize; + + __TransportChannel.Dispatch(__Message); + + __Message.Read('Result', TypeInfo(Binary), result, []); + finally + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; + end +end; + { CosrvComisiones } class function CosrvComisiones.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvComisiones; diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas index 7c49ef0..32f501a 100644 --- a/Source/Servicios/FactuGES_Invk.pas +++ b/Source/Servicios/FactuGES_Invk.pas @@ -314,6 +314,7 @@ type 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_GenerarInformeBeneficiosGrafComp(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; TsrvComisiones_Invoker = class(TDataAbstractService_Invoker) @@ -2644,6 +2645,42 @@ begin 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 + IdEmpresa: Integer; + Intervalo: Variant; + Ano1: Variant; + Ano2: Variant; + Serie: Variant; + lResult: Binary; + __lObjectDisposer: TROObjectDisposer; +begin + 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('Serie', TypeInfo(Variant), Serie, []); + + lResult := (__Instance as IsrvGestorInformes).GenerarInformeBeneficiosGrafComp(IdEmpresa, Intervalo, Ano1, Ano2, Serie); + + __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvGestorInformes', 'GenerarInformeBeneficiosGrafCompResponse'); + __Message.Write('Result', TypeInfo(Binary), lResult, []); + __Message.Finalize; + __Message.UnsetAttributes(__Transport); + + finally + __lObjectDisposer := TROObjectDisposer.Create(__Instance); + try + __lObjectDisposer.Add(lResult); + finally + __lObjectDisposer.Free(); + end; + end; +end; + { TsrvComisiones_Invoker } constructor TsrvComisiones_Invoker.Create; diff --git a/Source/Servicios/RODLFile.res b/Source/Servicios/RODLFile.res index 57f2031..2f56f3a 100644 Binary files a/Source/Servicios/RODLFile.res and b/Source/Servicios/RODLFile.res differ diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES index 6966466..44e86bd 100644 Binary files a/Source/Servidor/FactuGES_Server.RES and b/Source/Servidor/FactuGES_Server.RES differ diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj index bbd2957..99eb21b 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -1,411 +1,405 @@ - + - - {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/standaloneTrueFalse4130FalseFalseFalseFalseFalse308212524.1.3.04.1.3.0viernes, 11 de febrero de 2011 13:14 - - - - - - - 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/standaloneTrueFalse4140FalseFalseFalseFalseFalse308212524.1.4.04.1.4.0martes, 01 de marzo de 2011 18:10 + 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
+
+ + + + + + + + + + +