git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES/trunk@4 3f40d355-893c-4141-8e64-b1d9be72e7e7
277 lines
8.1 KiB
ObjectPascal
277 lines
8.1 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;
|
|
gridArticulosDBTableView1: TcxGridDBTableView;
|
|
gridArticulosLevel1: 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 gridArticulosDBTableView1DblClick(Sender: TObject);
|
|
procedure actSeleccionarUpdate(Sender: TObject);
|
|
private
|
|
protected
|
|
procedure ActualizarBotones;
|
|
procedure BuscarArticulo; override;
|
|
procedure FreeContenido; override;
|
|
procedure InicializarTablas; virtual;
|
|
procedure CambiarModo(ModoAnterior: TRdxModo; Modo: TRdxModo);
|
|
override;
|
|
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, Literales;
|
|
|
|
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(gridArticulosDBTableView1);
|
|
gridArticulosDBTableView1.OnDblClick := gridArticulosDBTableView1DblClick;
|
|
gridArticulosDBTableView1.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
|
|
gridArticulosDBTableView1.Controller.GoToFirst
|
|
else
|
|
gridArticulosDBTableView1.Controller.TopRowIndex := gridArticulosDBTableView1.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
|
|
if TablaArticulos.RecordCount = 0 then
|
|
begin
|
|
VerMensaje(msgArtNoHayArt);
|
|
exit;
|
|
end;
|
|
|
|
if gridArticulosDBTableView1.VisibleItemCount = 0 then
|
|
begin
|
|
VerMensaje(msgArtNoHayArt);
|
|
exit;
|
|
end;
|
|
|
|
CodigoArticulo := TablaArticulos.FieldByName('CODIGO').AsString;
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.actCancelarExecute(Sender: TObject);
|
|
begin
|
|
FCodigoArticulo := NULL;
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.gridArticulosDBTableView1DblClick(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;
|
|
|
|
procedure TfrArticulosModelo.actSeleccionarUpdate(Sender: TObject);
|
|
begin
|
|
(Sender as TAction).Enabled :=
|
|
(TablaArticulos.Active) and
|
|
(TablaArticulos.RecordCount > 0) and
|
|
(gridArticulosDBTableView1.VisibleItemCount > 0);
|
|
end;
|
|
|
|
procedure TfrArticulosModelo.CambiarModo(ModoAnterior, Modo: TRdxModo);
|
|
begin
|
|
inherited;
|
|
gridArticulosDBTableView1.OptionsSelection.MultiSelect := (Modo = Seleccionar)
|
|
end;
|
|
|
|
end.
|