This repository has been archived on 2024-11-29. You can view files and clone it, but cannot push or open issues or pull requests.
Tecsitel_FactuGES/Opciones/DatosContadores.pas

231 lines
8.0 KiB
ObjectPascal
Raw Normal View History

{
===============================================================================
Copyright (<EFBFBD>) 2002. Rodax Software.
===============================================================================
Los contenidos de este fichero son propiedad de Rodax Software titular del
copyright. Este fichero s<EFBFBD>lo podr<EFBFBD> ser copiado, distribuido y utilizado,
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
acuerdo con los t<EFBFBD>rminos y condiciones establecidas en el acuerdo/contrato
bajo el que se suministra.
-----------------------------------------------------------------------------
Web: www.rodax-software.com
===============================================================================
Fecha primera versi<EFBFBD>n: 03-12-2002
Versi<EFBFBD>n actual: 1.0.0
Fecha versi<EFBFBD>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.