Primera subida del informe de beneficios

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@1040 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
roberto 2011-03-02 18:06:54 +00:00
parent 12033bf4fd
commit fb99ab580b
26 changed files with 1622 additions and 18 deletions

View File

@ -3502,8 +3502,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
@ -3525,8 +3525,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

File diff suppressed because one or more lines are too long

View File

@ -101,6 +101,9 @@ type
DADSInformeListadoClientesMayorDescuentoResumen: TDADataSource;
tbl_InformeListadoClientesMayorDescuentoResumen: TDAMemDataTable;
schReport: TDASchema;
tbl_InformeListadoBeneficiosGrafCompMensual: TDAMemDataTable;
tbl_InformeListadoBeneficiosGrafCompTrimestral: TDAMemDataTable;
tbl_InformeListadoBeneficiosGrafCompSemestral: TDAMemDataTable;
procedure DataModuleCreate(Sender: TObject);
procedure DataModuleDestroy(Sender: TObject);
private
@ -136,6 +139,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): Binary;
end;
implementation
@ -155,6 +159,7 @@ const
rptInformeListadoFactuasClientePendiente = 'InformeListadoFacturasClientePendientes.fr3';
rptInformeListadoFactuasClientePendienteDesglosado = 'InformeListadoFacturasClientePendientesDesglosado.fr3';
rptInformeListadoFacturasClienteGrafComp = 'InformeListadoFacturasClienteGrafComp.fr3';
rptInformeListadoBeneficiosGrafComp = 'InformeListadoBeneficiosGrafComp.fr3';
{ Dataset names for schReport }
ds_InformeListadoFacturasResumen = 'InformeListadoFacturasResumen';
@ -221,6 +226,48 @@ begin
end;
end;
function TRptFacturasCliente.GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: 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.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;

View File

@ -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.

View File

@ -43,6 +43,7 @@
<DCCReference Include="View\Base.dcp" />
<DCCReference Include="View\GestorInformes_data.dcp" />
<DCCReference Include="View\uIEditorInformeBase.pas" />
<DCCReference Include="View\uIEditorInformeBeneficiosReportGrafComp.pas" />
<DCCReference Include="View\uIEditorInformeFacturasClientePendientesReport.pas" />
<DCCReference Include="View\uIEditorInformeFacturasClienteReport.pas" />
<DCCReference Include="View\uIEditorInformeFacturasClienteReportGrafComp.pas" />

View File

@ -0,0 +1,24 @@
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;
property Intervalo: Variant read GetIntervalo;
property Ano1: Variant read GetAno1;
property Ano2: Variant read GetAno2;
end;
implementation
end.

View File

@ -25,6 +25,7 @@ type
procedure VerInformeListadoFacturasCliPendientes;
procedure VerInformeFacturasCliGrafComp;
function DarListaAnosFacturasCli: TStringList;
procedure VerInformeBeneficiosCliGrafComp;
//MODULO RECIBOS DE CLIENTE
procedure VerInformeListadoRecibosCliPendientes;
@ -79,6 +80,7 @@ type
procedure VerInformeListadoFacturasCliPendientes;
procedure VerInformeFacturasCliGrafComp;
function DarListaAnosFacturasCli: TStringList;
procedure VerInformeBeneficiosCliGrafComp;
//MODULO RECIBOS DE CLIENTE
procedure VerInformeListadoRecibosCliPendientes;
@ -116,7 +118,8 @@ uses
uIEditorInformeRecibosProvPendientesReport,
uIEditorInformePedidosReport,
uIEditorInformeFacturasProveedorReportGrafComp,
uIEditorInformeFacturasClienteReportGrafComp;
uIEditorInformeFacturasClienteReportGrafComp,
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.LoadFromStream(AStream);
AEditor.Preview;
finally
AEditor.Release;
AEditor := Nil;
FreeAndNil(AStream);
end;
end;
procedure TGestorInformesController.VerInformeFacturasCliGrafComp;
var
AStream: Binary;

View File

@ -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): 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,15 @@ begin
end;
end;
function TDataModuleGestorInformes.GenerarInformeBeneficiosGrafComp(
const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: Variant): Binary;
begin
try
Result := (RORemoteService as IsrvGestorInformes).GenerarInformeBeneficiosGrafComp(IdEmpresa, Intervalo, Ano1, Ano2);
finally
end;
end;
function TDataModuleGestorInformes.GenerarInformeFacturasCliGrafComp(
const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: Variant;
const ListaIDClientes: TIntegerArray; Const NTop: Variant): Binary;

