{ =============================================================================== 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, variants, Configuracion, // Contadores TablaContadores, RdxGestorContadores, cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxSpinEdit, AdvPanel; type TfrDatosContadores = class(TRdxDBFrame) BarraContadores: TRdxBarraSuperior; pnlCuerpo: TPanel; pnlDatos: TAdvPanel; eArticulos: TLabel; Articulos: TcxSpinEdit; pnlProveedores: TAdvPanel; eProveedores: TLabel; Proveedores: TcxSpinEdit; eFacturasProveedor: TLabel; FacturasProveedor: TcxSpinEdit; pnlClientes: TAdvPanel; eClientes: TLabel; Clientes: TcxSpinEdit; ePresupuestos: TLabel; PresupuestosCliente: TcxSpinEdit; eContratos: TLabel; ContratosCliente: TcxSpinEdit; eFacturasCliente: TLabel; FacturasCliente: TcxSpinEdit; eFacturasProforma: TLabel; FacturasProforma: TcxSpinEdit; ePagosProveedor: TLabel; PagosProveedor: TcxSpinEdit; ePagosCliente: TLabel; PagosCliente: TcxSpinEdit; brSeleccion: TRdxBarraInferior; bAceptar: TRdxBoton; bCancelar: TRdxBoton; ArticulosSerie: TcxTextEdit; PagProvSerie: TcxTextEdit; FacProvSerie: TcxTextEdit; ProveedoresSerie: TcxTextEdit; ClientesSerie: TcxTextEdit; PreCliSerie: TcxTextEdit; ConCliSerie: TcxTextEdit; FacCliSerie: TcxTextEdit; FacProCliSerie: TcxTextEdit; PagCliSerie: TcxTextEdit; eComentario1: TLabel; eComentario2: TLabel; eComentario3: TLabel; eComentario4: TLabel; eComentario5: TLabel; eComentario: TLabel; imgSombra: TImage; Label1: TLabel; AlbaranesCliente: TcxSpinEdit; AlbCliSerie: TcxTextEdit; 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, 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); ArticulosSerie.Text := GestorContadores.darSeriadoContador(contArticulos); Proveedores.Text := GestorContadores.darValorContador(contProveedores); ProveedoresSerie.Text := GestorContadores.darSeriadoContador(contProveedores); FacturasProveedor.Text := GestorContadores.darValorContador(contFacturasProveedor); FacProvSerie.Text := GestorContadores.darSeriadoContador(contFacturasProveedor); PagosProveedor.Text := GestorContadores.darValorContador(contPagosProveedor); PagProvSerie.Text := GestorContadores.darSeriadoContador(contPagosProveedor); Clientes.Text := GestorContadores.darValorContador(contClientes); ClientesSerie.Text := GestorContadores.darSeriadoContador(contClientes); PresupuestosCliente.Text := GestorContadores.darValorContador(contPresupuestosCliente); PreCliSerie.Text := GestorContadores.darSeriadoContador(contPresupuestosCliente); ContratosCliente.Text := GestorContadores.darValorContador(contContratosCliente); ConCliSerie.Text := GestorContadores.darSeriadoContador(contContratosCliente); AlbaranesCliente.Text := GestorContadores.darValorContador(contAlbaranesCliente); AlbCliSerie.Text := GestorContadores.darSeriadoContador(contAlbaranesCliente); FacturasCliente.Text := GestorContadores.darValorContador(contFacturasCliente); FacCliSerie.Text := GestorContadores.darSeriadoContador(contFacturasCliente); FacturasProforma.Text := GestorContadores.darValorContador(contFacturasProforma); FacProCliSerie.Text := GestorContadores.darSeriadoContador(contFacturasProforma); PagosCliente.Text := GestorContadores.darValorContador(contPagosCliente); PagCliSerie.Text := GestorContadores.darSeriadoContador(contPagosCliente); end; function TfrDatosContadores.AsignarContadores: Boolean; begin Result := False; try if (not GestorContadores.asignarContador(contArticulos, StrToInt(Articulos.Text), ArticulosSerie.Text)) then exit; if (not GestorContadores.asignarContador(contProveedores, StrToInt(Proveedores.Text), ProveedoresSerie.Text)) then exit; if (not GestorContadores.asignarContador(contFacturasProveedor, StrToInt(FacturasProveedor.Text), FacProvSerie.Text)) then exit; if (not GestorContadores.asignarContador(contPagosProveedor, StrToInt(PagosProveedor.Text), PagProvSerie.Text)) then exit; if (not GestorContadores.asignarContador(contClientes, StrToInt(Clientes.Text), ClientesSerie.Text)) then exit; if (not GestorContadores.asignarContador(contPresupuestosCliente, StrToInt(PresupuestosCliente.Text), PreCliSerie.Text)) then exit; if (not GestorContadores.asignarContador(contContratosCliente, StrToInt(ContratosCliente.Text), ConCliSerie.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; if (not GestorContadores.asignarContador(contFacturasProforma, StrToInt(FacturasProforma.Text), FacProCliSerie.Text)) then exit; if (not GestorContadores.asignarContador(contPagosCliente, StrToInt(PagosCliente.Text), PagCliSerie.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.