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/Articulos/LocalizarArticulo.pas

186 lines
5.4 KiB
ObjectPascal
Raw Permalink Normal View History

{
===============================================================================
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: 07-04-2002
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
07-04-2002 Se ha adaptado a una unica transacci<EFBFBD>n.
===============================================================================
}
unit LocalizarArticulo;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
RDXFRAME, StdCtrls, RdxComboBox, RdxBotones, RdxCampos,
ExtCtrls, Tipos, RdxBarras, RdxTitulos, IBCustomDataSet, IB,
Grids, DBGrids, RdxMemo, RdxPaneles, RdxFrameArticulos, Db, RXDBCtrl,
Mensajes, dxCntner, dxTL, dxDBCtrl, dxDBGrid;
type
TfrLocalizarArticulo = class(TRdxFrameArticulos)
RdxScrollPanel1: TRdxScrollPanel;
pnlDatos: TRdxPanel;
cDatos: TRdxCabecera;
eCodigo: TLabel;
Codigo: TRdxDBEdit;
eUnidades: TLabel;
cbxUnidadesMedida: TRdxDBComboBox;
eHastaArticulo: TLabel;
Descripcion: TRdxDBEdit;
eObservaciones: TLabel;
cbxFamilia: TRdxDBComboBox;
eFamilia: TLabel;
ePrecioEuros: TLabel;
Precio: TRdxDBEdit;
pnlAlmacenes: TRdxPanel;
cListado: TRdxCabecera;
pnlGridAlmacenes: TRdxPanel;
pnlGrid: TPanel;
dsArticulo: TDataSource;
brSimple: TRdxBarraInferior;
bAceptarSimple: TRdxBoton;
Titulo: TRdxPanelTituloOperacion;
dsAlmacenes: TDataSource;
Observaciones: TRdxDBMemo;
gridAlmacenes: TdxDBGrid;
procedure bSalirClick(Sender: TObject);
procedure CodigoButtonClick(Sender: TObject);
protected
TablaAlmacenes : TIBDataSet;
procedure FreeContenido; override;
procedure BuscarArticulo; override;
public
constructor Create (AOwner : TComponent); override;
destructor Destroy; override;
published
property TablaArticulos;
property CodigoArticulo;
end;
var
frLocalizarArticulo: TfrLocalizarArticulo;
implementation
uses
BaseDatos, TablaArticulos, Articulos, TablaAlmacenes, Excepciones,
Configuracion, RdxEmpresaActiva;
{$R *.DFM}
constructor TfrLocalizarArticulo.Create(AOwner : TComponent);
begin
inherited Create(AOwner);
Entidad := entArticulo;
ConfigurarFrame(Self, Self.Entidad);
BaseDatos := dmBaseDatos.BD;
Transaccion := dmBaseDatos.Transaccion;
TablaArticulos := TIBDataSet.Create(Self);
dsArticulo.DataSet := TablaArticulos;
TablaAlmacenes := TIBDataSet.Create(Self);
dsAlmacenes.DataSet := TablaAlmacenes;
with TablaArticulos do
begin
Database := BaseDatos;
Transaction := Transaccion;
SelectSQL.Assign(dmTablaArticulos.sqlConsultar);
RefreshSQL.Assign(dmTablaArticulos.sqlConsultar);
end;
with TablaAlmacenes do
begin
Database := BaseDatos;
Transaction := Transaccion;
SelectSQL.Assign(dmTablaAlmacenes.sqlLocalizarGrid);
end;
dmTablaAlmacenes.InicializarGridLocalizar(gridAlmacenes);
// gridAlmacenes.AutoWidth := awWidestValueTitle;
end;
procedure TfrLocalizarArticulo.bSalirClick(Sender: TObject);
begin
try
Rollback;
CloseFrame;
except
on E : EIBError do
TratarExcepcion(E);
on E : Exception do
TratarExcepcion(E);
end;
end;
procedure TfrLocalizarArticulo.BuscarArticulo;
begin
if Transaccion = NIL then
exit;
try
TablaArticulos.Close;
TablaAlmacenes.Close;
// Buscar la fila a tratar si es necesario
if not VarIsNull(CodigoArticulo) then
begin
TablaArticulos.ParamByName('CODIGO').AsString := CodigoArticulo;
TablaAlmacenes.ParamByName('CODIGOARTICULO').AsString := CodigoArticulo;
TablaAlmacenes.ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
end;
TablaArticulos.Prepare;
TablaAlmacenes.Prepare;
TablaArticulos.Open;
dmTablaArticulos.InicializarTablaArticulos(@TablaArticulos);
TablaAlmacenes.Open;
except
on E : EIBError do begin
VerMensaje(E.Message);
end;
on E : EDatabaseError do begin
VerMensaje(E.Message);
end;
end;
end;
procedure TfrLocalizarArticulo.CodigoButtonClick(Sender: TObject);
begin
ContenidoModal := TfrArticulos.Create(Self);
end;
destructor TfrLocalizarArticulo.Destroy;
begin
TablaArticulos.Close;
TablaArticulos.UnPrepare;
TablaArticulos.Free;
inherited;
end;
procedure TfrLocalizarArticulo.FreeContenido;
begin
if (ContenidoModal is TRdxFrameArticulos) then
CodigoArticulo := (ContenidoModal as TRdxFrameArticulos).CodigoArticulo;
inherited FreeContenido;
end;
end.