This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
FactuGES/Informes/InformeBeneficiosAnuales.pas
2007-06-26 08:08:27 +00:00

130 lines
4.1 KiB
ObjectPascal

{
===============================================================================
Copyright (©) 2002. Rodax Software.
===============================================================================
Los contenidos de este fichero son propiedad de Rodax Software titular del
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
bajo el que se suministra.
-----------------------------------------------------------------------------
Web: www.rodax-software.com
===============================================================================
Fecha primera versión: 31-12-2003
Versión actual: 1.0.1
Fecha versión actual: 02-04-2004
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
02-04-2004 Se ha eliminado el atributo SERIE (P8 MULTIEMPRESA)
===============================================================================
}
unit InformeBeneficiosAnuales;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, InformeBase, FR_IBXDB, FR_Shape, FR_DSet, FR_DBSet, FR_Class,
DB, IBCustomDataSet, IBQuery, FR_Cross, IBDatabase, RdxEmpresaActiva;
type
TdmInformeBeneficiosAnuales = class(TdmInformeBase)
TablaFac: TfrDBDataSet;
TablaFacturas: TIBQuery;
frCrossObject1: TfrCrossObject;
IBDatabase1: TIBDatabase;
IBTransaction1: TIBTransaction;
procedure FReportBeforePrint(Memo: TStringList; View: TfrView);
private
FFechaInicio : Variant;
FFechaFin : Variant;
protected
procedure RellenarCabecera(Band: TfrBand); override;
procedure PrepararConsultas; override;
public
constructor Create(AOwner: TComponent); override;
published
property FechaInicio : Variant read FFechaInicio write FFechaInicio;
property FechaFin : Variant read FFechaFin write FFechaFin;
end;
var
dmInformeBeneficiosAnuales: TdmInformeBeneficiosAnuales;
implementation
{$R *.dfm}
uses
StrFunc, DateFunc, BaseDatos, TablaEmpresas;
{ TdmInformeBase1 }
constructor TdmInformeBeneficiosAnuales.Create(AOwner: TComponent);
begin
inherited;
FNombreInforme := 'InformeBeneficiosAnuales.frf';
FReport.OnBeforePrint := FReportBeforePrint;
end;
procedure TdmInformeBeneficiosAnuales.PrepararConsultas;
begin
inherited;
with TablaFacturas do
begin
Database := FBaseDatos;
Transaction := FTransaccion;
SQL.Clear;
SQL.Add('select extract(month from f.FECHAFACTURA) as F_1, d.descripcion, '' '' as SERIE, f.IMPORTETOTAL ');
SQL.Add('from FACTURASCLIENTE f, DOCUMENTOS d');
SQL.Add('where f.codigodocumento = d.codigo');
SQL.Add('and CODIGOEMPRESA = :CODIGOEMPRESA');
SQL.Add('and f.FECHAFACTURA between :FECHAINI and :FECHAFIN');
ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
ParamByName('FECHAINI').AsString := FFechaInicio;
ParamByName('FECHAFIN').AsString := FFechaFin;
Prepare;
end;
end;
procedure TdmInformeBeneficiosAnuales.RellenarCabecera(Band: TfrBand);
var
iCont : Integer;
Objeto : TfrView;
begin
inherited;
with Band do
begin
for iCont := 0 to Objects.Count - 1 do
begin
Objeto := Objects[iCont];
if ((Objeto is TfrMemoView) and (Objeto.Name = 'CabParametros')) then
begin
with (Objeto as TfrMemoView) do
begin
Memo.Clear;
Memo.Add('Empresa: ' + EmpresaActiva.NombreComercial);
Memo.Add('Rango de fechas: ' + FechaInicio + ' - ' + FechaFin);
end;
end;
end;
end;
end;
procedure TdmInformeBeneficiosAnuales.FReportBeforePrint(Memo: TStringList; View: TfrView);
begin
inherited;
if (View.FormatStr = '#0')
and (StrToIntDef(View.Memo.CommaText, -1) <> -1) then
View.Memo.Text := DarMes(StrToIntDef(View.Memo.CommaText, -1));
end;
end.