{
===============================================================================
  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: 24-06-2003
  Versión actual: 1.0.1
  Fecha versión actual: 28-05-2004
===============================================================================
  Modificaciones:

    Fecha         Comentarios
    ---------------------------------------------------------------------------
    28/05/2004    Se han adaptado los frames para que se autoconfiguren
===============================================================================
}

unit RdxFrameInformeTrimestral;

{$I ..\COMPILE.INC}

interface

uses
  Windows, Classes,
  RdxFrame, RdxDBFrame, IBCustomDataSet, DB, Entidades;

type
  TRdxFrameInformeTrimestral = class(TRdxDBFrame)
  private
    FTablaTrimestres : TIBDataSet;
    FTablaFacturas : TIBDataSet;
  protected
    FListaFacturas : TStringList;
    procedure SetTablaTrimestres (Value : TIBDataSet);
    procedure SetTablaFacturas (Value : TIBDataSet);

    function TratarCambios : integer; override;
    procedure ActivarModoConsultar; override;
    function CambiarEntidad(EntidadAnterior, Entidad : TRdxEntidad): Boolean; override;
  public
    property TablaTrimestres: TIBDataSet read FTablaTrimestres write SetTablaTrimestres;
    property TablaFacturas: TIBDataSet read FTablaFacturas write SetTablaFacturas;
    constructor Create (AOwner : TComponent); override;
    destructor Destroy; override;
  published
    property BaseDatos;
    property Transaccion;
  end;


implementation

{$R *.DFM}

uses
  StrFunc, Mensajes, Literales, Configuracion
  {$IFDEF RDX_D6}, Variants{$ENDIF};


{ TRdxFrameInformeTrimestral }

constructor TRdxFrameInformeTrimestral.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FListaFacturas := TStringList.Create;

  FTablaTrimestres := NIL;
  FTablaFacturas := NIL;
end;

function TRdxFrameInformeTrimestral.TratarCambios : integer;
begin
  if (TablaFacturas.State in dsEditModes) then
  begin
    case VerMensajePregunta(msgGuardarCambios) of
      IDCANCEL    : Result := IDCANCEL;
      IDYES       : begin
                      if (RealizarOperacion)
                      then Result := IDOK
                      else Result := IDCANCEL;
                    end;
      IDNO        : begin
                      if (DescartarOperacion)
                      then Result := IDOK
                      else Result := IDCANCEL;
                    end;
    end
  end
  else Result := IDOK;
end;

procedure TRdxFrameInformeTrimestral.SetTablaFacturas(Value: TIBDataSet);
begin
  if (FTablaFacturas <> Value) then
    FTablaFacturas := Value;
end;

destructor TRdxFrameInformeTrimestral.Destroy;
begin
  FListaFacturas.Free;
  FListaFacturas := NIL;
  inherited;
end;

procedure TRdxFrameInformeTrimestral.SetTablaTrimestres(Value: TIBDataSet);
begin
  if (FTablaTrimestres <> Value) then
    FTablaTrimestres := Value;
end;

procedure TRdxFrameInformeTrimestral.ActivarModoConsultar;
begin
  inherited;
end;

function TRdxFrameInformeTrimestral.CambiarEntidad(EntidadAnterior,
  Entidad: TRdxEntidad): Boolean;
begin
  inherited CambiarEntidad(EntidadAnterior, Entidad);
  ConfigurarFrame(Self, Self.Entidad);
end;

end.
