This repository has been archived on 2024-11-29. You can view files and clone it, but cannot push or open issues or pull requests.
Tecsitel_FactuGES/Almacenes/BuscarMovimiento.pas
2007-06-21 15:47:20 +00:00

202 lines
5.8 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: 04-10-2004
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
04-10-2004 Se añade unidad cambiarEntidad para que pueda cambiar de color
dependiendo del modulo desde el que se la llama
===============================================================================
}
unit BuscarMovimiento;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, IBQuery, StdCtrls, DB, RdxBotones, RdxBarras, RdxComboBox,
RdxCampos, RdxTitulos, RdxPaneles, Tipos, Mensajes,
RdxFrame, RdxDBFrame, RdxFrameHistoricoMovimientos;
type
TfrBuscarMovimiento = class(TRdxFrameHistoricoMovimientos)
brBuscar: TRdxBarraInferior;
bBuscar: TRdxBoton;
bCerrar: TRdxBoton;
RdxPanel1: TRdxPanel;
RdxCabecera1: TRdxCabecera;
cbxTipoMovimiento: TRdxComboBox;
eTipoMovimiento: TLabel;
eCodigo: TLabel;
eDescripcion: TLabel;
eFamilia: TLabel;
Codigo: TRdxEdit;
Descripcion: TRdxEdit;
cbxFamilia: TRdxComboBox;
procedure bCerrarClick(Sender: TObject);
procedure bBuscarClick(Sender: TObject);
procedure RecogerDatos;
protected
procedure BuscarMovimiento; override;
procedure BuscarAlmacen; override;
function CloseFrame : boolean; override;
function CambiarEntidad (EntidadAnterior, Entidad : TRdxEntidad): Boolean; override;
public
constructor Create (AOwner : TComponent); override;
published
property TablaMovimientos;
property CodigoMovimiento;
property CodigoAlmacen;
end;
var
frBuscarMovimiento: TfrBuscarMovimiento;
implementation
{$R *.DFM}
uses
BaseDatos, HistoricoMovimientos, TablaFamilias, TablaMovimientos,
Configuracion, Literales;
var
Campos : String;
Valores : Variant;
Contador : Integer;
constructor TfrBuscarMovimiento.Create (AOwner : TComponent);
begin
if not (AOwner is TRdxFrameHistoricoMovimientos) then
exit;
inherited Create(AOwner);
Entidad := entMovimiento;
ConfigurarFrame(Self, Self.Entidad);
Contador := -1;
Campos := '';
Valores := VarArrayOf([null, null, null]);
cbxFamilia.Items := dmTablaFamilias.darFamilias;
cbxTipoMovimiento.Items := dmTablaMovimientos.DarTiposMovimientos;
TablaMovimientos := (AOwner as TRdxFrameHistoricoMovimientos).TablaMovimientos;
with TablaMovimientos do begin
Codigo.MaxLength := FieldByName('CODIGOARTICULO').Size;
Descripcion.MaxLength := FieldByName('DESCRIPCIONARTICULO').Size;
end;
end;
procedure TfrBuscarMovimiento.bCerrarClick(Sender: TObject);
begin
inherited;
CloseFrame;
end;
procedure TfrBuscarMovimiento.bBuscarClick(Sender: TObject);
begin
RecogerDatos;
if Contador <> -1 then
BuscarMovimiento
else
VerMensaje(msgNoParametros);
end;
procedure TfrBuscarMovimiento.BuscarAlmacen;
begin
//
end;
procedure TfrBuscarMovimiento.BuscarMovimiento;
var
Respuesta : integer;
Resultado : Boolean;
begin
if Contador <> -1 then begin
TablaMovimientos.DisableControls;
if Contador = 0
then Resultado := TablaMovimientos.LocateNext(Campos, Valores[Contador], [loCaseInsensitive, loPartialKey])
else Resultado := TablaMovimientos.LocateNext(Campos, Valores, [loCaseInsensitive, loPartialKey]);
if (Resultado = false) then
begin
Respuesta := VerMensajePregunta(msgIrInicio);
case Respuesta of
IDYES: TablaMovimientos.First;
end;
end;
TablaMovimientos.EnableControls;
end;
end;
procedure TfrBuscarMovimiento.RecogerDatos;
begin
Campos := '';
Contador := -1;
if Length(Trim(Codigo.Text)) > 0 then
begin
Contador := Contador + 1;
Campos := Campos + 'CODIGOARTICULO';
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 + 'DESCRIPCIONARTICULO';
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;
if Length(Trim(cbxTipoMovimiento.Text)) > 0 then
begin
Contador := Contador + 1;
if Contador > 0 then
Campos := Campos + ';';
Campos := Campos + 'TIPOMOVIMIENTO';
Valores[Contador] := Trim(cbxTipoMovimiento.Text);
end;
end;
function TfrBuscarMovimiento.CloseFrame: boolean;
begin
FCodigoMovimiento := TablaMovimientos.FieldByName('CODIGO').AsString;
Result := inherited CloseFrame;
end;
function TfrBuscarMovimiento.CambiarEntidad(EntidadAnterior,
Entidad: TRdxEntidad): Boolean;
begin
if not inherited CambiarEntidad(EntidadAnterior, Entidad) then
Exit;
ConfigurarFrame(Self, Self.Entidad);
end;
end.