{ =============================================================================== Copyright (©) 2005. 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: 30-09-2005 Versión actual: 1.0.0 Fecha versión actual: 30-09-2005 =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- =============================================================================== } unit AlbaranesClientes; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, ComCtrls, RdxBotones, ToolWin, ExtCtrls, Menus, RXDBCtrl, Configuracion, RdxFrame, Db, RdxPaneles, RdxBarras, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxEdit, cxDBData, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, am2000menuitem, am2000popupmenu, am2000, cxContainer, cxTextEdit, cxMaskEdit, cxDropDownEdit, StdCtrls, ActnList, RdxFrameAlbaranesCliente, RdxEmpresaActiva, am2000utils, cxDataStorage; type TfrAlbaranesClientes = class(TRdxFrameAlbaranesCliente) dsAlbaranes: TDataSource; BarraAlbaranes: TRdxBarraSuperior; pnlCuerpo: TRdxPanel; pnlGrid: TRdxPanel; brSeleccion: TRdxBarraInferior; bSeleccionar: TRdxBoton; bCancelar: TRdxBoton; brSimple: TRdxBarraInferior; bSalir: TRdxBoton; gridAlbaranes: TcxGrid; gridAlbaranesDBTableView1: TcxGridDBTableView; gridAlbaranesLevel1: TcxGridLevel; MenuOpciones: TPopupMenu2000; miAnadir: TMenuItem2000; miModificar: TMenuItem2000; miEliminar: TMenuItem2000; miConsultar: TMenuItem2000; miSeparador: TMenuItem2000; miImprimir: TMenuItem2000; Acciones: TActionList; actAnadir: TAction; actModificar: TAction; actEliminar: TAction; actConsultar: TAction; actImprimir: TAction; actSeleccionar: TAction; actCancelar: TAction; actAceptar: TAction; bAnadir: TRdxBotonSuperior; bModificar: TRdxBotonSuperior; bEliminar: TRdxBotonSuperior; bConsultar: TRdxBotonSuperior; bSeparador1: TShape; bImprimir: TRdxBotonSuperior; imgSombra: TImage; pnlCuerpo2: TRdxPanel; pnlExtra: TRdxBarraSuperior; bRefrescar: TRdxBoton; Panel2: TPanel; eNombre: TLabel; Buscar: TcxTextEdit; bLimpiar: TRdxBoton; procedure RdxFrameAlbaranesClienteShow(Sender: TObject); procedure actImprimirExecute(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 actAceptarExecute(Sender: TObject); procedure gridAlbaranesDBTableView1DblClick(Sender: TObject); procedure actRefrescarDatosExecute(Sender: TObject); procedure BuscarPropertiesChange(Sender: TObject); procedure bLimpiarClick(Sender: TObject); private procedure ActualizarBotones; protected procedure FreeContenido; override; procedure SetContenido (NuevoFrame : TRdxFrame); override; procedure BuscarAlbaran; override; public constructor Create (AOwner : TComponent); override; destructor Destroy; override; end; var frAlbaranesClientes: TfrAlbaranesClientes; implementation {$R *.DFM} uses BaseDatos, IBDatabase, Literales, IBCustomDataSet, Mensajes, Entidades, Variants, Constantes, TablaEmpresas, TablaAlbaranesCliente, ImprimirAlbaranCliente, AlbaranCliente; procedure TfrAlbaranesClientes.BuscarAlbaran; begin with TablaAlbaranes do begin DisableControls; Close; Open; dmTablaAlbaranesCliente.InicializarTabla(@TablaAlbaranes); ActualizarBotones; EnableControls; if not Locate('CODIGO', CodigoAlbaran, []) then gridAlbaranesDBTableView1.Controller.GoToFirst else gridAlbaranesDBTableView1.Controller.TopRowIndex := gridAlbaranesDBTableView1.Controller.FocusedRowIndex; end; end; constructor TfrAlbaranesClientes.Create(AOwner: TComponent); begin inherited Create(AOwner); Entidad := entAlbaranCliente; BaseDatos := dmBaseDatos.BD; Transaccion := dmBaseDatos.Transaccion; TablaAlbaranes := TIBDataSet.Create(Self); dsAlbaranes.DataSet := TablaAlbaranes; with TablaAlbaranes do begin Database := BaseDatos; Transaction := Transaccion; SelectSQL.Assign(dmTablaAlbaranesCliente.sqlConsultarGrid); ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo; Prepare; Open; ActualizarBotones; end; dmTablaAlbaranesCliente.InicializarTabla(@TablaAlbaranes); dmTablaAlbaranesCliente.Inicializargrid(gridAlbaranes); gridAlbaranesDBTableView1.OnDblClick := gridAlbaranesDBTableView1DblClick; gridAlbaranesDBTableView1.Controller.GoToFirst; end; destructor TfrAlbaranesClientes.Destroy; begin TablaAlbaranes.Close; TablaAlbaranes.UnPrepare; TablaAlbaranes.Free; inherited; end; procedure TfrAlbaranesClientes.FreeContenido; begin if (Contenido is TRdxFrameAlbaranesCliente) then CodigoAlbaran := (Contenido as TRdxFrameAlbaranesCliente).CodigoAlbaran; inherited FreeContenido; //gridAlbaranes.SetFocus; end; procedure TfrAlbaranesClientes.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 TablaAlbaranes.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 TfrAlbaranesClientes.RdxFrameAlbaranesClienteShow(Sender: TObject); begin Buscar.SetFocus end; procedure TfrAlbaranesClientes.SetContenido(NuevoFrame: TRdxFrame); begin inherited; if (Contenido is TfrImprimirAlbaranCliente) then (Contenido as TfrImprimirAlbaranCliente).Codigo := FCodigoAlbaran; end; procedure TfrAlbaranesClientes.actImprimirExecute(Sender: TObject); begin Contenido := TfrImprimirAlbaranCliente.Create(Self); Contenido.Modo := Imprimir; end; procedure TfrAlbaranesClientes.actAnadirExecute(Sender: TObject); begin Contenido := TfrAlbaranCliente.Create(Self); Contenido.Modo := Anadir; end; procedure TfrAlbaranesClientes.actModificarExecute(Sender: TObject); begin Contenido := TfrAlbaranCliente.Create(Self); Contenido.Modo := Modificar; end; procedure TfrAlbaranesClientes.actEliminarExecute(Sender: TObject); begin Contenido := TfrAlbaranCliente.Create(Self); Contenido.Modo := Eliminar; end; procedure TfrAlbaranesClientes.actConsultarExecute(Sender: TObject); begin Contenido := TfrAlbaranCliente.Create(Self); Contenido.Modo := Consultar; end; procedure TfrAlbaranesClientes.actSeleccionarExecute(Sender: TObject); begin CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString; CloseFrame; end; procedure TfrAlbaranesClientes.actCancelarExecute(Sender: TObject); begin FCodigoAlbaran := NULL; CloseFrame; end; procedure TfrAlbaranesClientes.actAceptarExecute(Sender: TObject); begin CloseFrame; end; procedure TfrAlbaranesClientes.gridAlbaranesDBTableView1DblClick( Sender: TObject); begin if Modo = Seleccionar then actSeleccionar.Execute else actModificar.Execute; end; procedure TfrAlbaranesClientes.actRefrescarDatosExecute(Sender: TObject); begin FCodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString; BuscarAlbaran; end; procedure TfrAlbaranesClientes.BuscarPropertiesChange(Sender: TObject); begin FiltrarGrid(gridAlbaranes, Buscar.Text); end; procedure TfrAlbaranesClientes.bLimpiarClick(Sender: TObject); begin Buscar.Text := ''; end; end.