{ =============================================================================== Copyright (©) 2002. 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: 16-11-2002 Versión actual: 1.0.0 Fecha versión actual: 16-11-2002 =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- =============================================================================== } unit Proveedores; interface uses Dialogs, Menus, am2000menuitem, am2000popupmenu, am2000, Db, RdxBarras, Grids, DBGrids, RXDBCtrl, ExtCtrls, RdxBotones, Classes, Controls, RdxPaneles, RdxFrameProveedores, IBEvents, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxEdit, cxDBData, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, Configuracion, RdxFrame, StdCtrls, AdvPanel, ActnList, am2000utils, cxDataStorage, cxContainer, cxTextEdit; type TfrProveedores = class(TRdxFrameProveedores) BarraProveedores: TRdxBarraSuperior; bAnadir: TRdxBotonSuperior; bModificar: TRdxBotonSuperior; bEliminar: TRdxBotonSuperior; bConsultar: TRdxBotonSuperior; pnlGrid: TPanel; dsProveedores: TDataSource; brSeleccion: TRdxBarraInferior; bSeleccionar: TRdxBoton; bCancelar: TRdxBoton; MenuOpciones: TPopupMenu2000; mnuAnadir: TMenuItem2000; mnuModificar: TMenuItem2000; mnuEliminar: TMenuItem2000; mnuConsultar: TMenuItem2000; gridProveedores: TcxGrid; gridProveedoresDBTableView1: TcxGridDBTableView; gridProveedoresLevel1: TcxGridLevel; bSeparador1: TShape; pnlCuerpo: TPanel; pnlSeparador: TPanel; Acciones: TActionList; actAnadir: TAction; actModificar: TAction; actEliminar: TAction; actConsultar: TAction; actSeleccionar: TAction; actCancelar: TAction; bImprimir: TRdxBotonSuperior; actImprimir: TAction; imgSombra: TImage; pnlCuerpo2: TRdxPanel; pnlExtra: TRdxBarraSuperior; bRefrescar: TRdxBoton; Panel1: TPanel; eNombre: TLabel; Buscar: TcxTextEdit; bLimpiar: TRdxBoton; procedure RdxFrameProveedoresShow(Sender: TObject); procedure bLimpiarClick(Sender: TObject); procedure actAnadirExecute(Sender: TObject); procedure actModificarExecute(Sender: TObject); procedure actEliminarExecute(Sender: TObject); procedure actConsultarExecute(Sender: TObject); procedure actSeleccionarExecute(Sender: TObject); procedure actCancelarExecute(Sender: TObject); procedure gridProveedoresDBTableView1DblClick(Sender: TObject); procedure actImprimirExecute(Sender: TObject); procedure actRefrescarDatosExecute(Sender: TObject); procedure BuscarPropertiesChange(Sender: TObject); private procedure ActualizarBotones; protected procedure BuscarProveedor; override; procedure FreeContenido; override; public constructor Create (AOwner : TComponent); override; destructor Destroy; override; published property TablaProveedores; property Entidad; end; var frProveedores: TfrProveedores; implementation {$R *.DFM} uses IBDatabase, TablaProveedores, BaseDatos, IBCustomDataSet, Sysutils, Entidades, Variants, Proveedor, Forms, ListadoProveedores; constructor TfrProveedores.Create (AOwner : TComponent); begin inherited Create(AOwner); Entidad := entProveedor; BaseDatos := dmBaseDatos.BD; Transaccion := dmBaseDatos.Transaccion; TablaProveedores := TIBDataSet.Create(Self); dsProveedores.DataSet := TablaProveedores; with TablaProveedores do begin DisableControls; Database := BaseDatos; Transaction := Transaccion; SelectSQL.Assign(dmTablaProveedores.sqlGrid); Prepare; Open; EnableControls; ActualizarBotones; end; dmTablaProveedores.InicializarGridProveedores(gridProveedoresDBTableView1); gridProveedoresDBTableView1.OnDblClick := gridProveedoresDBTableView1DblClick; gridProveedoresDBTableView1.Controller.GoToFirst; end; destructor TfrProveedores.Destroy; begin with TablaProveedores do begin Close; UnPrepare; Free; end; inherited; end; procedure TfrProveedores.BuscarProveedor; begin with TablaProveedores do begin DisableControls; Close; Open; ActualizarBotones; EnableControls; if not Locate('CODIGO', CodigoProveedor, []) then gridProveedoresDBTableView1.Controller.GoToFirst else gridProveedoresDBTableView1.Controller.TopRowIndex := gridProveedoresDBTableView1.Controller.FocusedRowIndex; end; end; procedure TfrProveedores.FreeContenido; begin if (Contenido is TRdxFrameProveedores) then CodigoProveedor := (Contenido as TRdxFrameProveedores).CodigoProveedor; inherited FreeContenido; //gridProveedores.SetFocus; end; procedure TfrProveedores.ActualizarBotones; begin if BaseDatos.IsReadOnly then begin actAnadir.Enabled := False; actModificar.Enabled := False; actEliminar.Enabled := False; actConsultar.Enabled := True; actImprimir.Enabled := True; Exit; end; if TablaProveedores.RecordCount = 0 then begin actAnadir.Enabled := True; actModificar.Enabled := False; actEliminar.Enabled := False; actConsultar.Enabled := False; actImprimir.Enabled := False; end else begin actAnadir.Enabled := True; actModificar.Enabled := True; actEliminar.Enabled := True; actConsultar.Enabled := True; actImprimir.Enabled := True; end; end; procedure TfrProveedores.RdxFrameProveedoresShow(Sender: TObject); begin Buscar.SetFocus end; procedure TfrProveedores.bLimpiarClick(Sender: TObject); begin Buscar.Text := ''; end; procedure TfrProveedores.actAnadirExecute(Sender: TObject); begin Contenido := TfrProveedor.Create(Self); Contenido.Modo := Anadir; end; procedure TfrProveedores.actModificarExecute(Sender: TObject); begin Contenido := TfrProveedor.Create(Self); Contenido.Modo := Modificar; end; procedure TfrProveedores.actEliminarExecute(Sender: TObject); begin Contenido := TfrProveedor.Create(Self); Contenido.Modo := Eliminar; end; procedure TfrProveedores.actConsultarExecute(Sender: TObject); begin Contenido := TfrProveedor.Create(Self); Contenido.Modo := Consultar; end; procedure TfrProveedores.actSeleccionarExecute(Sender: TObject); begin CodigoProveedor := TablaProveedores.FieldByName('CODIGO').AsString; CloseFrame; end; procedure TfrProveedores.actCancelarExecute(Sender: TObject); begin CodigoProveedor := NULL; CloseFrame; end; procedure TfrProveedores.gridProveedoresDBTableView1DblClick( Sender: TObject); begin if Modo = Seleccionar then actSeleccionar.Execute else actModificar.Execute; end; procedure TfrProveedores.actImprimirExecute(Sender: TObject); begin Contenido := TfrListadoProveedores.Create(Self); Contenido.Modo := Imprimir; end; procedure TfrProveedores.actRefrescarDatosExecute(Sender: TObject); begin FCodigoProveedor := TablaProveedores.FieldByName('CODIGO').AsString; BuscarProveedor; end; procedure TfrProveedores.BuscarPropertiesChange(Sender: TObject); begin FiltrarGrid(gridProveedores, Buscar.Text); end; end.