View File

@ -22,6 +22,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): 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;

View File

@ -115,6 +115,12 @@ object PluginGestorInformes: TPluginGestorInformes
ImageIndex = 0
OnExecute = actInformeFacturasClienteGrafCompExecute
end
object actInformeBeneficiosGrafComp: TAction
Category = 'Facturas de cliente'
Caption = 'Informe comparativo de beneficios'
ImageIndex = 0
OnExecute = actInformeBeneficiosGrafCompExecute
end
end
object MainMenu: TMainMenu
Images = LargeImages
@ -186,6 +192,10 @@ object PluginGestorInformes: TPluginGestorInformes
Tag = 160
Action = actInformeFacturasClienteGrafComp
end
object actInformeBeneficiosGrafComp1: TMenuItem
Tag = 170
Action = actInformeBeneficiosGrafComp
end
end
end
object SmallImages: TPngImageList

View File

@ -46,6 +46,8 @@ type
Informecomparativodefacturacindeproveedores1: TMenuItem;
actInformeFacturasClienteGrafComp: TAction;
Informecomparativodefacturacindeproveedores2: TMenuItem;
actInformeBeneficiosGrafComp: TAction;
actInformeBeneficiosGrafComp1: TMenuItem;
procedure actInformeFacturasClienteExecute(Sender: TObject);
procedure actInformeFacturasClientePendientesExecute(Sender: TObject);
procedure actInformeFacturasClienteIVAExecute(Sender: TObject);
@ -58,6 +60,7 @@ type
procedure actInformeRecibosProvPendientesExecute(Sender: TObject);
procedure actInformeFacturasProveedorGrafCompExecute(Sender: TObject);
procedure actInformeFacturasClienteGrafCompExecute(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

View File

@ -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): 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;
@ -119,6 +120,19 @@ begin
Result.Add(CTE_SEMESTRAL);
end;
function TsrvGestorInformes.GenerarInformeBeneficiosGrafComp(
const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: Variant): Binary;
var
AReportGenerator : TRptFacturasCliente;
begin
AReportGenerator := TRptFacturasCliente.Create(nil);
try
Result := AReportGenerator.GenerarInformeBeneficiosGrafComp(IdEmpresa, Intervalo, Ano1, Ano2);
finally
FreeAndNIL(AReportGenerator);
end;
end;
function TsrvGestorInformes.GenerarInformeFacturasCliGrafComp(
const IdEmpresa: Integer; const Intervalo, Ano1, Ano2: Variant;
const ListaIDClientes: TIntegerArray; const TopN: Integer): Binary;

View File

@ -91,6 +91,7 @@ contains
uViewPeriodoFechas in 'uViewPeriodoFechas.pas' {frViewPeriodoFechas: TFrame},
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.

View File

@ -79,6 +79,10 @@
<Form>fEditorInformeBase</Form>
<DesignClass>TForm</DesignClass>
</DCCReference>
<DCCReference Include="uEditorInformeBeneficiosReportGrafComp.pas">
<Form>fEditorInformeBeneficioReportGrafComp</Form>
<DesignClass>TForm</DesignClass>
</DCCReference>
<DCCReference Include="uEditorInformeFacturasClientePendientesReport.pas">
<Form>fEditorInformeFacturasClientePendientesReport</Form>
<DesignClass>t</DesignClass>

View File

@ -0,0 +1,184 @@
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
inherited Label3: TLabel
Width = 172
end
inherited cbIntervalo: TcxComboBox
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 166
Width = 166
end
end
inherited TBXLabel2: TTBXLabel
Width = 188
ExplicitWidth = 188
end
inherited TBXAlignmentPanel3: TTBXAlignmentPanel
Width = 182
ExplicitWidth = 182
inherited lis: TLabel
Width = 172
end
inherited cbAno1: TcxComboBox
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 166
Width = 166
end
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 182
ExplicitWidth = 182
inherited Label1: TLabel
Width = 172
end
inherited cbAno2: TcxComboBox
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 166
Width = 166
end
end
inherited TBXAlignmentPanel4: TTBXAlignmentPanel
Width = 182
Visible = False
ExplicitWidth = 182
inherited Label2: TLabel
Width = 172
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

View File

