git-svn-id: https://192.168.0.254/svn/Proyectos.Miguelo_FactuGES/trunk@4 172823e9-465a-9d4b-80ba-0a9f016f4eb1
248 lines
7.3 KiB
ObjectPascal
248 lines
7.3 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: 13-05-2002
|
|
Versión actual: 1.0.0
|
|
Fecha versión actual: 13-05-2002
|
|
===============================================================================
|
|
Modificaciones:
|
|
|
|
Fecha Comentarios
|
|
---------------------------------------------------------------------------
|
|
===============================================================================
|
|
}
|
|
|
|
unit ArticulosModelo;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
Db, DBTables, Grids, DBGrids, ComCtrls, IBDatabase, ToolWin, ExtCtrls,
|
|
IBCustomDataSet, IBQuery, RXDBCtrl, RdxPaneles, RdxBarras,
|
|
RdxBotones, Mensajes, RdxFrameArticulos, Configuracion,
|
|
cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxEdit, cxDBData,
|
|
cxGridLevel, cxClasses,
|
|
cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
|
|
cxGridDBTableView, cxGrid, RdxFrame, Menus, am2000menuitem,
|
|
am2000popupmenu, am2000, StdCtrls, RdxComboBox, RdxCampos, AdvPanel, cxContainer,
|
|
cxTextEdit, cxMaskEdit, cxDropDownEdit, cxLookupEdit, cxDBLookupEdit,
|
|
cxDBLookupComboBox, DBCtrls, ActnList, am2000utils, cxDataStorage;
|
|
|
|
type
|
|
TfrArticulosModelo = class(TRdxFrameArticulos)
|
|
brSeleccion: TRdxBarraInferior;
|
|
bSeleccionar: TRdxBoton;
|
|
bCancelar: TRdxBoton;
|
|
dsArticulos: TDataSource;
|
|
BarraSuperior: TRdxBarraSuperior;
|
|
bConsultar: TRdxBotonSuperior;
|
|
bEliminar: TRdxBotonSuperior;
|
|
bModificar: TRdxBotonSuperior;
|
|
bAnadir: TRdxBotonSuperior;
|
|
MenuOpciones: TPopupMenu2000;
|
|
mnuAnadir: TMenuItem2000;
|
|
mnuModificar: TMenuItem2000;
|
|
mnuEliminar: TMenuItem2000;
|
|
mnuConsultar: TMenuItem2000;
|
|
pnlCuerpo: TPanel;
|
|
pnlGrid: TPanel;
|
|
gridArticulos: TcxGrid;
|
|
gridArticulosView: TcxGridDBTableView;
|
|
gridArticulosLevel: TcxGridLevel;
|
|
Acciones: TActionList;
|
|
actAnadir: TAction;
|
|
actModificar: TAction;
|
|
actEliminar: TAction;
|
|
actConsultar: TAction;
|
|
actSeleccionar: TAction;
|
|
actCancelar: TAction;
|
|
imgSombra: TImage;
|
|
procedure gridArticulosRefreshButton(Sender: TObject);
|
|
procedure RdxFrameArticulosShow(Sender: TObject);
|
|
procedure actAnadirExecute(Sender: TObject); virtual;
|
|
procedure actModificarExecute(Sender: TObject); virtual;
|
|
procedure actEliminarExecute(Sender: TObject); virtual;
|
|
procedure actConsultarExecute(Sender: TObject); virtual;
|
|
procedure actSeleccionarExecute(Sender: TObject);
|
|
procedure actCancelarExecute(Sender: TObject);
|
|
procedure gridArticulosViewDblClick(Sender: TObject);
|
|
private
|
|
protected
|
|
procedure ActualizarBotones;
|
|
procedure BuscarArticulo; override;
|
|
procedure FreeContenido; override;
|
|
procedure InicializarTablas; virtual;
|
|
public
|
|
constructor Create (AOwner : TComponent); overload; override;
|
|
destructor Destroy; override;
|
|
published
|
|
property TablaArticulos;
|
|
property Entidad;
|
|
end;
|
|
|
|
var
|
|
frArticulosModelo: TfrArticulosModelo;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
|
|
uses
|
|
Variants, BaseDatos, Entidades, TablaArticulos, ArticuloModelo;
|
|
|
|
constructor TfrArticulosModelo.Create (AOwner : TComponent);
|
|
begin
|
|
inherited Create(AOwner);
|
|
BaseDatos := dmBaseDatos.BD;
|
|
Transaccion := dmBaseDatos.Transaccion;
|
|
TablaArticulos := TIBDataSet.Create(Self);
|
|
dsArticulos.DataSet := TablaArticulos;
|
|
|
|
InicializarTablas;
|
|
|
|
dmTablaArticulos.InicializarGridArticulos(gridArticulosView);
|
|
gridArticulosView.OnDblClick := gridArticulosViewDblClick;
|
|
gridArticulosView.Controller.GoToFirst;
|
|
end;
|
|
|
|
destructor TfrArticulosModelo.Destroy;
|
|
begin
|
|
TablaArticulos.Close;
|
|
TablaArticulos.UnPrepare;
|
|
TablaArticulos.Free;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.BuscarArticulo;
|
|
begin
|
|
with TablaArticulos do
|
|
begin
|
|
DisableControls;
|
|
Close;
|
|
Open;
|
|
ActualizarBotones;
|
|
|
|
EnableControls;
|
|
if not Locate('CODIGO', CodigoArticulo, []) then
|
|
gridArticulosView.Controller.GoToFirst
|
|
else
|
|
gridArticulosView.Controller.TopRowIndex := gridArticulosView.Controller.FocusedRowIndex;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.FreeContenido;
|
|
begin
|
|
if (Contenido is TRdxFrameArticulos) then
|
|
CodigoArticulo := (Contenido as TRdxFrameArticulos).CodigoArticulo;
|
|
inherited FreeContenido;
|
|
gridArticulos.SetFocus;
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.ActualizarBotones;
|
|
begin
|
|
if BaseDatos.IsReadOnly then
|
|
begin
|
|
actAnadir.Enabled := False;
|
|
actModificar.Enabled := False;
|
|
actEliminar.Enabled := False;
|
|
actConsultar.Enabled := True;
|
|
Exit;
|
|
end;
|
|
|
|
if TablaArticulos.RecordCount = 0 then begin
|
|
actAnadir.Enabled := True;
|
|
actModificar.Enabled := False;
|
|
actEliminar.Enabled := False;
|
|
actConsultar.Enabled := False;
|
|
end
|
|
else begin
|
|
actAnadir.Enabled := True;
|
|
actModificar.Enabled := True;
|
|
actEliminar.Enabled := True;
|
|
actConsultar.Enabled := True;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.gridArticulosRefreshButton(Sender: TObject);
|
|
begin
|
|
BuscarArticulo;
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.RdxFrameArticulosShow(Sender: TObject);
|
|
begin
|
|
gridArticulos.SetFocus
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.actAnadirExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrArticuloModelo.Create(Self);
|
|
Contenido.Modo := Anadir;
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.actModificarExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrArticuloModelo.Create(Self);
|
|
Contenido.Modo := Modificar;
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.actEliminarExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrArticuloModelo.Create(Self);
|
|
Contenido.Modo := Eliminar;
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.actConsultarExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrArticuloModelo.Create(Self);
|
|
Contenido.Modo := Consultar;
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.actSeleccionarExecute(Sender: TObject);
|
|
begin
|
|
CodigoArticulo := TablaArticulos.FieldByName('CODIGO').AsString;
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.actCancelarExecute(Sender: TObject);
|
|
begin
|
|
FCodigoArticulo := NULL;
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.gridArticulosViewDblClick(Sender: TObject);
|
|
begin
|
|
if Modo = Seleccionar then
|
|
actSeleccionar.Execute
|
|
else
|
|
actModificar.Execute;
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.InicializarTablas;
|
|
begin
|
|
Entidad := entArticuloModelo;
|
|
|
|
with TablaArticulos do
|
|
begin
|
|
DisableControls;
|
|
Database := BaseDatos;
|
|
Transaction := Transaccion;
|
|
SelectSQL.Assign(dmTablaArticulos.sqlGridArtModelo);
|
|
Prepare;
|
|
Open;
|
|
ActualizarBotones;
|
|
EnableControls;
|
|
end;
|
|
end;
|
|
|
|
end.
|