267 lines
7.6 KiB
ObjectPascal
267 lines
7.6 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: 11-08-2002
|
|||
|
|
Versi<EFBFBD>n actual: 1.0.3
|
|||
|
|
Fecha versi<EFBFBD>n actual: 30-06-2004
|
|||
|
|
===============================================================================
|
|||
|
|
Modificaciones:
|
|||
|
|
|
|||
|
|
Fecha Comentarios
|
|||
|
|
---------------------------------------------------------------------------
|
|||
|
|
08-03-2003 Se han puesto componentes con calendario.
|
|||
|
|
|
|||
|
|
10-03-2003 p259. Informe con la lista de todos los presupuestos
|
|||
|
|
de cliente.
|
|||
|
|
|
|||
|
|
30-06-2004 p272. Adaptaci<EFBFBD>n a multiempresa.
|
|||
|
|
|
|||
|
|
30-06-2004 p274. Actualizaci<EFBFBD>n del informe a FastReport.
|
|||
|
|
===============================================================================
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
unit ListadoPresupuestosCli;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|||
|
|
ListadoBase, ExtCtrls, StdCtrls, RdxTitulos, RdxPaneles, cxControls, Tipos,
|
|||
|
|
cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar,
|
|||
|
|
RdxCampos, RdxRadioButton, cxButtonEdit;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
TfrListadoPresupuestosCli = class(TfrListadoBase)
|
|||
|
|
Label1: TLabel;
|
|||
|
|
FechaIni: TcxDateEdit;
|
|||
|
|
Label2: TLabel;
|
|||
|
|
FechaFin: TcxDateEdit;
|
|||
|
|
Bevel1: TBevel;
|
|||
|
|
rbCodigo: TRdxRadioButton;
|
|||
|
|
eCodigoIni: TLabel;
|
|||
|
|
NombreCliente: TRdxEdit;
|
|||
|
|
rbTodos: TRdxRadioButton;
|
|||
|
|
eInfoCriterios: TLabel;
|
|||
|
|
CodCli: TcxButtonEdit;
|
|||
|
|
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);
|
|||
|
|
procedure rbTodosClick(Sender: TObject);
|
|||
|
|
procedure rbCodigoClick(Sender: TObject);
|
|||
|
|
procedure CodCliPropertiesButtonClick(Sender: TObject;
|
|||
|
|
AButtonIndex: Integer);
|
|||
|
|
procedure CodCliPropertiesValidate(Sender: TObject;
|
|||
|
|
var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
procedure RdxFrameShow(Sender: TObject);
|
|||
|
|
private
|
|||
|
|
FFechaIni: Variant;
|
|||
|
|
FFechaFin: Variant;
|
|||
|
|
FCodigoCliente: Variant;
|
|||
|
|
procedure ActivarCliente;
|
|||
|
|
procedure DesactivarCliente;
|
|||
|
|
procedure SetCodigoCliente(const Value: Variant);
|
|||
|
|
procedure RefrescarInforme; override;
|
|||
|
|
protected
|
|||
|
|
procedure FreeContenido; override;
|
|||
|
|
procedure VerModal; override;
|
|||
|
|
public
|
|||
|
|
property CodigoCliente : Variant read FCodigoCliente write SetCodigoCliente;
|
|||
|
|
constructor Create (AOwner : TComponent); override;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
var
|
|||
|
|
frListadoPresupuestosCli: TfrListadoPresupuestosCli;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
{$R *.DFM}
|
|||
|
|
|
|||
|
|
{ TfrListadoFacturasCli }
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Configuracion, Literales, InformeListadoPresupuestosCli, DateFunc, TablaClientes,
|
|||
|
|
Clientes, StrFunc;
|
|||
|
|
|
|||
|
|
constructor TfrListadoPresupuestosCli.Create(AOwner: TComponent);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
ConfigurarFrame(Self, Self.Entidad);
|
|||
|
|
|
|||
|
|
FFechaIni := DarDiaInicioMesDat;
|
|||
|
|
FFechaFin := DarDiaFinalMesDat;
|
|||
|
|
FechaIni.Date := FFechaIni;
|
|||
|
|
FechaFin.Date := FFechaFin;
|
|||
|
|
FCodigoCliente := NULL;
|
|||
|
|
|
|||
|
|
FInforme := TdmInformeListadoPresupuestosCli.Create(Self);
|
|||
|
|
FInforme.Preview := FVistaPrevia.Preview;
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListadoPresupuestosCli.FechaIniPropertiesValidate(
|
|||
|
|
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
begin
|
|||
|
|
if (StrToDate(DisplayValue) > FechaFin.Date) then
|
|||
|
|
begin
|
|||
|
|
ErrorText := msgFechaIniMayor;
|
|||
|
|
Error := True;
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
FFechaIni := StrToDate(DisplayValue);
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListadoPresupuestosCli.FechaFinPropertiesValidate(
|
|||
|
|
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
begin
|
|||
|
|
if (StrToDate(DisplayValue) < FechaIni.Date) then
|
|||
|
|
begin
|
|||
|
|
ErrorText := msgFechaIniMayor;
|
|||
|
|
Error := True;
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
FFechaFin := StrToDate(DisplayValue);
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListadoPresupuestosCli.RefrescarInforme;
|
|||
|
|
begin
|
|||
|
|
with (FInforme as TdmInformeListadoPresupuestosCli) do
|
|||
|
|
begin
|
|||
|
|
FechaIni := FFechaIni;
|
|||
|
|
FechaFin := FFechaFin;
|
|||
|
|
if rbTodos.Checked then
|
|||
|
|
Tipo := tiTodo
|
|||
|
|
else begin
|
|||
|
|
Tipo := tiPorCliente;
|
|||
|
|
if FCodigoCliente = Null then
|
|||
|
|
Exit;
|
|||
|
|
CodigoCliente := FCodigoCliente;
|
|||
|
|
NombreCliente := Self.NombreCliente.Text;
|
|||
|
|
end;
|
|||
|
|
Previsualizar;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListadoPresupuestosCli.ActivarCliente;
|
|||
|
|
begin
|
|||
|
|
CodCli.Enabled := True;
|
|||
|
|
CodCli.SetFocus;
|
|||
|
|
NombreCliente.Enabled := True;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListadoPresupuestosCli.DesactivarCliente;
|
|||
|
|
begin
|
|||
|
|
CodCli.Enabled := False;
|
|||
|
|
NombreCliente.Enabled := False;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListadoPresupuestosCli.SetCodigoCliente(const Value: Variant);
|
|||
|
|
var
|
|||
|
|
DatosCliente : TDatosCliente;
|
|||
|
|
begin
|
|||
|
|
if Value = Null then
|
|||
|
|
Exit;
|
|||
|
|
|
|||
|
|
if FCodigoCliente <> Value then
|
|||
|
|
begin
|
|||
|
|
FCodigoCliente := Value;
|
|||
|
|
DatosCliente := TDatosCliente.Create;
|
|||
|
|
try
|
|||
|
|
DatosCliente.Codigo := FCodigoCliente;
|
|||
|
|
dmTablaClientes.DarDatosCliente(DatosCliente);
|
|||
|
|
CodCli.Text := FCodigoCliente;
|
|||
|
|
NombreCliente.Text := DatosCliente.Nombre;
|
|||
|
|
finally
|
|||
|
|
DatosCliente.Free;
|
|||
|
|
end;
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListadoPresupuestosCli.rbTodosClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
DesactivarCliente;
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListadoPresupuestosCli.rbCodigoClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
ActivarCliente;
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListadoPresupuestosCli.CodCliPropertiesButtonClick(
|
|||
|
|
Sender: TObject; AButtonIndex: Integer);
|
|||
|
|
begin
|
|||
|
|
ModoModal := Seleccionar;
|
|||
|
|
ContenidoModal := TfrClientes.Create(Self);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListadoPresupuestosCli.CodCliPropertiesValidate(
|
|||
|
|
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
begin
|
|||
|
|
if EsCadenaVacia (DisplayValue) then
|
|||
|
|
begin
|
|||
|
|
Error := True;
|
|||
|
|
ErrorText := msgCliFaltaCodigo;
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if (dmTablaClientes.ValidarCodigo(DisplayValue)) then
|
|||
|
|
begin
|
|||
|
|
DisplayValue := dmTablaClientes.FormatearCodigo(DisplayValue);
|
|||
|
|
if (not dmTablaClientes.ExisteCodigo(DisplayValue)) then
|
|||
|
|
begin
|
|||
|
|
Error := True;
|
|||
|
|
ErrorText := Format(msgCliCodCliNoExiste, [DisplayValue]);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
end
|
|||
|
|
else begin
|
|||
|
|
Error := True;
|
|||
|
|
ErrorText := Format(msgCliCodCliIncorrecto, [DisplayValue]);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
CodigoCliente := DisplayValue;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListadoPresupuestosCli.VerModal;
|
|||
|
|
begin
|
|||
|
|
if (ContenidoModal is TfrClientes) then
|
|||
|
|
(ContenidoModal as TfrClientes).CodigoCliente := FCodigoCliente;
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListadoPresupuestosCli.FreeContenido;
|
|||
|
|
begin
|
|||
|
|
if (ContenidoModal is TfrClientes) then
|
|||
|
|
CodigoCliente := (ContenidoModal as TfrClientes).CodigoCliente;
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListadoPresupuestosCli.RdxFrameShow(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
DesactivarCliente;
|
|||
|
|
FechaIni.SetFocus;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|
|||
|
|
|