This repository has been archived on 2024-11-29. You can view files and clone it, but cannot push or open issues or pull requests.
Tecsitel_FactuGES/Informes/InformeEstadoObraHistorica.pas
2007-06-21 15:47:20 +00:00

149 lines
5.8 KiB
ObjectPascal

{
===============================================================================
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: 08-11-2002
Versión actual: 1.0.1
Fecha versión actual: 25-06-2004
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
25-06-2004 p272. Adaptación a multiempresa.
25-06-2004 p274. Actualización del informe a FastReport.
===============================================================================
}
unit InformeEstadoObraHistorica;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
InformeBase, FR_IBXDB, FR_Shape, FR_Class, Db, IBCustomDataSet, IBQuery,
IBDatabase, FR_DSet, FR_DBSet, Tipos;
type
TdmInformeEstadoObraHistorica = class(TdmInformeBase)
TablaEstado: TIBQuery;
frdsTablaEstado: TfrDBDataSet;
private
FFamIni: string;
FFamFin: string;
FTipo: TTipoInforme;
FDesIni: string;
FDesFin: string;
FFechaCierre: TDate;
FCodigoObra: Integer;
FNombreObra: string;
procedure InformeGetParametersText(Memo : TStringList);
protected
procedure PrepararConsultas; override;
public
constructor Create(AOwner: TComponent); override;
published
property Tipo : TTipoInforme read FTipo write FTipo;
property DescripcionIni : string read FDesIni write FDesIni;
property DescripcionFin : string read FDesFin write FDesFin;
property FamiliaIni : string read FFamIni write FFamIni;
property FamiliaFin : string read FFamFin write FFamFin;
property CodigoObra : Integer read FCodigoObra write FCodigoObra;
property NombreObra : string read FNombreObra write FNombreObra;
property FechaCierre : TDate read FFechaCierre write FFechaCierre;
end;
var
dmInformeEstadoObraHistorica: TdmInformeEstadoObraHistorica;
implementation
{$R *.DFM}
{ TdmInformeEstadoAlmacen }
uses
RdxEmpresaActiva, Literales;
constructor TdmInformeEstadoObraHistorica.Create(AOwner: TComponent);
begin
inherited;
FNombreInforme := 'ListadoEstadoObraHistorica.frf';
OnGetParametersText := InformeGetParametersText;
Tipo := tiTodo;
end;
procedure TdmInformeEstadoObraHistorica.InformeGetParametersText(
Memo: TStringList);
begin
with Memo do
begin
Add('Obra: ' + IntToStr(CodigoObra) + ' - ' + NombreObra);
case Tipo of
tiTodo : Add(msgInfIntervaloTodosArt);
tiPorDescripcion : Add(SysUtils.Format(msgInfIntervaloDesArt, [FDesIni, FDesFin]));
tiPorFamilias : Add(SysUtils.Format(msgInfIntervaloFam, [FFamIni, FFamFin]));
end;
end;
end;
procedure TdmInformeEstadoObraHistorica.PrepararConsultas;
begin
TablaEstado.Database := FBaseDatos;
TablaEstado.Transaction := FTransaccion;
with TablaEstado.SQL do
begin
Clear;
case Tipo of
tiTodo : begin
Add('select CODIGOARTICULO, FAMILIA, DESCRIPCION, ');
Add('UNIDADESMEDIDA, EXISTENCIAS ');
Add('from ESTADOOBRASHISTORICAS ');
Add('where CODIGOOBRA = :CODIGOOBRA ');
Add('and FECHACIERRE = :FECHACIERRE ');
Add('and CODIGOEMPRESA = :CODIGOEMPRESA ');
Add('order by CODIGOARTICULO ');
end;
tiPorDescripcion: begin
Add('select CODIGOARTICULO, FAMILIA, DESCRIPCION, ');
Add('UNIDADESMEDIDA, EXISTENCIAS ');
Add('from ESTADOOBRASHISTORICAS ');
Add('where CODIGOOBRA = :CODIGOOBRA ');
Add('and FECHACIERRE = :FECHACIERRE ');
Add('and CODIGOEMPRESA = :CODIGOEMPRESA ');
Add('and DESCRIPCION between :DESCRIPCIONINI and :DESCRIPCIONFIN ');
Add('order by CODIGOARTICULO ');
TablaEstado.ParamByName('DESCRIPCIONINI').AsString := FDesIni;
TablaEstado.ParamByName('DESCRIPCIONFIN').AsString := FDesFin;
end;
tiPorFamilias : begin
Add('select CODIGOARTICULO, FAMILIA, DESCRIPCION, ');
Add('UNIDADESMEDIDA, EXISTENCIAS ');
Add('from ESTADOOBRASHISTORICAS ');
Add('where CODIGOOBRA = :CODIGOOBRA ');
Add('and FECHACIERRE = :FECHACIERRE ');
Add('and CODIGOEMPRESA = :CODIGOEMPRESA ');
Add('and FAMILIA between :FAMILIAINI and :FAMILIAFIN ');
Add('order by CODIGOARTICULO ');
TablaEstado.ParamByName('FAMILIAINI').AsString := FFamIni;
TablaEstado.ParamByName('FAMILIAFIN').AsString := FFamFin;
end;
end;
TablaEstado.ParambyName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
TablaEstado.ParambyName('CODIGOOBRA').AsInteger := CodigoObra;
TablaEstado.ParambyName('FECHACIERRE').AsDate := FechaCierre;
end;
end;
end.