171 lines
4.9 KiB
ObjectPascal
171 lines
4.9 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.1
|
|||
|
|
Fecha versi<EFBFBD>n actual: 10-10-2004
|
|||
|
|
===============================================================================
|
|||
|
|
Modificaciones:
|
|||
|
|
|
|||
|
|
Fecha Comentarios
|
|||
|
|
---------------------------------------------------------------------------
|
|||
|
|
10-10-2004 Se ha cambiado el metodo RecogerDatos a virtual con el fin de poder
|
|||
|
|
heredarlo y sobre escribirlo
|
|||
|
|
===============================================================================
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
unit BuscarArticulo;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|||
|
|
ExtCtrls, IBQuery, StdCtrls, DB, RdxBotones, RdxBarras, RdxComboBox,
|
|||
|
|
RdxCampos, RdxTitulos, RdxPaneles, Tipos, Mensajes,
|
|||
|
|
RdxFrame, RdxDBFrame, RdxFrameArticulos;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
TfrBuscarArticulo = class(TRdxFrameArticulos)
|
|||
|
|
brDoble: TRdxBarraInferior;
|
|||
|
|
bBuscar: TRdxBoton;
|
|||
|
|
bCerrar: TRdxBoton;
|
|||
|
|
pnlPanel: TRdxPanel;
|
|||
|
|
cDatos: TRdxCabecera;
|
|||
|
|
eCodigo: TLabel;
|
|||
|
|
eFamilia: TLabel;
|
|||
|
|
eDescripcion: TLabel;
|
|||
|
|
Codigo: TRdxEdit;
|
|||
|
|
Descripcion: TRdxEdit;
|
|||
|
|
cbxFamilia: TRdxComboBox;
|
|||
|
|
procedure bCerrarClick(Sender: TObject);
|
|||
|
|
procedure bBuscarClick(Sender: TObject);
|
|||
|
|
protected
|
|||
|
|
procedure RecogerDatos; virtual;
|
|||
|
|
procedure BuscarArticulo; override;
|
|||
|
|
function CloseFrame : boolean; override;
|
|||
|
|
public
|
|||
|
|
constructor Create (AOwner : TComponent); override;
|
|||
|
|
published
|
|||
|
|
property TablaArticulos;
|
|||
|
|
property CodigoArticulo;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
var
|
|||
|
|
frBuscarArticulo: TfrBuscarArticulo;
|
|||
|
|
Campos : String;
|
|||
|
|
Valores : Variant;
|
|||
|
|
Contador : Integer;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
{$R *.DFM}
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
BaseDatos, Articulos, TablaFamilias, Configuracion, Literales;
|
|||
|
|
|
|||
|
|
constructor TfrBuscarArticulo.Create (AOwner : TComponent);
|
|||
|
|
begin
|
|||
|
|
if not (AOwner is TRdxFrameArticulos) then
|
|||
|
|
exit;
|
|||
|
|
inherited Create(AOwner);
|
|||
|
|
Entidad := entArticulo;
|
|||
|
|
ConfigurarFrame(Self, Self.Entidad);
|
|||
|
|
|
|||
|
|
Contador := -1;
|
|||
|
|
Campos := '';
|
|||
|
|
Valores := VarArrayOf([null, null, null]);
|
|||
|
|
|
|||
|
|
cbxFamilia.Items := dmTablaFamilias.darFamilias;
|
|||
|
|
TablaArticulos := (AOwner as TRdxFrameArticulos).TablaArticulos;
|
|||
|
|
with TablaArticulos do begin
|
|||
|
|
Codigo.MaxLength := FieldByName('CODIGO').Size;
|
|||
|
|
Descripcion.MaxLength := FieldByName('DESCRIPCION').Size;
|
|||
|
|
end;
|
|||
|
|
if TablaArticulos.FieldByName('CODIGO').AsString='' then;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrBuscarArticulo.bCerrarClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
CloseFrame;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrBuscarArticulo.RecogerDatos;
|
|||
|
|
begin
|
|||
|
|
Campos := '';
|
|||
|
|
Contador := -1;
|
|||
|
|
|
|||
|
|
if Length(Trim(Codigo.Text)) > 0 then
|
|||
|
|
begin
|
|||
|
|
Contador := Contador + 1;
|
|||
|
|
Campos := Campos + 'CODIGO';
|
|||
|
|
Valores[Contador] := Trim(Codigo.Text);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if Length(Trim(Descripcion.Text)) > 0 then
|
|||
|
|
begin
|
|||
|
|
Contador := Contador + 1;
|
|||
|
|
if Contador > 0 then
|
|||
|
|
Campos := Campos + ';';
|
|||
|
|
Campos := Campos + 'DESCRIPCION';
|
|||
|
|
Valores[Contador] := Trim(Descripcion.Text);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if Length(Trim(cbxFamilia.Text)) > 0 then
|
|||
|
|
begin
|
|||
|
|
Contador := Contador + 1;
|
|||
|
|
if Contador > 0 then
|
|||
|
|
Campos := Campos + ';';
|
|||
|
|
Campos := Campos + 'FAMILIA';
|
|||
|
|
Valores[Contador] := Trim(cbxFamilia.Text);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrBuscarArticulo.bBuscarClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
RecogerDatos;
|
|||
|
|
if Contador <> -1 then
|
|||
|
|
BuscarArticulo
|
|||
|
|
else
|
|||
|
|
VerMensaje(msgNoParametros);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrBuscarArticulo.BuscarArticulo;
|
|||
|
|
var
|
|||
|
|
Respuesta : integer;
|
|||
|
|
Resultado : Boolean;
|
|||
|
|
begin
|
|||
|
|
if Contador <> -1 then begin
|
|||
|
|
TablaArticulos.DisableControls;
|
|||
|
|
if Contador = 0 then
|
|||
|
|
Resultado := TablaArticulos.LocateNext(Campos, Valores[Contador], [loCaseInsensitive, loPartialKey])
|
|||
|
|
else
|
|||
|
|
Resultado := TablaArticulos.LocateNext(Campos, Valores, [loCaseInsensitive, loPartialKey]);
|
|||
|
|
if (Resultado = false) then
|
|||
|
|
begin
|
|||
|
|
Respuesta := VerMensajePregunta(msgIrInicio);
|
|||
|
|
case Respuesta of
|
|||
|
|
IDYES: TablaArticulos.First;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
TablaArticulos.EnableControls;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TfrBuscarArticulo.CloseFrame: boolean;
|
|||
|
|
begin
|
|||
|
|
FCodigoArticulo := TablaArticulos.FieldByName('CODIGO').AsString;
|
|||
|
|
Result := inherited CloseFrame;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|