git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES/trunk@4 b68bf8ae-e977-074f-a058-3cfd71dd8f45
171 lines
4.9 KiB
ObjectPascal
171 lines
4.9 KiB
ObjectPascal
{
|
|
===============================================================================
|
|
Copyright (©) 2001. 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: 01-10-2001
|
|
Versión actual: 1.0.1
|
|
Fecha versió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.
|