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