{ =============================================================================== 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: 03-12-2002 Versión actual: 1.0.0 Fecha versión actual: 03-12-2002 =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- =============================================================================== } unit DatosContadores; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, RDXDBFRAME, RdxBotones, ExtCtrls, RdxPaneles, RdxBarras, RdxTitulos, Grids, DBGrids, RXDBCtrl, IBCustomDataSet, Db, StdCtrls, DBTables, RdxCampos, IB, Configuracion, // Contadores TablaContadores, RdxGestorContadores, cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxSpinEdit; type TfrDatosContadores = class(TRdxDBFrame) BarraContadores: TRdxBarraSuperior; pnlCuerpo: TPanel; pnlDatos: TRdxPanel; eArticulos: TLabel; Articulos: TcxSpinEdit; pnlProveedores: TRdxPanel; eProveedores: TLabel; Proveedores: TcxSpinEdit; eFacturasProveedor: TLabel; FacturasProveedor: TcxSpinEdit; pnlClientes: TRdxPanel; eClientes: TLabel; Clientes: TcxSpinEdit; ePresupuestos: TLabel; PresupuestosCliente: TcxSpinEdit; eContratos: TLabel; AlbaranesCliente: TcxSpinEdit; eFacturasCliente: TLabel; FacturasCliente: TcxSpinEdit; ePagosProveedor: TLabel; PedidosProveedor: TcxSpinEdit; brSeleccion: TRdxBarraInferior; bAceptar: TRdxBoton; bCancelar: TRdxBoton; PedProvSerie: TcxTextEdit; FacProvSerie: TcxTextEdit; PreCliSerie: TcxTextEdit; AlbCliSerie: TcxTextEdit; FacCliSerie: TcxTextEdit; eComentario1: TLabel; eComentario2: TLabel; eComentario3: TLabel; eComentario: TLabel; imgSombra: TImage; cDatos: TRdxCabecera; RdxCabecera1: TRdxCabecera; RdxCabecera2: TRdxCabecera; Label1: TLabel; Almacenes: TcxSpinEdit; Label2: TLabel; Label3: TLabel; eAlbaranesProveedor: TLabel; AlbaranesProveedor: TcxSpinEdit; AlbProSerie: TcxTextEdit; Label5: TLabel; eAlbaranesInstalador: TLabel; AlbaranesInstalador: TcxSpinEdit; AlbInsSerie: TcxTextEdit; Label6: TLabel; procedure bCancelarClick(Sender: TObject); procedure bAceptarClick(Sender: TObject); private FTablaContadores : TdmTablaContadores; procedure InicializarContadores; function AsignarContadores: Boolean; protected procedure ActivarModoAnadir; override; public constructor Create (AOwner : TComponent); override; destructor Destroy; override; published property BaseDatos; property Transaccion; end; var frDatosContadores: TfrDatosContadores; implementation {$R *.DFM} { TfrDatosContadores } uses BaseDatos, Mensajes, Literales, Tipos, Entidades, Contadores; constructor TfrDatosContadores.Create(AOwner: TComponent); begin inherited Create(AOwner); Entidad := entOpciones; ConfigurarFrame(Self, Entidad); FTablaContadores := TdmTablaContadores.Create(Self); end; destructor TfrDatosContadores.Destroy; begin FTablaContadores.Free; FTablaContadores := Nil; inherited; end; procedure TfrDatosContadores.bCancelarClick(Sender: TObject); begin try dmBaseDatos.Rollback; CloseFrame; except on E : EIBError do begin dmBaseDatos.Rollback; VerMensaje(E.Message); end; on E : EDatabaseError do begin dmBaseDatos.Rollback; VerMensaje(E.Message); end; end; end; procedure TfrDatosContadores.InicializarContadores; begin Articulos.Text := GestorContadores.darValorContador(contArticulos); Almacenes.Text := GestorContadores.darValorContador(contAlmacenes); AlbaranesInstalador.Text := GestorContadores.darValorContador(contAlbaranesInstalador); AlbInsSerie.Text := GestorContadores.darSeriadoContador(contAlbaranesInstalador); Proveedores.Text := GestorContadores.darValorContador(contProveedores); FacturasProveedor.Text := GestorContadores.darValorContador(contFacturasProveedor); FacProvSerie.Text := GestorContadores.darSeriadoContador(contFacturasProveedor); PedidosProveedor.Text := GestorContadores.darValorContador(contPedidosProveedor); PedProvSerie.Text := GestorContadores.darSeriadoContador(contPedidosProveedor); AlbaranesProveedor.Text := GestorContadores.darValorContador(contAlbaranesProveedor); AlbProSerie.Text := GestorContadores.darSeriadoContador(contAlbaranesProveedor); Clientes.Text := GestorContadores.darValorContador(contClientes); PresupuestosCliente.Text := GestorContadores.darValorContador(contPresupuestosCliente); PreCliSerie.Text := GestorContadores.darSeriadoContador(contPresupuestosCliente); AlbaranesCliente.Text := GestorContadores.darValorContador(contAlbaranesCliente); AlbCliSerie.Text := GestorContadores.darSeriadoContador(contAlbaranesCliente); FacturasCliente.Text := GestorContadores.darValorContador(contFacturasCliente); FacCliSerie.Text := GestorContadores.darSeriadoContador(contFacturasCliente); end; function TfrDatosContadores.AsignarContadores: Boolean; begin Result := False; try if (not GestorContadores.asignarContador(contArticulos, StrToInt(Articulos.Text), NULL)) then exit; if (not GestorContadores.asignarContador(contAlmacenes, StrToInt(Almacenes.Text), NULL)) then exit; if (not GestorContadores.asignarContador(contAlbaranesInstalador, StrToInt(AlbaranesInstalador.Text), AlbInsSerie.Text)) then exit; if (not GestorContadores.asignarContador(contProveedores, StrToInt(Proveedores.Text), NULL)) then exit; if (not GestorContadores.asignarContador(contFacturasProveedor, StrToInt(FacturasProveedor.Text), FacProvSerie.Text)) then exit; if (not GestorContadores.asignarContador(contPedidosProveedor, StrToInt(PedidosProveedor.Text), PedProvSerie.Text)) then exit; if (not GestorContadores.asignarContador(contAlbaranesProveedor, StrToInt(AlbaranesProveedor.Text), AlbProSerie.Text)) then exit; if (not GestorContadores.asignarContador(contClientes, StrToInt(Clientes.Text), NULL)) then exit; if (not GestorContadores.asignarContador(contPresupuestosCliente, StrToInt(PresupuestosCliente.Text), PreCliSerie.Text)) then exit; if (not GestorContadores.asignarContador(contAlbaranesCliente, StrToInt(AlbaranesCliente.Text), AlbCliSerie.Text)) then exit; if (not GestorContadores.asignarContador(contFacturasCliente, StrToInt(FacturasCliente.Text), FacCliSerie.Text)) then exit; Result := True; except on E : EConvertError do begin verMensaje(msgOpcContadoresInc); Result := False; end; end; end; procedure TfrDatosContadores.bAceptarClick(Sender: TObject); begin try if not AsignarContadores then dmBaseDatos.Rollback else begin dmBaseDatos.Commit; CloseFrame; end; except on E : EIBError do begin dmBaseDatos.Rollback; VerMensaje(E.Message); end; on E : EDatabaseError do begin dmBaseDatos.Rollback; VerMensaje(E.Message); end; end; end; procedure TfrDatosContadores.ActivarModoAnadir; begin if FTablaContadores.bloquearRC then InicializarContadores else CloseFrame; end; end.