@ -0,0 +1,176 @@
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 GetListaIDClientes: TIntegerArray;
function GetNTop: Variant;
procedure RefrescarInforme;
protected
procedure SetController (const Value : IControllerBase); override;
public
property Intervalo: Variant read GetIntervalo;
property Ano1: Variant read GetAno1;
property Ano2: Variant read GetAno2;
property ListaIDClientes: TIntegerArray read GetListaIDClientes;
property NTop: Variant read GetNTop;
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;
procedure TfEditorInformeBeneficiosReportGrafComp.RefrescarInforme;
var
AStream: Binary;
begin
ShowHourglassCursor;
try
AStream := (Controller as IGestorInformesController).DataModule.GenerarInformeBeneficiosGrafComp(
AppFactuGES.EmpresaActiva.ID,
Intervalo,
Ano1,
Ano2);
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.

View File

@ -157,8 +157,9 @@ inherited fEditorInformeFacturasClienteReportGrafComp: TfEditorInformeFacturasCl
Font.Style = []
ParentFont = False
TabOrder = 2
Visible = False
ReadOnly = False
ExplicitTop = 182
ExplicitTop = 230
ExplicitWidth = 188
inherited TBXLabel2: TTBXLabel
Width = 188

View File

@ -157,8 +157,9 @@ inherited fEditorInformeFacturasProveedorReportGrafComp: TfEditorInformeFacturas
Font.Style = []
ParentFont = False
TabOrder = 2
Visible = False
ReadOnly = False
ExplicitTop = 182
ExplicitTop = 230
ExplicitWidth = 188
inherited TBXLabel2: TTBXLabel
Width = 188

View File

@ -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;
@ -55,7 +56,8 @@ begin
EditorRegistry.UnRegisterClass(TfEditorInformeRecibosProvPendientesReport);
EditorRegistry.UnRegisterClass(TfEditorInformeFacturasProveedorReportGrafComp);
EditorRegistry.UnRegisterClass(TfEditorInformeFacturasClienteReportGrafComp);
EditorRegistry.UnRegisterClass(TfEditorInformeFacturasClienteReportGrafComp);
EditorRegistry.UnRegisterClass(TfEditorInformeBeneficiosReportGrafComp);
end;
end.

View File

@ -756,6 +756,20 @@
</Parameter>
</Parameters>
</Operation>
<Operation Name="GenerarInformeBeneficiosGrafComp" UID="{36533944-6A20-4C71-AE53-426BDC1D100D}">
<Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">
</Parameter>
<Parameter Name="IdEmpresa" DataType="Integer" Flag="In" >
</Parameter>
<Parameter Name="Intervalo" DataType="Variant" Flag="In" >
</Parameter>
<Parameter Name="Ano1" DataType="Variant" Flag="In" >
</Parameter>
<Parameter Name="Ano2" DataType="Variant" Flag="In" >
</Parameter>
</Parameters>
</Operation>
<Operation Name="GenerarInformeListadoFacturasCliPendientes" UID="{09AD0E02-7104-4B03-A605-97897915E849}">
<Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">

View File

@ -779,6 +779,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): 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 GenerarInformeListadoFacturasProvPendientes(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant;
@ -822,6 +823,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): 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 GenerarInformeListadoFacturasProvPendientes(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant;
@ -2517,6 +2519,26 @@ begin
end
end;
function TsrvGestorInformes_Proxy.GenerarInformeBeneficiosGrafComp(const IdEmpresa: Integer; const Intervalo: Variant; const Ano1: Variant; const Ano2: 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.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Binary), result, []);
finally
__Message.UnsetAttributes(__TransportChannel);
__Message.FreeStream;
end
end;
function TsrvGestorInformes_Proxy.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;
begin

View File

@ -299,6 +299,7 @@ type
procedure Invoke_GenerarInformeListadoFacturasProv(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);
procedure Invoke_GenerarInformeListadoFacturasCliPendientes(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeListadoFacturasProvPendientes(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeListadoRecibosCliente(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
@ -2002,6 +2003,40 @@ 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): Binary; }
var
IdEmpresa: Integer;
Intervalo: Variant;
Ano1: Variant;
Ano2: 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, []);
lResult := (__Instance as IsrvGestorInformes).GenerarInformeBeneficiosGrafComp(IdEmpresa, Intervalo, Ano1, Ano2);
__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;
procedure TsrvGestorInformes_Invoker.Invoke_GenerarInformeListadoFacturasCliPendientes(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ 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; }

Binary file not shown.