git-svn-id: https://192.168.0.254/svn/Proyectos.Miguelo_FactuGES/trunk@19 172823e9-465a-9d4b-80ba-0a9f016f4eb1
279 lines
8.5 KiB
ObjectPascal
279 lines
8.5 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, cxCalendar;
|
|
|
|
type
|
|
TfrListadoClientes = class(TRdxFrame)
|
|
pnlTitulo: TRdxPanelTituloOperacion;
|
|
pnlCuerpo: TPanel;
|
|
pnlProveedor: TAdvPanel;
|
|
eCodigoCliente: TLabel;
|
|
Label2: TLabel;
|
|
pnlVistaPrevia: TPanel;
|
|
Label1: TLabel;
|
|
NombreCliIni: TcxButtonEdit;
|
|
NombreCliFin: TcxButtonEdit;
|
|
Label3: TLabel;
|
|
FechaIni: TcxDateEdit;
|
|
eFechaFin: TLabel;
|
|
FechaFin: TcxDateEdit;
|
|
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);
|
|
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
|
|
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, cxDateUtils,
|
|
Clientes, RdxFrameClientes, configuracion, TablaTrimestres;
|
|
|
|
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;
|
|
|
|
FechaIni.Date := dmTablaTrimestres.darFechaIniTrimestre(dmTablaTrimestres.darTrimestreActual);
|
|
FechaFin.Date := dmTablaTrimestres.darFechaFinTrimestre(dmTablaTrimestres.darTrimestreActual);
|
|
FInforme.FechaAltaIni := FechaIni.Date;
|
|
FInforme.FechaAltaFin := FechaFin.Date;
|
|
|
|
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;
|
|
|
|
procedure TfrListadoClientes.FechaIniPropertiesValidate(Sender: TObject;
|
|
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
|
var
|
|
ADate : TDateTime;
|
|
begin
|
|
try
|
|
if DisplayValue > FechaFin.Date then
|
|
begin
|
|
ErrorText := msgFechasMal;
|
|
Error := True;
|
|
Exit;
|
|
end;
|
|
TextToDateEx(DisplayValue, ADate);
|
|
FInforme.FechaAltaIni := ADate;
|
|
FInforme.Previsualizar;
|
|
except
|
|
Error := True;
|
|
ErrorText := msgFechaNoValida;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrListadoClientes.FechaFinPropertiesValidate(Sender: TObject;
|
|
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
|
var
|
|
ADate : TDateTime;
|
|
begin
|
|
try
|
|
if DisplayValue < FechaIni.Date then
|
|
begin
|
|
ErrorText := msgFechasMal;
|
|
Error := True;
|
|
Exit;
|
|
end;
|
|
TextToDateEx(DisplayValue, ADate);
|
|
FInforme.FechaAltaFin := ADate;
|
|
FInforme.Previsualizar
|
|
except
|
|
Error := True;
|
|
ErrorText := msgFechaNoValida;
|
|
end;
|
|
end;
|
|
|
|
end.
|