229 lines
6.8 KiB
ObjectPascal
229 lines
6.8 KiB
ObjectPascal
|
|
{
|
|||
|
|
===============================================================================
|
|||
|
|
Copyright (<EFBFBD>) 2001. Rodax Software.
|
|||
|
|
===============================================================================
|
|||
|
|
Los contenidos de este fichero son propiedad de Rodax Software titular del
|
|||
|
|
copyright. Este fichero s<EFBFBD>lo podr<EFBFBD> ser copiado, distribuido y utilizado,
|
|||
|
|
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
|
|||
|
|
acuerdo con los t<EFBFBD>rminos y condiciones establecidas en el acuerdo/contrato
|
|||
|
|
bajo el que se suministra.
|
|||
|
|
-----------------------------------------------------------------------------
|
|||
|
|
Web: www.rodax-software.com
|
|||
|
|
===============================================================================
|
|||
|
|
Fecha primera versi<EFBFBD>n: 12-10-2002
|
|||
|
|
Versi<EFBFBD>n actual: 1.0.1
|
|||
|
|
Fecha versi<EFBFBD>n actual: 01-05-2004
|
|||
|
|
===============================================================================
|
|||
|
|
Modificaciones:
|
|||
|
|
|
|||
|
|
Fecha Comentarios
|
|||
|
|
---------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
19-11-2003 p268. Cambiar funcion ImprimirListadoCli, ExportarListadoCli,
|
|||
|
|
bImprimirClick y bExportarClick para validar intervalo y en
|
|||
|
|
lugar por codigo se realice por nombre alfabetico.
|
|||
|
|
|
|||
|
|
01-05-2004 p274. Actualizaci<EFBFBD>n del informe a FastReport.
|
|||
|
|
===============================================================================
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
unit ListarClientes;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|||
|
|
ListadoBase, ExtCtrls, StdCtrls, RdxTitulos, RdxPaneles, TablaClientes,
|
|||
|
|
cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxButtonEdit,
|
|||
|
|
RdxRadioButton;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
TfrListarClientes = class(TfrListadoBase)
|
|||
|
|
ClienteIni: TcxButtonEdit;
|
|||
|
|
ClienteFin: TcxButtonEdit;
|
|||
|
|
rbTodos: TRdxRadioButton;
|
|||
|
|
rbArticulos: TRdxRadioButton;
|
|||
|
|
Label1: TLabel;
|
|||
|
|
procedure ClienteIniPropertiesButtonClick(Sender: TObject;
|
|||
|
|
AButtonIndex: Integer);
|
|||
|
|
procedure ClienteFinPropertiesButtonClick(Sender: TObject;
|
|||
|
|
AButtonIndex: Integer);
|
|||
|
|
procedure ClienteIniPropertiesValidate(Sender: TObject;
|
|||
|
|
var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
procedure ClienteFinPropertiesValidate(Sender: TObject;
|
|||
|
|
var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
procedure rbTodosClick(Sender: TObject);
|
|||
|
|
procedure rbArticulosClick(Sender: TObject);
|
|||
|
|
procedure RdxFrameShow(Sender: TObject);
|
|||
|
|
private
|
|||
|
|
FClienteIni : TDatosCliente;
|
|||
|
|
FClienteFin : TDatosCliente;
|
|||
|
|
FCodigoClienteAux : Variant;
|
|||
|
|
procedure ActivarIntervalo;
|
|||
|
|
procedure DesactivarIntervalo;
|
|||
|
|
procedure RefrescarInforme; override;
|
|||
|
|
protected
|
|||
|
|
procedure FreeContenido; override;
|
|||
|
|
public
|
|||
|
|
constructor Create(AOwner : TComponent); override;
|
|||
|
|
destructor Destroy; override;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
var
|
|||
|
|
frListarClientes: TfrListarClientes;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
{$R *.DFM}
|
|||
|
|
|
|||
|
|
{ TfrListarClientes }
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
RdxFrameClientes, Configuracion, InformeListadoClientes, Clientes,
|
|||
|
|
Literales;
|
|||
|
|
|
|||
|
|
constructor TfrListarClientes.Create(AOwner: TComponent);
|
|||
|
|
var
|
|||
|
|
NombreAux : String;
|
|||
|
|
begin
|
|||
|
|
inherited Create(AOwner);
|
|||
|
|
ConfigurarFrame(Self, Self.Entidad);
|
|||
|
|
|
|||
|
|
FClienteIni := TDatosCliente.Create;
|
|||
|
|
FClienteFin := TDatosCliente.Create;
|
|||
|
|
FCodigoClienteAux := NULL;
|
|||
|
|
|
|||
|
|
FClienteIni.Codigo := dmTablaClientes.DarClienteMin;
|
|||
|
|
dmTablaClientes.DarDatosCliente(FClienteIni);
|
|||
|
|
ClienteIni.EditingText := FClienteIni.Nombre;
|
|||
|
|
|
|||
|
|
FClienteFin.Codigo := dmTablaClientes.DarClienteMax;
|
|||
|
|
dmTablaClientes.DarDatosCliente(FClienteFin);
|
|||
|
|
ClienteFin.EditingText := FClienteFin.Nombre;
|
|||
|
|
|
|||
|
|
FInforme := TdmInformeListadoClientes.Create(Self);
|
|||
|
|
FInforme.Preview := FVistaPrevia.Preview;
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
destructor TfrListarClientes.Destroy;
|
|||
|
|
begin
|
|||
|
|
FreeAndNil(FClienteIni);
|
|||
|
|
FreeAndNil(FClienteFin);
|
|||
|
|
// El informe se destruye en el padre
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarClientes.ClienteIniPropertiesButtonClick(
|
|||
|
|
Sender: TObject; AButtonIndex: Integer);
|
|||
|
|
begin
|
|||
|
|
ContenidoModal := TfrClientes.Create(Self);
|
|||
|
|
if not VarIsNull(FCodigoClienteAux) then
|
|||
|
|
begin
|
|||
|
|
FClienteIni.Codigo := FCodigoClienteAux;
|
|||
|
|
dmTablaClientes.DarDatosCliente(FClienteIni);
|
|||
|
|
ClienteIni.EditingText := FClienteIni.Nombre;
|
|||
|
|
PostMessage(ClienteIni.Handle, WM_KEYDOWN, VK_RETURN, 0);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarClientes.ClienteFinPropertiesButtonClick(
|
|||
|
|
Sender: TObject; AButtonIndex: Integer);
|
|||
|
|
begin
|
|||
|
|
ContenidoModal := TfrClientes.Create(Self);
|
|||
|
|
if not VarIsNull(FCodigoClienteAux) then
|
|||
|
|
begin
|
|||
|
|
FClienteFin.Codigo := FCodigoClienteAux;
|
|||
|
|
dmTablaClientes.DarDatosCliente(FClienteFin);
|
|||
|
|
ClienteFin.EditingText := FClienteFin.Nombre;
|
|||
|
|
PostMessage(ClienteFin.Handle, WM_KEYDOWN, VK_RETURN, 0);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarClientes.FreeContenido;
|
|||
|
|
begin
|
|||
|
|
if (ContenidoModal is TRdxFrameClientes) then
|
|||
|
|
FCodigoClienteAux := (ContenidoModal as TRdxFrameClientes).CodigoCliente;
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarClientes.ClienteIniPropertiesValidate(Sender: TObject;
|
|||
|
|
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
|||
|
|
begin
|
|||
|
|
if AnsiCompareText(DisplayValue, ClienteFin.Text) > 0 then
|
|||
|
|
begin
|
|||
|
|
ErrorText := msgInfClienteIniMayor;
|
|||
|
|
Error := True;
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
FClienteIni.Nombre := DisplayValue;
|
|||
|
|
FClienteIni.Codigo := '';
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarClientes.ClienteFinPropertiesValidate(Sender: TObject;
|
|||
|
|
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
|||
|
|
begin
|
|||
|
|
if AnsiCompareText(DisplayValue, ClienteIni.Text) < 0 then
|
|||
|
|
begin
|
|||
|
|
ErrorText := msgInfClienteIniMayor;
|
|||
|
|
Error := True;
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
FClienteFin.Nombre := DisplayValue;
|
|||
|
|
FClienteFin.Codigo := '';
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarClientes.ActivarIntervalo;
|
|||
|
|
begin
|
|||
|
|
ClienteIni.Enabled := True;
|
|||
|
|
ClienteIni.SetFocus;
|
|||
|
|
ClienteFin.Enabled := True;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarClientes.DesactivarIntervalo;
|
|||
|
|
begin
|
|||
|
|
ClienteIni.Enabled := False;
|
|||
|
|
ClienteFin.Enabled := False;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarClientes.rbTodosClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
DesactivarIntervalo;
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarClientes.rbArticulosClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
ActivarIntervalo;
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarClientes.RefrescarInforme;
|
|||
|
|
begin
|
|||
|
|
with (FInforme as TdmInformeListadoClientes)do
|
|||
|
|
begin
|
|||
|
|
if rbTodos.Checked then
|
|||
|
|
begin
|
|||
|
|
NombreIni := NULL;
|
|||
|
|
NombreFin := NULL;
|
|||
|
|
end
|
|||
|
|
else begin
|
|||
|
|
NombreIni := FClienteIni.Nombre;
|
|||
|
|
NombreFin := FClienteFin.Nombre;
|
|||
|
|
end;
|
|||
|
|
Previsualizar;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarClientes.RdxFrameShow(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
DesactivarIntervalo;
|
|||
|
|
rbTodos.SetFocus;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|