This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
Miguelo_FactuGES/Clientes/ListadoClientes.pas
2007-06-25 15:19:31 +00:00

221 lines
6.8 KiB
ObjectPascal

{
===============================================================================
Copyright (©) 2003. 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: 04-03-2003
Versión actual: 1.0.1
Fecha versión actual: 13-08-2003
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
13-08-2003 Se ha cambiado el intervalo a intervalo de nombre en vez
de intervalo de códigos de cliente.
===============================================================================
}
unit ListadoClientes;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RdxFrame, RdxBotones, RdxPaneles, RdxBarras, cxControls,
cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls,
AdvPanel, ExtCtrls, RdxTitulos, cxDropDownEdit, VistaPrevia,
InformeListadoClientes, TablaClientes, Entidades;
type
TfrListadoClientes = class(TRdxFrame)
pnlTitulo: TRdxPanelTituloOperacion;
pnlCuerpo: TPanel;
pnlProveedor: TAdvPanel;
eCodigoCliente: TLabel;
Label2: TLabel;
pnlVistaPrevia: TPanel;
Label1: TLabel;
NombreCliIni: TcxButtonEdit;
NombreCliFin: TcxButtonEdit;
procedure CodigoCliIniPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure CodigoCliFinPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure NombreCliIniPropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption;
var Error: Boolean);
procedure NombreCliFinPropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption;
var Error: Boolean);
private
FVistaPrevia : TfrVistaPrevia;
FInforme : TdmInformeListadoClientes;
FClienteIni : TDatosCliente;
FClienteFin : TDatosCliente;
FCodigoClienteAux : Variant;
procedure RecogerParametrosInforme;
protected
procedure VerModal; override;
procedure FreeContenido; override;
function CloseFrame : Boolean; override;
function CambiarEntidad(EntidadAnterior, Entidad : TRdxEntidad): Boolean; override;
public
constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
end;
var
frListadoClientes: TfrListadoClientes;
implementation
{$R *.dfm}
{ TfrListadoClientes }
uses
Literales, Mensajes, StrFunc, DateUtils, InformeBase,
Clientes, RdxFrameClientes, configuracion;
constructor TfrListadoClientes.Create(AOwner: TComponent);
var
NombreAux : String;
begin
inherited Create(AOwner);
Entidad := entListadoClientes;
FClienteIni := TDatosCliente.Create;
FClienteFin := TDatosCliente.Create;
NombreAux := dmTablaClientes.DarNombreCliMin;
FClienteIni.Codigo := '';
FClienteIni.Nombre := NombreAux;
FClienteIni.ObtenerDatos;
NombreCliIni.EditingText := FClienteIni.Nombre;
NombreAux := dmTablaClientes.DarNombreCliMax;
FClienteFin.Codigo := '';
FClienteFin.Nombre := NombreAux;
FClienteFin.ObtenerDatos;
NombreCliFin.EditingText := FClienteFin.Nombre;
FVistaPrevia := TfrVistaPrevia.Create(Self);
FVistaPrevia.Parent := pnlVistaPrevia;
FInforme := TdmInformeListadoClientes.Create(Self);
FInforme.Preview := FVistaPrevia.Preview;
RecogerParametrosInforme;
end;
destructor TfrListadoClientes.Destroy;
begin
FInforme.Free;
FClienteIni.Free;
FClienteFin.Free;
inherited;
end;
procedure TfrListadoClientes.RecogerParametrosInforme;
begin
if not Assigned(FInforme) then
Exit;
with FInforme do
begin
NombreIni := FClienteIni.Nombre;
NombreFin := FClienteFin.Nombre;
Previsualizar;
end;
end;
procedure TfrListadoClientes.CodigoCliIniPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
ContenidoModal := TfrClientes.Create(Self);
if FCodigoClienteAux <> Null then
begin
FClienteIni.Codigo := FCodigoClienteAux;
FClienteIni.ObtenerDatos;
NombreCliIni.EditingText := FClienteIni.Nombre;
PostMessage(NombreCliIni.Handle,WM_KEYDOWN,VK_RETURN,0);
end;
end;
function TfrListadoClientes.CloseFrame: Boolean;
begin
FInforme.Preview := NIL;
(FVistaPrevia as TRdxFrame).CloseFrame;
Result := inherited CloseFrame;
end;
procedure TfrListadoClientes.FreeContenido;
begin
if (ContenidoModal is TRdxFrameClientes) then
FCodigoClienteAux := (ContenidoModal as TRdxFrameClientes).CodigoCliente;
inherited;
end;
procedure TfrListadoClientes.VerModal;
begin
if (ContenidoModal is TRdxFrameClientes) then
(ContenidoModal as TRdxFrameClientes).CodigoCliente := FCodigoClienteAux;
inherited;
end;
procedure TfrListadoClientes.CodigoCliFinPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
ContenidoModal := TfrClientes.Create(Self);
if FCodigoClienteAux <> Null then
begin
FClienteFin.Codigo := FCodigoClienteAux;
FClienteFin.ObtenerDatos;
NombreCliFin.EditingText := FClienteFin.Nombre;
PostMessage(NombreCliFin.Handle,WM_KEYDOWN,VK_RETURN,0);
end;
end;
procedure TfrListadoClientes.NombreCliIniPropertiesValidate(
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
var Error: Boolean);
begin
if AnsiCompareText(DisplayValue, NombreCliFin.Text) > 0 then
begin
ErrorText := msgCliIniMayor;
Error := True;
Exit;
end;
FClienteIni.Nombre := DisplayValue;
FClienteIni.Codigo := '';
RecogerParametrosInforme;
end;
procedure TfrListadoClientes.NombreCliFinPropertiesValidate(
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
var Error: Boolean);
begin
if AnsiCompareText(DisplayValue, NombreCliIni.Text) < 0 then
begin
ErrorText := msgCliIniMayor;
Error := True;
Exit;
end;
FClienteFin.Nombre := DisplayValue;
FClienteFin.Codigo := '';
RecogerParametrosInforme;
end;
function TfrListadoClientes.CambiarEntidad(EntidadAnterior, Entidad: TRdxEntidad): Boolean;
begin
inherited CambiarEntidad(EntidadAnterior, Entidad);
ConfigurarFrame(Self, Self.Entidad);
end;
end.