This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
FactuGES/Opciones/DatosContadores.pas
2007-06-26 08:08:27 +00:00

234 lines
8.3 KiB
ObjectPascal

{
===============================================================================
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.