{ =============================================================================== Copyright (©) 2001. 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: 11-08-2002 Versión actual: 1.0.3 Fecha versión actual: 30-06-2004 =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- 09-03-2003 p253. En el listado de presupuesto de cliente añadir la columna de factura para ver si el presupuesto está facturado o no. 10-03-2003 p259. Informe con la lista de todos los presupuestos de cliente. 30-06-2004 p272. Adaptación a multiempresa. 30-06-2004 p274. Migración a FastReport. =============================================================================== } unit InfEstReportPresupuestos; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, InformeBase, IBDatabase, Db, FR_IBXDB, FR_Shape, FR_Class, FR_DSet, FR_DBSet, IBCustomDataSet, IBQuery, Tipos, RxMemDS, DBTables, MemTable; type TdmInfEstReportPresupuestos = class(TdmInformeBase) frdsTablaGeneral: TfrDBDataSet; TMemGeneral: TRxMemoryData; TMemResumen1: TRxMemoryData; frdsTablaResumen1: TfrDBDataSet; TMemResumen2: TRxMemoryData; frdsTablaResumen2: TfrDBDataSet; TMemResumen3: TRxMemoryData; frdsTablaResumen3: TfrDBDataSet; private FAno1: Variant; FAno2: Variant; FA1T1: Variant; FA1T2: Variant; FA1T3: Variant; FA2T1: Variant; FA2T2: Variant; FA2T3: Variant; FA3T1: Variant; FA3T2: Variant; FA3T3: Variant; FFichero: Variant; protected procedure PrepararConsultas; override; procedure RellenarBanda(Band: TfrBand); override; public function setDatosGeneral(const Datos: TRxMemoryData): Boolean; function setDatosResumen1(const Datos: TRxMemoryData): Boolean; function setDatosResumen2(const Datos: TRxMemoryData): Boolean; function setDatosResumen3(const Datos: TRxMemoryData): Boolean; constructor Create(AOwner: TComponent); override; published property Ano1 : Variant read FAno1 write FAno1; property Ano2 : Variant read FAno2 write FAno2; property A1T1 : Variant read FA1T1 write FA1T1; property A1T2 : Variant read FA1T2 write FA1T2; property A1T3 : Variant read FA1T3 write FA1T3; property A2T1 : Variant read FA2T1 write FA2T1; property A2T2 : Variant read FA2T2 write FA2T2; property A2T3 : Variant read FA2T3 write FA2T3; property A3T1 : Variant read FA3T1 write FA3T1; property A3T2 : Variant read FA3T2 write FA3T2; property A3T3 : Variant read FA3T3 write FA3T3; property Fichero : Variant read FFichero write FFichero; end; var dmInfEstReportPresupuestos: TdmInfEstReportPresupuestos; implementation {$R *.DFM} { TdmInformeListadoFacturasCli } uses RdxEmpresaActiva, Literales; constructor TdmInfEstReportPresupuestos.Create( AOwner: TComponent); begin inherited; FAno1 := NULL; FAno2 := NULL; FNombreInforme := 'ListadoInfEstPresupuestos.frf'; end; procedure TdmInfEstReportPresupuestos.PrepararConsultas; begin // end; procedure TdmInfEstReportPresupuestos.RellenarBanda(Band: TfrBand); var iCont : Integer; Objeto : TfrView; begin inherited; with Band do begin if Name = 'CabeceraGeneral' then begin for iCont := 0 to Objects.Count - 1 do begin Objeto := Objects[iCont]; if ((Objeto is TfrMemoView) and (Pos('Titulo1', Objeto.Name) > 0)) then begin with (Objeto as TfrMemoView) do begin Memo.Clear; Memo.Add('Valores del año ' + Ano1); end; end; if ((Objeto is TfrMemoView) and (Pos('Titulo2', Objeto.Name) > 0)) then begin with (Objeto as TfrMemoView) do begin Memo.Clear; if not VarIsNull(Ano2) then Memo.Add('Valores del año ' + Ano2); end end; if ((Objeto is TfrMemoView) and (Pos('Titulo3', Objeto.Name) > 0)) then begin with (Objeto as TfrMemoView) do begin Memo.Clear; if not VarIsNull(Ano2) then Memo.Add('Comparativa del año ' + Ano1 + ' respecto al año ' + Ano2); end end; end; end; if Name = 'PieGeneral' then begin for iCont := 0 to Objects.Count - 1 do begin Objeto := Objects[iCont]; if ((Objeto is TfrMemoView) and (Pos('A1T1', Objeto.Name) > 0)) then begin with (Objeto as TfrMemoView) do begin Memo.Clear; Memo.Add(A1T1); end end else if ((Objeto is TfrMemoView) and (Pos('A1T2', Objeto.Name) > 0)) then begin with (Objeto as TfrMemoView) do begin Memo.Clear; Memo.Add(A1T2); end end else if ((Objeto is TfrMemoView) and (Pos('A1T3', Objeto.Name) > 0)) then begin with (Objeto as TfrMemoView) do begin Memo.Clear; Memo.Add(A1T3); end end else if ((Objeto is TfrMemoView) and (Pos('A2T1', Objeto.Name) > 0)) then begin with (Objeto as TfrMemoView) do begin Memo.Clear; Memo.Add(A2T1); end end else if ((Objeto is TfrMemoView) and (Pos('A2T2', Objeto.Name) > 0)) then begin with (Objeto as TfrMemoView) do begin Memo.Clear; Memo.Add(A2T2); end end else if ((Objeto is TfrMemoView) and (Pos('A2T3', Objeto.Name) > 0)) then begin with (Objeto as TfrMemoView) do begin Memo.Clear; Memo.Add(A2T3); end end else if ((Objeto is TfrMemoView) and (Pos('A3T1', Objeto.Name) > 0)) then begin with (Objeto as TfrMemoView) do begin Memo.Clear; Memo.Add(A3T1); end end else if ((Objeto is TfrMemoView) and (Pos('A3T2', Objeto.Name) > 0)) then begin with (Objeto as TfrMemoView) do begin Memo.Clear; Memo.Add(A3T2); end end else if ((Objeto is TfrMemoView) and (Pos('A3T3', Objeto.Name) > 0)) then begin with (Objeto as TfrMemoView) do begin Memo.Clear; Memo.Add(A3T3); end end; if ((Objeto is TfrPictureView) and (Pos('Grafico', Objeto.Name) > 0)) then begin with (Objeto as TfrPictureView) do begin Picture.LoadFromFile(Fichero); end end; end; end; end; end; function TdmInfEstReportPresupuestos.setDatosGeneral(const Datos: TRxMemoryData): Boolean; begin TMemGeneral.LoadFromDataSet(Datos, -1, lmCopy); end; function TdmInfEstReportPresupuestos.setDatosResumen1(const Datos: TRxMemoryData): Boolean; begin TMemResumen1.LoadFromDataSet(Datos, -1, lmCopy); end; function TdmInfEstReportPresupuestos.setDatosResumen2( const Datos: TRxMemoryData): Boolean; begin TMemResumen2.LoadFromDataSet(Datos, -1, lmCopy); end; function TdmInfEstReportPresupuestos.setDatosResumen3( const Datos: TRxMemoryData): Boolean; begin TMemResumen3.LoadFromDataSet(Datos, -1, lmCopy); end; end.