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/Frames/RdxFrameCartasCliente.pas
2007-06-21 15:47:20 +00:00

146 lines
4.4 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-09-2002
Versión actual: 1.0.0
Fecha versión actual: 08-09-2002
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
===============================================================================
}
unit RdxFrameCartasCliente;
interface
uses
Consts, Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
RdxFrame, RdxDBFrame, IBCustomDataSet, RdxTipos, IBDataBase, DB;
type
TRdxFrameCartasCliente = class(TRdxDBFrame)
private
FTablaCartas : TIBDataSet;
protected
FCodigoCarta : Variant;
procedure SetTablaCartas (Value : TIBDataSet);
procedure SetCodigoCarta (Value : Variant); virtual;
procedure SetContenido (NuevoFrame : TRdxFrame); override;
function TratarCambios : integer; override;
procedure BuscarCarta; virtual;
procedure CambiarModo(ModoAnterior, Modo : TRdxModo); override;
public
property TablaCartas: TIBDataSet read FTablaCartas write SetTablaCartas;
property CodigoCarta : Variant read FCodigoCarta write SetCodigoCarta;
constructor Create (AOwner : TComponent); override;
published
property BaseDatos;
property Transaccion;
end;
implementation
{$R *.DFM}
uses
IB, RdxMensajes, RdxFunciones;
{ TRdxFrameCartasCliente }
constructor TRdxFrameCartasCliente.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FCodigoCarta := NULL;
FTablaCartas := NIL;
end;
function TRdxFrameCartasCliente.TratarCambios : integer;
begin
if (TablaCartas.Modified = True) 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 TRdxFrameCartasCliente.SetCodigoCarta(Value: Variant);
begin
if not EsCadenaVacia (Value) then
begin
FCodigoCarta := Value;
BuscarCarta;
end
end;
procedure TRdxFrameCartasCliente.SetContenido(NuevoFrame: TRdxFrame);
begin
if (FContenido <> NIL) then
if (Contenido.Name = NuevoFrame.ClassName) then
begin
NuevoFrame.Free;
exit;
end;
inherited;
if (TablaCarta <> NIL) then
begin
FCodigoCarta := TablaCarta.FieldByName('CODIGO').Value;
if Contenido is TRdxFrameCartasCliente then
(Contenido as TRdxFrameCartasCliente).CodigoCarta := FCodigoCarta;
end;
end;
procedure TRdxFrameCartasCliente.CambiarModo(ModoAnterior, Modo : TRdxModo);
begin
inherited;
if (FModo in [Normal, Seleccionar]) then
begin
TablaCarta.Close;
TablaCarta.Open;
end
else begin
{ Si estábamos en el modo Añadir y pasamos a cualquier otro modo SIEMPRE
es necesario buscar el codigo de presupuesto que tiene el frame
en CodigoCarta (al activar el modo Añadir NO se pisa este valor con
el código de presupuesto nuevo) }
if (not TablaCarta.Active) or (ModoAnterior = Anadir) then
BuscarCarta;
end;
end;
procedure TRdxFrameCartasCliente.SetTablaCartas(Value: TIBDataSet);
begin
if (FTablaCartas <> Value) then
FTablaCartas := Value;
end;
procedure TRdxFrameCartasCliente.BuscarCarta;
begin
//
end;
end.