diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql
index e00d3c81..6ea3576a 100644
--- a/Database/scripts/factuges.sql
+++ b/Database/scripts/factuges.sql
@@ -39,6 +39,11 @@ DECLARE EXTERNAL FUNCTION SUBSTR
ENTRY_POINT 'IB_UDF_substr' MODULE_NAME 'ib_udf';
+DECLARE EXTERNAL FUNCTION DIV
+ INTEGER,
+ INTEGER
+RETURNS DOUBLE PRECISION BY VALUE
+ENTRY_POINT 'IB_UDF_div' MODULE_NAME 'ib_udf';
/******************************************************************************/
@@ -253,6 +258,12 @@ SET GENERATOR GEN_USUARIOS_ID TO 1;
/**** Tables ****/
/******************************************************************************/
+CREATE TABLE PERIODOS_AUX (
+ ID INTEGER,
+ PERIODO VARCHAR(20) COLLATE ES_ES,
+ VALOR SMALLINT,
+ DESCRIPCION VARCHAR(20) COLLATE ES_ES
+);
CREATE TABLE AGENTES_COMISIONES (
@@ -3453,6 +3464,76 @@ FROM
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
;
+
+/*VISTAS PARA INFORMES ESTADISTICOS*/
+
+CREATE VIEW V_INF_FAC_CLIENTE_TOTAL_ANO(
+ ID_EMPRESA,
+ ANO,
+ IMPORTE_TOTAL)
+AS
+select ID_EMPRESA, EXTRACT(YEAR FROM FECHA_FACTURA) as ANO, SUM(IMPORTE_TOTAL) as IMPORTE_TOTAL
+from FACTURAS_CLIENTE
+group by 1,2
+;
+
+CREATE VIEW V_INF_FAC_PROVEEDOR_TOTAL_ANO(
+ ID_EMPRESA,
+ ANO,
+ IMPORTE_TOTAL)
+AS
+select ID_EMPRESA, EXTRACT(YEAR FROM FECHA_FACTURA) as ANO, SUM(IMPORTE_TOTAL) as IMPORTE_TOTAL
+from FACTURAS_PROVEEDOR
+group by 1,2
+;
+
+CREATE VIEW V_INF_FAC_CLIENTE(
+ ID_EMPRESA,
+ ANO,
+ SEMESTRE,
+ TRIMESTRE,
+ MES,
+ FECHA_FACTURA,
+ ID_CLIENTE,
+ NOMBRE,
+ IMPORTE_DESCUENTO,
+ IMPORTE_TOTAL,
+ 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,
+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
+inner join V_INF_FAC_CLIENTE_TOTAL_ANO v on ((v.id_empresa = f.id_empresa) and (v.Ano = EXTRACT(YEAR FROM f.FECHA_FACTURA)))
+order by 1,2,3,4,5 asc
+;
+
+CREATE VIEW V_INF_FAC_PROVEEDOR(
+ ID_EMPRESA,
+ ANO,
+ SEMESTRE,
+ TRIMESTRE,
+ MES,
+ FECHA_FACTURA,
+ ID_PROVEEDOR,
+ NOMBRE,
+ IMPORTE_DESCUENTO,
+ IMPORTE_TOTAL,
+ 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,
+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
+inner join V_INF_FAC_PROVEEDOR_TOTAL_ANO v on ((v.id_empresa = f.id_empresa) and (v.Ano = EXTRACT(YEAR FROM f.FECHA_FACTURA)))
+order by 1,2,3,4,5 asc
+;
+
+
/******************************************************************************/
/**** Primary Keys ****/
/******************************************************************************/
diff --git a/Database/scripts/factuges_sysdata.sql b/Database/scripts/factuges_sysdata.sql
index 95ac8d32..b2431698 100644
--- a/Database/scripts/factuges_sysdata.sql
+++ b/Database/scripts/factuges_sysdata.sql
@@ -2,6 +2,26 @@ SET SQL DIALECT 3;
SET NAMES UTF8;
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (1, 'MENSUAL', 1, 'Ene');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (2, 'MENSUAL', 2, 'Feb');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (3, 'MENSUAL', 3, 'Mar');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (4, 'MENSUAL', 4, 'Abr');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (5, 'MENSUAL', 5, 'May');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (6, 'MENSUAL', 6, 'Jun');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (7, 'MENSUAL', 7, 'Jul');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (8, 'MENSUAL', 8, 'Ago');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (9, 'MENSUAL', 9, 'Sep');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (10, 'MENSUAL', 10, 'Oct');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (11, 'MENSUAL', 11, 'Nov');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (12, 'MENSUAL', 12, 'Dic');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (13, 'SEMESTRAL', 1, 'Primer semestre');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (14, 'SEMESTRAL', 2, 'Segundo semestre');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (15, 'TRIMESTRAL', 1, 'Primer trimestre');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (16, 'TRIMESTRAL', 2, 'Segundo trimestre');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (17, 'TRIMESTRAL', 3, 'Tercer trimestre');
+INSERT INTO PERIODOS_AUX (ID, PERIODO, VALOR, DESCRIPCION) VALUES (18, 'TRIMESTRAL', 4, 'Cuarto trimestre');
+COMMIT WORK;
+
INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (1, 'CLIENTE');
INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (2, 'PROVEEDOR');
INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (3, 'EMPLEADO');
diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj
index 373edb3a..2b6d0506 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\TrueFalse1870FalseFalseFalseFalseFalse30821252Rodax Software S.L.1.8.7.0FactuGESFactuGES1.8.7.0FactuGES.dprFalse
+FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1880FalseFalseFalseFalseFalse30821252Rodax Software S.L.1.8.8.0FactuGESFactuGES1.8.8.0FactuGES.dprFalse
diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res
index 254f842c..fc95218d 100644
Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ
diff --git a/Source/Informes/1/InformeListadoFacturasProveedorGrafComp.fr3 b/Source/Informes/1/InformeListadoFacturasProveedorGrafComp.fr3
index b0dfbc19..92056ee4 100644
--- a/Source/Informes/1/InformeListadoFacturasProveedorGrafComp.fr3
+++ b/Source/Informes/1/InformeListadoFacturasProveedorGrafComp.fr3
@@ -1,5 +1,5 @@
-
+
diff --git a/Source/Informes/2/InformeListadoFacturasClienteGrafComp.fr3 b/Source/Informes/2/InformeListadoFacturasClienteGrafComp.fr3
new file mode 100644
index 00000000..300c25c0
--- /dev/null
+++ b/Source/Informes/2/InformeListadoFacturasClienteGrafComp.fr3
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Informes/2/InformeListadoFacturasProveedorGrafComp.fr3 b/Source/Informes/2/InformeListadoFacturasProveedorGrafComp.fr3
new file mode 100644
index 00000000..733331d6
--- /dev/null
+++ b/Source/Informes/2/InformeListadoFacturasProveedorGrafComp.fr3
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm
index dd5fbb98..12e36516 100644
--- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm
+++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm
@@ -1356,7 +1356,7 @@ object RptFacturasCliente: TRptFacturasCliente
'.IMPORTE_TOTAL) as IMPORTE_TOTAL,'#10'((SUM(P.IMPORTE_TOTAL)*100)/p.' +
'Importe_TOTAL_ANO) as PORCENTAJE'#10#10'from V_INF_FAC_CLIENTE P'#10'left ' +
'join CONTACTOS C on P.ID_CLIENTE = C.ID'#10#10'where p.ID_EMPRESA = :I' +
- 'D_EMPRESA'#10'and P.ANO = :ANO'#10'group by 1,2,3,4'#10'order by 1,5 desc'#10'ro' +
+ 'D_EMPRESA'#10'and P.ANO = :ANO'#10'group by 1,2,3,4'#10'order by 1,6 desc'#10'ro' +
'ws 1 to :NTOP'#10#10#10
StatementType = stSQL
ColumnMappings = <
diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas
index 43a054b7..ded68fbf 100644
--- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas
+++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas
@@ -94,13 +94,13 @@ type
tbl_InformeListadoFacturasGrafCompMensual: TDAMemDataTable;
tbl_InformeListadoFacturasGrafCompTrimestral: TDAMemDataTable;
tbl_InformeListadoFacturasGrafCompSemestral: TDAMemDataTable;
- schReport: TDASchema;
frxDBInformeListadoClientesMayorFacturacionResumen: TfrxDBDataset;
DADSInformeListadoClientesMayorFacturacionResumen: TDADataSource;
tbl_InformeListadoClientesMayorFacturacionResumen: TDAMemDataTable;
frxDBInformeListadoClientesMayorDescuentoResumen: TfrxDBDataset;
DADSInformeListadoClientesMayorDescuentoResumen: TDADataSource;
tbl_InformeListadoClientesMayorDescuentoResumen: TDAMemDataTable;
+ schReport: TDASchema;
procedure DataModuleCreate(Sender: TObject);
procedure DataModuleDestroy(Sender: TObject);
private
@@ -253,8 +253,8 @@ begin
PrepararTablaInformeGrafComp(tbl_InformeListadoFacturasGrafCompSemestral);
//Se preparan las tablas del listado resumen del informe
-// PrepararTablaResumenInformeGrafComp(tbl_InformeListadoProveedoresMayorFacturacionResumen);
-// PrepararTablaResumenInformeGrafComp(tbl_InformeListadoProveedoresMayorDescuentoResumen);
+ PrepararTablaResumenInformeGrafComp(tbl_InformeListadoClientesMayorFacturacionResumen);
+ PrepararTablaResumenInformeGrafComp(tbl_InformeListadoClientesMayorDescuentoResumen);
Result := Binary.Create;
diff --git a/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.dfm b/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.dfm
index 1989e0c3..8c754b33 100644
--- a/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.dfm
+++ b/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.dfm
@@ -1282,7 +1282,7 @@ object RptFacturasProveedor: TRptFacturasProveedor
'.IMPORTE_TOTAL) as IMPORTE_TOTAL,'#10'((SUM(P.IMPORTE_TOTAL)*100)/p.' +
'Importe_TOTAL_ANO) as PORCENTAJE'#10#10'from V_INF_FAC_PROVEEDOR P'#10'lef' +
't join CONTACTOS C on P.ID_PROVEEDOR = C.ID'#10#10'where p.ID_EMPRESA ' +
- '= :ID_EMPRESA'#10'and P.ANO = :ANO'#10'group by 1,2,3,4'#10'order by 1,5 des' +
+ '= :ID_EMPRESA'#10'and P.ANO = :ANO'#10'group by 1,2,3,4'#10'order by 1,6 des' +
'c'#10'rows 1 to :NTOP'#10#10#10
StatementType = stSQL
ColumnMappings = <
diff --git a/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dpk b/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dpk
index 45a44a35..078e5376 100644
--- a/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dpk
+++ b/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dpk
@@ -44,6 +44,7 @@ contains
uIEditorInformePresupuestosReport in 'View\uIEditorInformePresupuestosReport.pas',
uIEditorInformeRecibosProveedorReport in 'View\uIEditorInformeRecibosProveedorReport.pas',
uIEditorInformePedidosReport in 'View\uIEditorInformePedidosReport.pas',
- uIEditorInformeFacturasProveedorReportGrafComp in 'View\uIEditorInformeFacturasProveedorReportGrafComp.pas';
+ uIEditorInformeFacturasProveedorReportGrafComp in 'View\uIEditorInformeFacturasProveedorReportGrafComp.pas',
+ uIEditorInformeFacturasClienteReportGrafComp in 'View\uIEditorInformeFacturasClienteReportGrafComp.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 367a8884..1983ef96 100644
--- a/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dproj
+++ b/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.dproj
@@ -45,6 +45,7 @@
+
diff --git a/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.res b/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.res
index 8b251f31..1641339f 100644
Binary files a/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.res and b/Source/Modulos/Gestor de informes/Controller/GestorInformes_controller.res differ
diff --git a/Source/Modulos/Gestor de informes/Controller/View/uIEditorInformeFacturasClienteReportGrafComp.pas b/Source/Modulos/Gestor de informes/Controller/View/uIEditorInformeFacturasClienteReportGrafComp.pas
new file mode 100644
index 00000000..63691ae7
--- /dev/null
+++ b/Source/Modulos/Gestor de informes/Controller/View/uIEditorInformeFacturasClienteReportGrafComp.pas
@@ -0,0 +1,30 @@
+unit uIEditorInformeFacturasClienteReportGrafComp;
+
+interface
+
+uses
+ FactuGES_Intf, uIEditorInformeBase;
+
+type
+ IEditorInformeFacturasClienteReportGrafComp = interface(IEditorInformeBase)
+ ['{12EA329F-37E3-4583-A54E-BE146C8E9D8A}']
+
+ function GetIntervalo: Variant;
+ function GetAno1: Variant;
+ function GetAno2: Variant;
+ function GetNTop: Variant;
+
+ function GetListaIDClientes: TIntegerArray;
+
+ property Intervalo: Variant read GetIntervalo;
+ property Ano1: Variant read GetAno1;
+ property Ano2: Variant read GetAno2;
+ property NTop: Variant read GetNTop;
+
+ property ListaIDClientes: TIntegerArray read GetListaIDClientes;
+ end;
+
+
+implementation
+
+end.
diff --git a/Source/Modulos/Gestor de informes/Controller/View/uIEditorInformeFacturasProveedorReportGrafComp.pas b/Source/Modulos/Gestor de informes/Controller/View/uIEditorInformeFacturasProveedorReportGrafComp.pas
index 06e3335a..07d360b2 100644
--- a/Source/Modulos/Gestor de informes/Controller/View/uIEditorInformeFacturasProveedorReportGrafComp.pas
+++ b/Source/Modulos/Gestor de informes/Controller/View/uIEditorInformeFacturasProveedorReportGrafComp.pas
@@ -12,12 +12,14 @@ type
function GetIntervalo: Variant;
function GetAno1: Variant;
function GetAno2: Variant;
+ function GetNTop: Variant;
function GetListaIDProveedores: TIntegerArray;
property Intervalo: Variant read GetIntervalo;
property Ano1: Variant read GetAno1;
property Ano2: Variant read GetAno2;
+ property NTop: Variant read GetNTop;
property ListaIDProveedores: TIntegerArray read GetListaIDProveedores;
end;
diff --git a/Source/Modulos/Gestor de informes/Controller/uGestorInformesController.pas b/Source/Modulos/Gestor de informes/Controller/uGestorInformesController.pas
index 34c076b4..12193769 100644
--- a/Source/Modulos/Gestor de informes/Controller/uGestorInformesController.pas
+++ b/Source/Modulos/Gestor de informes/Controller/uGestorInformesController.pas
@@ -23,6 +23,7 @@ type
procedure VerInformeIVAClientes;
procedure VerInformeListadoFacturasCli;
procedure VerInformeListadoFacturasCliPendientes;
+ procedure VerInformeFacturasCliGrafComp;
//MODULO RECIBOS DE CLIENTE
procedure VerInformeListadoRecibosCliPendientes;
@@ -74,6 +75,7 @@ type
procedure VerInformeIVAClientes;
procedure VerInformeListadoFacturasCli;
procedure VerInformeListadoFacturasCliPendientes;
+ procedure VerInformeFacturasCliGrafComp;
//MODULO RECIBOS DE CLIENTE
procedure VerInformeListadoRecibosCliPendientes;
@@ -87,6 +89,7 @@ type
procedure VerInformeListadoFacturasProv;
procedure VerInformeListadoFacturasProvPendientes;
procedure VerInformeFacturasProvGrafComp;
+
function DarListaAnosFacturasProv: TStringList;
function DarListaIntervalos: TStringList;
@@ -110,7 +113,9 @@ uses
uIEditorInformeIVAProveedoresReport, uIEditorInformeFacturasProveedorReport,
uIEditorInformeFacturasProveedorPendientesReport, uIEditorInformeRecibosProveedorReport,
uIEditorInformeRecibosProvPendientesReport,
- uIEditorInformePedidosReport, uIEditorInformeFacturasProveedorReportGrafComp;
+ uIEditorInformePedidosReport,
+ uIEditorInformeFacturasProveedorReportGrafComp,
+ uIEditorInformeFacturasClienteReportGrafComp;
{procedure CopiarArticulosPedido(AOrigen: IBizDetallesPedidoCliente;
@@ -291,6 +296,30 @@ begin
Result := FDataModule;
end;
+procedure TGestorInformesController.VerInformeFacturasCliGrafComp;
+var
+ AStream: Binary;
+ AEditor : IEditorInformeFacturasClienteReportGrafComp;
+begin
+ AEditor := NIL;
+ CreateEditor('EditorInformeFacturasClienteReportGrafComp', IEditorInformeFacturasClienteReportGrafComp, AEditor);
+ if Assigned(AEditor) then
+ try
+ AEditor.Controller := Self;
+ AEditor.Title := 'Informe comparativo de facturación de clientes';
+
+ AStream := FDataModule.GenerarInformeFacturasCliGrafComp(AppFactuGES.EmpresaActiva.ID,
+ AEditor.Intervalo, AEditor.Ano1, AEditor.Ano2, AEditor.ListaIDClientes, AEditor.NTop);
+
+ AEditor.LoadFromStream(AStream);
+ AEditor.Preview;
+ finally
+ AEditor.Release;
+ AEditor := Nil;
+ FreeAndNil(AStream);
+ end;
+end;
+
procedure TGestorInformesController.VerInformeFacturasProvGrafComp;
var
AStream: Binary;
@@ -304,7 +333,7 @@ begin
AEditor.Title := 'Informe comparativo de facturación de proveedores';
AStream := FDataModule.GenerarInformeFacturasProvGrafComp(AppFactuGES.EmpresaActiva.ID,
- AEditor.Intervalo, AEditor.Ano1, AEditor.Ano2, AEditor.ListaIDProveedores);
+ AEditor.Intervalo, AEditor.Ano1, AEditor.Ano2, AEditor.ListaIDProveedores, AEditor.NTop);
AEditor.LoadFromStream(AStream);
AEditor.Preview;
diff --git a/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas b/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas
index 28e01990..b95ec661 100644
--- a/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas
+++ b/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas
@@ -30,6 +30,8 @@ type
function GenerarInformeIVAClientes(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
function GenerarInformeListadoFacturasCli(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant; const FechaVenFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
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;
//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;
@@ -42,7 +44,7 @@ type
function GenerarInformeIVAProveedores(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
function GenerarInformeListadoFacturasProv(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant; const FechaVenFin: Variant; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
function GenerarInformeListadoFacturasProvPendientes(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant; const FechaVenFin: Variant; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
- function GenerarInformeFacturasProvGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDProveedores: TIntegerArray): Binary;
+ function GenerarInformeFacturasProvGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDProveedores: TIntegerArray; Const NTop: Variant): Binary;
function DarListaAnosFacturasProv: TStringList;
//MODULO RECIBOS DE CLIENTE
@@ -68,6 +70,22 @@ begin
RORemoteService.Message := dmConexion.Message;
end;
+function TDataModuleGestorInformes.DarListaAnosFacturasCli: TStringList;
+var
+ i: Integer;
+ AResultado : StringArray;
+begin
+ Result := Nil;
+ try
+ AResultado := (RORemoteService as IsrvGestorInformes).DarListaAnosFacturasCli;
+ Result := TStringList.Create;
+ for i:= 0 to AResultado.Count - 1 do
+ Result.Add(AResultado.Items[i]);
+ finally
+ FreeANDNIL(AResultado)
+ end;
+end;
+
function TDataModuleGestorInformes.DarListaAnosFacturasProv: TStringList;
var
i: Integer;
@@ -100,12 +118,22 @@ begin
end;
end;
-function TDataModuleGestorInformes.GenerarInformeFacturasProvGrafComp(
+function TDataModuleGestorInformes.GenerarInformeFacturasCliGrafComp(
const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: Variant;
- const ListaIDProveedores: TIntegerArray): Binary;
+ const ListaIDClientes: TIntegerArray; Const NTop: Variant): Binary;
begin
try
- Result := (RORemoteService as IsrvGestorInformes).GenerarInformeFacturasProvGrafComp(IdEmpresa, Intervalo, Ano1, Ano2, ListaIdProveedores, 7);
+ Result := (RORemoteService as IsrvGestorInformes).GenerarInformeFacturasCliGrafComp(IdEmpresa, Intervalo, Ano1, Ano2, ListaIdClientes, NTop);
+ finally
+ end;
+end;
+
+function TDataModuleGestorInformes.GenerarInformeFacturasProvGrafComp(
+ const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: Variant;
+ const ListaIDProveedores: TIntegerArray; Const NTop: Variant): Binary;
+begin
+ try
+ Result := (RORemoteService as IsrvGestorInformes).GenerarInformeFacturasProvGrafComp(IdEmpresa, Intervalo, Ano1, Ano2, ListaIdProveedores, NTop);
finally
end;
end;
diff --git a/Source/Modulos/Gestor de informes/Model/Data/uIDataModuleGestorInformes.pas b/Source/Modulos/Gestor de informes/Model/Data/uIDataModuleGestorInformes.pas
index f54d1732..17d80eea 100644
--- a/Source/Modulos/Gestor de informes/Model/Data/uIDataModuleGestorInformes.pas
+++ b/Source/Modulos/Gestor de informes/Model/Data/uIDataModuleGestorInformes.pas
@@ -20,6 +20,8 @@ type
function GenerarInformeIVAClientes(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
function GenerarInformeListadoFacturasCli(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant; const FechaVenFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
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;
//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;
@@ -33,7 +35,7 @@ type
function GenerarInformeListadoFacturasProv(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant; const FechaVenFin: Variant; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
function GenerarInformeListadoFacturasProvPendientes(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant; const FechaVenFin: Variant; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
- function GenerarInformeFacturasProvGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDProveedores: TIntegerArray): Binary;
+ function GenerarInformeFacturasProvGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: Variant; const ListaIDProveedores: TIntegerArray; Const NTop: Variant): Binary;
function DarListaAnosFacturasProv: TStringList;
//MODULO RECIBOS DE CLIENTE
diff --git a/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.dfm b/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.dfm
index 663ec359..53a34f6e 100644
--- a/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.dfm
+++ b/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.dfm
@@ -109,6 +109,12 @@ object PluginGestorInformes: TPluginGestorInformes
ImageIndex = 0
OnExecute = actInformeFacturasProveedorGrafCompExecute
end
+ object actInformeFacturasClienteGrafComp: TAction
+ Category = 'Facturas de cliente'
+ Caption = 'Informe comparativo de facturaci'#243'n de clientes'
+ ImageIndex = 0
+ OnExecute = actInformeFacturasClienteGrafCompExecute
+ end
end
object MainMenu: TMainMenu
Images = LargeImages
@@ -176,6 +182,10 @@ object PluginGestorInformes: TPluginGestorInformes
Tag = 150
Action = actInformeFacturasProveedorGrafComp
end
+ object Informecomparativodefacturacindeproveedores2: TMenuItem
+ Tag = 160
+ Action = actInformeFacturasClienteGrafComp
+ 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 489e0a7b..b461b80f 100644
--- a/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.pas
+++ b/Source/Modulos/Gestor de informes/Plugin/uPluginGestorInformes.pas
@@ -44,6 +44,8 @@ type
actInformeFacturasProveedorGrafComp: TAction;
N5: TMenuItem;
Informecomparativodefacturacindeproveedores1: TMenuItem;
+ actInformeFacturasClienteGrafComp: TAction;
+ Informecomparativodefacturacindeproveedores2: TMenuItem;
procedure actInformeFacturasClienteExecute(Sender: TObject);
procedure actInformeFacturasClientePendientesExecute(Sender: TObject);
procedure actInformeFacturasClienteIVAExecute(Sender: TObject);
@@ -55,6 +57,7 @@ type
procedure actInformeRecibosProveedorExecute(Sender: TObject);
procedure actInformeRecibosProvPendientesExecute(Sender: TObject);
procedure actInformeFacturasProveedorGrafCompExecute(Sender: TObject);
+ procedure actInformeFacturasClienteGrafCompExecute(Sender: TObject);
private
FController : IGestorInformesController;
public
@@ -84,6 +87,12 @@ begin
FController.VerInformeListadoFacturasCli;
end;
+procedure TPluginGestorInformes.actInformeFacturasClienteGrafCompExecute(
+ Sender: TObject);
+begin
+ FController.VerInformeFacturasCliGrafComp;
+end;
+
procedure TPluginGestorInformes.actInformeFacturasClienteIVAExecute(
Sender: TObject);
begin
diff --git a/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dpk b/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dpk
index 12859f3c..067ea400 100644
--- a/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dpk
+++ b/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dpk
@@ -90,6 +90,7 @@ contains
uEditorInformePresupuestosReport in 'uEditorInformePresupuestosReport.pas' {fEditorInformePresupuestosReport: TForm},
uViewPeriodoFechas in 'uViewPeriodoFechas.pas' {frViewPeriodoFechas: TFrame},
uViewIntervaloComparativo in 'uViewIntervaloComparativo.pas' {TfrViewIntervaloComparativo: TFrame},
+ uEditorInformeFacturasClienteReportGrafComp in 'uEditorInformeFacturasClienteReportGrafComp.pas' {fEditorInformeFacturasClienteReportGrafComp: TForm},
uEditorInformeFacturasProveedorReportGrafComp in 'uEditorInformeFacturasProveedorReportGrafComp.pas' {fEditorInformeFacturasProveedorReportGrafComp: 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 188c4328..81d59c92 100644
--- a/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dproj
+++ b/Source/Modulos/Gestor de informes/Views/GestorInformes_view.dproj
@@ -38,49 +38,43 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
TForm
@@ -93,6 +87,10 @@
T
+
+
+ TForm
+
TForm
@@ -101,10 +99,7 @@
TForm
-
-
- TForm
-
+
TForm
@@ -162,6 +157,12 @@
TFrame
+
+
+
+
+
+