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
2007-06-21 15:47:20 +00:00

186 lines
5.4 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: 07-04-2002
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
07-04-2002 Se ha adaptado a una unica transacció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.