{
===============================================================================
  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: 09-09-2002
  Versión actual: 1.0.0
  Fecha versión actual: 21-06-2004
===============================================================================
  Modificaciones:

    Fecha         Comentarios
    ---------------------------------------------------------------------------
    21-06-2004    p272. Adaptación a multiempresa.
===============================================================================
}

unit ListadoContabilidad;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ListadoBase, ExtCtrls, StdCtrls, RdxTitulos, RdxPaneles, Configuracion,
  cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit,
  cxCalendar, RdxBotones, RdxBarras;

type
  TfrListadoContabilidad = class(TfrListadoBase)
    FechaIni: TcxDateEdit;
    Label1: TLabel;
    Label2: TLabel;
    FechaFin: TcxDateEdit;
    procedure FechaIniPropertiesValidate(Sender: TObject;
      var DisplayValue: Variant; var ErrorText: TCaption;
      var Error: Boolean);
    procedure FechaFinPropertiesValidate(Sender: TObject;
      var DisplayValue: Variant; var ErrorText: TCaption;
      var Error: Boolean);
  private
    FFechaIni : TDateTime;
    FFechaFin : TDateTime;
    procedure RefrescarInforme; override;
  public
    constructor Create(AOwner : TComponent); override;
  end;

var
  frListadoContabilidad: TfrListadoContabilidad;

implementation

{$R *.DFM}

{ TfrListadoContabilidad }

uses
  Literales, DateFunc, InformeListadoContabilidad;

constructor TfrListadoContabilidad.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ConfigurarFrame(Self, Self.Entidad);
  
  FFechaIni := DarDiaInicioMesDat;
  FFechaFin := DarDiaFinalMesDat;
  FechaIni.Date := FFechaIni;
  FechaFin.Date := FFechaFin;

  FInforme := TdmInformeListadoContabilidad.Create(Self);
  FInforme.Preview := FVistaPrevia.Preview;
  RefrescarInforme;
end;

procedure TfrListadoContabilidad.FechaIniPropertiesValidate(
  Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
  var Error: Boolean);
begin
  if (StrToDate(DisplayValue) > FechaFin.Date) then
  begin
    ErrorText := msgFechaIniMayor;
    Error := True;
    Exit;
  end;
  FFechaIni := StrToDate(DisplayValue);
  RefrescarInforme;
end;

procedure TfrListadoContabilidad.FechaFinPropertiesValidate(
  Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
  var Error: Boolean);
begin
  if (StrToDate(DisplayValue) < FechaIni.Date) then
  begin
    ErrorText := msgFechaIniMayor;
    Error := True;
    Exit;
  end;
  FFechaFin := StrToDate(DisplayValue);  
  RefrescarInforme;
end;

procedure TfrListadoContabilidad.RefrescarInforme;
begin
  (FInforme as TdmInformeListadoContabilidad).FechaIni := FFechaIni;
  (FInforme as TdmInformeListadoContabilidad).FechaFin := FFechaFin;
  (FInforme as TdmInformeListadoContabilidad).Previsualizar;
end;

end.
