git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES/trunk@4 3f40d355-893c-4141-8e64-b1d9be72e7e7
270 lines
12 KiB
ObjectPascal
270 lines
12 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: 16-02-2004
|
|
Versión actual: 1.0.3
|
|
Fecha versión actual: 30-09-2005
|
|
===============================================================================
|
|
Modificaciones:
|
|
|
|
Fecha Comentarios
|
|
---------------------------------------------------------------------------
|
|
28-09-2004 Se ha cambiado la una linea del procedimiento inicializar contador
|
|
con el fin de no machacar el campo serie si este ya viene relleno
|
|
12-06-2005 Se añade el contador de Tareas
|
|
30-09-2005 Se añade contador de albaranes de cliente
|
|
===============================================================================
|
|
}
|
|
|
|
|
|
unit Contadores;
|
|
{Clase que se encarga de toda la gestión de contadores de la aplicación, esta unidad
|
|
gunto la unidad RdxGestorContadores sustituirán a la antigua clase contador y sus hijas}
|
|
|
|
{
|
|
Para dar de alta un contador nuevo:
|
|
- Añadir contador al tipo enumerado TRdxContadores.
|
|
- Añadir el nombre de la tabla con la que se correspondera el contador a TablasContadores.
|
|
- Añadir longitud del contador a LongitudContadores.
|
|
- Añadir el tipo de contador que es en TipoContadores.
|
|
- Añadir en el create del contador las caracteristicas de cada uno.
|
|
|
|
- Seguir pasos de unidad RdxGestorContadores.
|
|
}
|
|
|
|
interface
|
|
|
|
uses Framework, RdxEmpresaActiva;
|
|
|
|
type
|
|
|
|
//Todos los contadores de la aplicación
|
|
TContador = (contProveedores,
|
|
contClientes,
|
|
contPresupuestosCliente,
|
|
contArticulos,
|
|
contFacturasProveedor,
|
|
contFacturasCliente,
|
|
contContratosCliente,
|
|
contPagosProveedor,
|
|
contPagosCliente,
|
|
contCaja,
|
|
contBanco,
|
|
contArticulosModelo,
|
|
contFacturasProforma,
|
|
contTareas,
|
|
contAlbaranesCliente
|
|
);
|
|
|
|
//Estructura que representa a un contador
|
|
TRegistroContador = record
|
|
CodigoEmpresa : Variant;
|
|
CodigoTabla : Variant;
|
|
Tabla : Variant;
|
|
EsComun : Boolean;
|
|
Longitud : Variant;
|
|
Seriado : Variant;
|
|
Dia : Boolean;
|
|
Mes : Boolean;
|
|
Ano : Boolean;
|
|
ContDia : Variant;
|
|
ContMes : Variant;
|
|
ContAno : Variant;
|
|
Contador : Integer;
|
|
end;
|
|
|
|
{ public
|
|
property CodigoTabla : Variant read FCodigoTabla write FCodigoTabla;
|
|
property Tabla : Variant read FTabla write FTabla;
|
|
property Comun : Integer read FComun write FComun;
|
|
property Longitud : Variant read FLongitud write FLongitud;
|
|
property Seriado : Variant read FSeriado write FSeriado;
|
|
property Dia : Boolean read FDia write FDia;
|
|
property Mes : Boolean read FMes write FMes;
|
|
property Ano : Boolean read FAno write FAno;
|
|
property ContDia : Variant read FContDia write FContDia;
|
|
property ContMes : Variant read FContMes write FContMes;
|
|
property ContAno : Variant read FContAno write FContAno;
|
|
property Contador : Integer read FContador write FContador;
|
|
property CodigoEmpresa : Variant read FCodigoEmpresa write FCodigoEmpresa;
|
|
constructor Create(Contador: TRdxContadores);
|
|
destructor Destroy; override;
|
|
end;
|
|
}
|
|
|
|
const
|
|
|
|
//Nombre de las tablas con las que están relacionados los contadores
|
|
NombreTablasContadores : array [TContador] of String = (
|
|
('PROVEEDORES'), //contProveedores
|
|
('CLIENTES'), //contClientes
|
|
('PRESUPUESTOSCLIENTE'), //contPresupuestosCliente
|
|
('ARTICULOS'), //contArticulos
|
|
('FACTURASPROVEEDOR'), //contFacturasProveedor
|
|
('FACTURASCLIENTE'), //contFacturasCliente
|
|
('CONTRATOSCLIENTE'), //contContratosCliente
|
|
('PAGOSPROVEEDORES'), //contPagosProveedor
|
|
('PAGOSCLIENTE'), //contPagosCliente
|
|
('CAJA'), //contCaja
|
|
('BANCO'), //contBanco
|
|
('ARTICULOSMODELO'), //contArticulosModelo
|
|
('FACTURASPROFORMA'), //contFacturasProforma
|
|
('TAREAS'), //contTareas
|
|
('ALBARANESCLIENTE') //contAlbaranesCliente
|
|
);
|
|
|
|
|
|
procedure InicializarContador (lContador : TContador; var RegistroContador : TRegistroContador);
|
|
|
|
implementation
|
|
uses
|
|
StrFunc, Variants, BaseDatos;
|
|
|
|
const
|
|
//Longitudes de los contadores
|
|
LongitudContadores : array [TContador] of Integer = (
|
|
(10), //contProveedores
|
|
(10), //contClientes
|
|
(12), //contPresupuestosCliente
|
|
(10), //contArticulos
|
|
(12), //contFacturasProveedor
|
|
(12), //contFacturasCliente
|
|
(12), //contContratosCliente
|
|
(12), //contPagosProveedor
|
|
(12), //contPagosCliente
|
|
(10), //contCaja
|
|
(10), //contBanco
|
|
(10), //contArticulosModelo
|
|
(12), //contFacturasProforma
|
|
(9), //contTareas
|
|
(12) //contAlbaranesCliente
|
|
);
|
|
|
|
//Tipo de los contadores
|
|
// 1: Comun (Se creara un solo detalle), 0: Multimepresa (Se crearán tantos detalles como empresas haya)
|
|
tcComunes = [contProveedores, contClientes, contPresupuestosCliente, contArticulos,
|
|
contContratosCliente, contArticulosModelo, contTareas];
|
|
|
|
// Seriados de los contadores
|
|
SeriadoContadores : array [TContador] of String = (
|
|
('SERIADO_PROVEEDOR'), //contProveedores
|
|
('SERIADO_CLIENTE'), //contClientes
|
|
('SERIADO_PRESUPUESTO'), //contPresupuestosCliente
|
|
('SERIADO_ARTICULO'), //contArticulos
|
|
('SERIADO_FACPROVEEDOR'), //contFacturasProveedor
|
|
('SERIADO_FACCLIENTE'), //contFacturasCliente
|
|
('SERIADO_CONTRATO'), //contContratosCliente
|
|
('SERIADO_PAGPROVEEDOR'), //contPagosProveedor
|
|
('SERIADO_PAGCLIENTE'), //contPagosCliente
|
|
(''), //contCaja
|
|
(''), //contBanco
|
|
('SERIADO_ARTMODELO'), //contArticulosModelo
|
|
('SERIADO_FACPROFORMA'), //contFacturasProforma
|
|
(''), //contTareas
|
|
('SERIADO_ALBARANESCLIENTE') //contAlbaranesCliente
|
|
);
|
|
|
|
DiaContadores : array [TContador] of Boolean = (
|
|
(False), //contProveedores
|
|
(False), //contClientes
|
|
(False), //contPresupuestosCliente
|
|
(False), //contArticulos
|
|
(False), //contFacturasProveedor
|
|
(False), //contFacturasCliente
|
|
(False), //contContratosCliente
|
|
(False), //contPagosProveedor
|
|
(False), //contPagosCliente
|
|
(False), //contCaja
|
|
(False), //contBanco
|
|
(False), //contArticulosModelo
|
|
(False), //contFacturasProforma
|
|
(False), //contTareas
|
|
(False) //contAlbaranesCliente
|
|
);
|
|
|
|
MesContadores : array [TContador] of Boolean = (
|
|
(False), //contProveedores
|
|
(False), //contClientes
|
|
(False), //contPresupuestosCliente
|
|
(False), //contArticulos
|
|
(False), //contFacturasProveedor
|
|
(False), //contFacturasCliente
|
|
(False), //contContratosCliente
|
|
(False), //contPagosProveedor
|
|
(False), //contPagosCliente
|
|
(False), //contCaja
|
|
(False), //contBanco
|
|
(False), //contArticulosModelo
|
|
(False), //contFacturasProforma
|
|
(False), //contTareas
|
|
(False) //contAlbaranesCliente
|
|
);
|
|
|
|
AnoContadores : array [TContador] of Boolean = (
|
|
(False), //contProveedores
|
|
(False), //contClientes
|
|
(True), //contPresupuestosCliente
|
|
(False), //contArticulos
|
|
(True), //contFacturasProveedor
|
|
(True), //contFacturasCliente
|
|
(True), //contContratosCliente
|
|
(False), //contPagosProveedor
|
|
(False), //contPagosCliente
|
|
(False), //contCaja
|
|
(False), //contBanco
|
|
(False), //contArticulosModelo
|
|
(True), //contFacturasProforma
|
|
(True), //contTareas
|
|
(True) //contAlbaranesCliente
|
|
);
|
|
|
|
procedure InicializarContador (lContador : TContador; var RegistroContador : TRegistroContador);
|
|
begin
|
|
with RegistroContador do
|
|
begin
|
|
Tabla := NombreTablasContadores[lContador];
|
|
EsComun := (lContador in tcComunes);
|
|
Longitud := LongitudContadores[lContador];
|
|
|
|
if EsCadenaVacia(Seriado) then
|
|
begin
|
|
// Seriado := SeriadoContadores[lContador];
|
|
case lContador of
|
|
contProveedores: Seriado := dmBaseDatos.DarSerieConfiguracion(SeriadoContadores[lContador]);
|
|
contClientes: Seriado := dmBaseDatos.DarSerieConfiguracion(SeriadoContadores[lContador]);
|
|
contPresupuestosCliente: Seriado := dmBaseDatos.DarSerieConfiguracion(SeriadoContadores[lContador]);
|
|
contArticulos: Seriado := dmBaseDatos.DarSerieConfiguracion(SeriadoContadores[lContador]);
|
|
contFacturasProveedor:Seriado := dmBaseDatos.DarSerieConfiguracion(SeriadoContadores[lContador]);
|
|
contFacturasCliente: Seriado := dmBaseDatos.DarSerieConfiguracion(SeriadoContadores[lContador]);
|
|
contContratosCliente: Seriado := dmBaseDatos.DarSerieConfiguracion(SeriadoContadores[lContador]);
|
|
contPagosProveedor: Seriado := dmBaseDatos.DarSerieConfiguracion(SeriadoContadores[lContador]);
|
|
contPagosCliente: Seriado := dmBaseDatos.DarSerieConfiguracion(SeriadoContadores[lContador]);
|
|
contArticulosModelo: Seriado := dmBaseDatos.DarSerieConfiguracion(SeriadoContadores[lContador]);
|
|
contFacturasProforma: Seriado := dmBaseDatos.DarSerieConfiguracion(SeriadoContadores[lContador]);
|
|
contAlbaranesCliente: Seriado := dmBaseDatos.DarSerieConfiguracion(SeriadoContadores[lContador]);
|
|
else Seriado := '';
|
|
end;
|
|
end;
|
|
|
|
Dia := DiaContadores[lContador];
|
|
Mes := MesContadores[lContador];
|
|
Ano := AnoContadores[lContador];
|
|
ContDia := NULL;
|
|
ContMes := NULL;
|
|
ContAno := NULL;
|
|
Contador := 0;
|
|
end;
|
|
end;
|
|
|
|
|
|
end.
|