{ =============================================================================== 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.