313 lines
9.4 KiB
ObjectPascal
313 lines
9.4 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: 01-10-2001
|
|||
|
|
Versi<EFBFBD>n actual: 1.0.2
|
|||
|
|
Fecha versi<EFBFBD>n actual: 01-05-2004
|
|||
|
|
===============================================================================
|
|||
|
|
Modificaciones:
|
|||
|
|
|
|||
|
|
Fecha Comentarios
|
|||
|
|
---------------------------------------------------------------------------
|
|||
|
|
13-11-2001 No se comprobaban correctamente los campos inicial y final
|
|||
|
|
para intervalos por c<EFBFBD>digo de material y por familias.
|
|||
|
|
|
|||
|
|
01-05-2004 p274. Actualizaci<EFBFBD>n del informe a FastReport.
|
|||
|
|
===============================================================================
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
unit ListarArticulos;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|||
|
|
ListadoBase, cxDropDownEdit, cxControls, cxContainer, cxEdit, cxTextEdit,
|
|||
|
|
cxMaskEdit, cxButtonEdit, RdxRadioButton, ExtCtrls, StdCtrls, RdxTitulos,
|
|||
|
|
RdxPaneles, TablaArticulos;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
TfrListarArticulos = class(TfrListadoBase)
|
|||
|
|
rbTodos: TRdxRadioButton;
|
|||
|
|
rbArticulos: TRdxRadioButton;
|
|||
|
|
DescripcionIni: TcxButtonEdit;
|
|||
|
|
DescripcionFin: TcxButtonEdit;
|
|||
|
|
rbFamilias: TRdxRadioButton;
|
|||
|
|
cbFamiliaIni: TcxComboBox;
|
|||
|
|
cbFamiliaFin: TcxComboBox;
|
|||
|
|
Label1: TLabel;
|
|||
|
|
procedure rbTodosClick(Sender: TObject);
|
|||
|
|
procedure rbArticulosClick(Sender: TObject);
|
|||
|
|
procedure rbFamiliasClick(Sender: TObject);
|
|||
|
|
procedure DescripcionIniPropertiesButtonClick(Sender: TObject;
|
|||
|
|
AButtonIndex: Integer);
|
|||
|
|
procedure DescripcionFinPropertiesButtonClick(Sender: TObject;
|
|||
|
|
AButtonIndex: Integer);
|
|||
|
|
procedure DescripcionFinPropertiesValidate(Sender: TObject;
|
|||
|
|
var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
procedure DescripcionIniPropertiesValidate(Sender: TObject;
|
|||
|
|
var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
procedure cbFamiliaIniPropertiesValidate(Sender: TObject;
|
|||
|
|
var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
procedure cbFamiliaFinPropertiesValidate(Sender: TObject;
|
|||
|
|
var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
procedure RdxFrameShow(Sender: TObject);
|
|||
|
|
private
|
|||
|
|
FCodigoArticuloAux : Variant;
|
|||
|
|
FArticuloIni : TDatosArticulo;
|
|||
|
|
FArticuloFin : TDatosArticulo;
|
|||
|
|
procedure ActivarNombres;
|
|||
|
|
procedure ActivarFamilias;
|
|||
|
|
procedure DesactivarNombres;
|
|||
|
|
procedure DesactivarFamilias;
|
|||
|
|
procedure RefrescarInforme; override;
|
|||
|
|
protected
|
|||
|
|
procedure FreeContenido; override;
|
|||
|
|
public
|
|||
|
|
constructor Create(AOwner : TComponent); override;
|
|||
|
|
destructor Destroy; override;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
var
|
|||
|
|
frListarArticulos: TfrListarArticulos;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
{$R *.DFM}
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Articulos, Familias, TablaFamilias, InformeListadoMateriales,
|
|||
|
|
Mensajes, StrFunc, Configuracion, RdxFrameArticulos, Literales;
|
|||
|
|
|
|||
|
|
{ TfrListarArticulos }
|
|||
|
|
|
|||
|
|
constructor TfrListarArticulos.Create(AOwner : TComponent);
|
|||
|
|
var
|
|||
|
|
DescripcionAux : String;
|
|||
|
|
begin
|
|||
|
|
inherited Create(AOwner);
|
|||
|
|
ConfigurarFrame(Self, Self.Entidad);
|
|||
|
|
|
|||
|
|
FArticuloIni := TDatosArticulo.Create;
|
|||
|
|
FArticuloFin := TDatosArticulo.Create;
|
|||
|
|
FCodigoArticuloAux := NULL;
|
|||
|
|
|
|||
|
|
DescripcionAux := dmTablaArticulos.DarArticuloMin;
|
|||
|
|
FArticuloIni.Codigo := '';
|
|||
|
|
FArticuloIni.Descripcion := DescripcionAux;
|
|||
|
|
DescripcionIni.EditingText := FArticuloIni.Descripcion;
|
|||
|
|
|
|||
|
|
DescripcionAux := dmTablaArticulos.DarArticuloMax;
|
|||
|
|
FArticuloFin.Codigo := '';
|
|||
|
|
FArticuloFin.Descripcion := DescripcionAux;
|
|||
|
|
DescripcionFin.EditingText := FArticuloFin.Descripcion;
|
|||
|
|
|
|||
|
|
cbFamiliaIni.Properties.Items := dmTablaFamilias.darFamilias;
|
|||
|
|
cbFamiliaIni.Properties.Items.Delete(0); //Borro el item en blanco.
|
|||
|
|
cbFamiliaIni.ItemIndex := 0;
|
|||
|
|
cbFamiliaFin.Properties.Items := dmTablaFamilias.darFamilias;
|
|||
|
|
cbFamiliaFin.Properties.Items.Delete(0); //Borro el item en blanco.
|
|||
|
|
cbFamiliaFin.ItemIndex := cbFamiliaFin.Properties.Items.Count - 1;
|
|||
|
|
|
|||
|
|
FInforme := TdmInformeListadoMateriales.Create(Self);
|
|||
|
|
FInforme.Preview := FVistaPrevia.Preview;
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.ActivarNombres;
|
|||
|
|
begin
|
|||
|
|
DescripcionIni.Enabled := True;
|
|||
|
|
DescripcionIni.SetFocus;
|
|||
|
|
DescripcionFin.Enabled := True;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.ActivarFamilias;
|
|||
|
|
begin
|
|||
|
|
cbFamiliaIni.Enabled := True;
|
|||
|
|
cbFamiliaIni.SetFocus;
|
|||
|
|
cbFamiliaFin.Enabled := True;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.DesactivarNombres;
|
|||
|
|
begin
|
|||
|
|
DescripcionIni.Enabled := False;
|
|||
|
|
DescripcionFin.Enabled := False;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.DesactivarFamilias;
|
|||
|
|
begin
|
|||
|
|
cbFamiliaIni.Enabled := False;
|
|||
|
|
cbFamiliaFin.Enabled := False;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.rbTodosClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
DesactivarNombres;
|
|||
|
|
DesactivarFamilias;
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.rbArticulosClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
ActivarNombres;
|
|||
|
|
DesactivarFamilias;
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.rbFamiliasClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
ActivarFamilias;
|
|||
|
|
DesactivarNombres;
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.FreeContenido;
|
|||
|
|
begin
|
|||
|
|
if (ContenidoModal is TRdxFrameArticulos) then
|
|||
|
|
FCodigoArticuloAux := (ContenidoModal as TRdxFrameArticulos).CodigoArticulo;
|
|||
|
|
inherited FreeContenido;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.DescripcionIniPropertiesValidate(
|
|||
|
|
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
begin
|
|||
|
|
if AnsiCompareText(DisplayValue, DescripcionFin.Text) > 0 then
|
|||
|
|
begin
|
|||
|
|
ErrorText := msgInfArticuloIniMayor;
|
|||
|
|
Error := True;
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
FArticuloIni.Descripcion := DisplayValue;
|
|||
|
|
FArticuloIni.Codigo := '';
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.DescripcionIniPropertiesButtonClick(
|
|||
|
|
Sender: TObject; AButtonIndex: Integer);
|
|||
|
|
begin
|
|||
|
|
ContenidoModal := TfrArticulos.Create(Self);
|
|||
|
|
if not VarIsNull(FCodigoArticuloAux) then
|
|||
|
|
begin
|
|||
|
|
FArticuloIni.Codigo := FCodigoArticuloAux;
|
|||
|
|
dmTablaArticulos.DarDatosArticulo(FArticuloIni);
|
|||
|
|
DescripcionIni.EditingText := FArticuloIni.Descripcion;
|
|||
|
|
PostMessage(DescripcionIni.Handle, WM_KEYDOWN, VK_RETURN, 0);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.DescripcionFinPropertiesButtonClick(
|
|||
|
|
Sender: TObject; AButtonIndex: Integer);
|
|||
|
|
begin
|
|||
|
|
ContenidoModal := TfrArticulos.Create(Self);
|
|||
|
|
if not VarIsNull(FCodigoArticuloAux) then
|
|||
|
|
begin
|
|||
|
|
FArticuloFin.Codigo := FCodigoArticuloAux;
|
|||
|
|
dmTablaArticulos.DarDatosArticulo(FArticuloFin);
|
|||
|
|
DescripcionFin.EditingText := FArticuloFin.Descripcion;
|
|||
|
|
PostMessage(DescripcionFin.Handle, WM_KEYDOWN, VK_RETURN, 0);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.DescripcionFinPropertiesValidate(
|
|||
|
|
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
begin
|
|||
|
|
if AnsiCompareText(DisplayValue, DescripcionIni.Text) < 0 then
|
|||
|
|
begin
|
|||
|
|
ErrorText := msgInfArticuloIniMayor;
|
|||
|
|
Error := True;
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
FArticuloFin.Descripcion := DisplayValue;
|
|||
|
|
FArticuloFin.Codigo := '';
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
destructor TfrListarArticulos.Destroy;
|
|||
|
|
begin
|
|||
|
|
FreeAndNil(FArticuloIni);
|
|||
|
|
FreeAndNil(FArticuloFin);
|
|||
|
|
// El informe se destruye en el padre
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.RdxFrameShow(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
DesactivarNombres;
|
|||
|
|
DesactivarFamilias;
|
|||
|
|
rbTodos.SetFocus;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.cbFamiliaIniPropertiesValidate(
|
|||
|
|
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
begin
|
|||
|
|
if AnsiCompareText(DisplayValue, cbFamiliaFin.Text) > 0 then
|
|||
|
|
begin
|
|||
|
|
ErrorText := msgInfFamiliaIniMayor;
|
|||
|
|
Error := True;
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.cbFamiliaFinPropertiesValidate(
|
|||
|
|
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
begin
|
|||
|
|
if AnsiCompareText(DisplayValue, cbFamiliaIni.Text) < 0 then
|
|||
|
|
begin
|
|||
|
|
ErrorText := msgInfFamiliaIniMayor;
|
|||
|
|
Error := True;
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
RefrescarInforme;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrListarArticulos.RefrescarInforme;
|
|||
|
|
begin
|
|||
|
|
with (FInforme as TdmInformeListadoMateriales) do
|
|||
|
|
begin
|
|||
|
|
if rbTodos.Checked then
|
|||
|
|
begin
|
|||
|
|
DescripcionIni := NULL;
|
|||
|
|
DescripcionFin := NULL;
|
|||
|
|
FamiliaIni := NULL;
|
|||
|
|
FamiliaFin := NULL;
|
|||
|
|
end
|
|||
|
|
else begin
|
|||
|
|
if rbArticulos.Checked then
|
|||
|
|
begin
|
|||
|
|
DescripcionIni := FArticuloIni.Descripcion;
|
|||
|
|
DescripcionFin := FArticuloFin.Descripcion;
|
|||
|
|
FamiliaIni := NULL;
|
|||
|
|
FamiliaFin := NULL;
|
|||
|
|
end
|
|||
|
|
else begin
|
|||
|
|
DescripcionIni := NULL;
|
|||
|
|
DescripcionFin := NULL;
|
|||
|
|
FamiliaIni := cbFamiliaIni.Text;
|
|||
|
|
FamiliaFin := cbFamiliaFin.Text;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
Previsualizar;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|
|||
|
|
|