esofitec. CoreDocs

esofitec. CoreDocs

Addons estándar / Módulo de cambio de tarifas desde compras / Instalación y soporte

Modelo de datos

El diccionario DSIT_VIV_TAR crea cuatro tablas propias, añade campos a tablas estándar de a3ERP, despliega un procedimiento almacenado y un trigger sobre FAMILIAS.

Tabla de configuración (SIT_VIVT_CONFIGURACION)#

Es la pantalla Configuración Precios y EAN13. Gobierna todo el módulo y debe tener un único registro, o ninguno.

Campo Descripción Valores
SIT_VIVT_IDENTIFICADOR Identificador (identidad, PK)
SIT_VIVT_GENERA_EAN13 Generar EAN13 automático en artículos T / F
SIT_VIVT_PREFIJO_EAN13 Prefijo del EAN13 (solo si se genera) 3 a 7 dígitos numéricos
SIT_VIVT_CALCULO_PRECIO_VENTA Origen del cálculo de tarifas SinCalculo / PrcCompra / PrcVenta
SIT_VIVT_TARIFA Tarifa 1 (coincide con el precio de venta de la ficha) Código de tarifa
SIT_VIVT_TARIFA2 … SIT_VIVT_TARIFA10 Tarifas 2 a 10 Código de tarifa
SIT_VIVT_REGISTRA_HISTORICO Registrar el histórico de auditoría de tarifas (ver más abajo) T / F, por defecto F
SIT_VIVT_APLICACION_AUTOMATICA Aplicar automáticamente, al guardar el albarán de compra, los recomendados de los artículos en modo Auto (ver más abajo) T / F, por defecto F

La Tarifa 1 es la tarifa base

SIT_VIVT_TARIFA (Tarifa 1) es obligatoria en cualquier modo y siempre se corresponde con el precio de venta de la ficha del artículo. Las tarifas en blanco se ignoran en el cálculo.

Tabla de coeficientes (SIT_VIVT_COEFICIENTES)#

Es la pantalla Coeficientes de familias y tarifas. Define, para cada combinación de familia estadística y tarifa, el coeficiente (margen) a aplicar.

Campo Descripción
SIT_VIVT_IDENTIFICADOR Identificador (identidad, PK)
CODFAM Familia estadística
TARIFA Tarifa de venta
SIT_VIVT_COEFICIENTE Coeficiente multiplicador

Solo cuentan las tarifas configuradas

Un coeficiente cuya TARIFA no figure en alguno de los diez campos de tarifa de SIT_VIVT_CONFIGURACION se ignora.

Tabla de histórico de tarifas (SIT_VIVT_HISTORICO_TARIFAS)#

Registro de auditoría, opcional (activable con SIT_VIVT_REGISTRA_HISTORICO), de cada cambio de precio de tarifa aplicado por el módulo. Se expone como pestaña de solo lectura en la ficha del artículo (relación por CODART). Ver la operativa de usuario en Histórico de tarifas y el detalle de cuándo se registra cada fila en Funcionamiento y eventos.

Campo Descripción Contenido
SIT_VIVT_FECHA_HORA Fecha y hora Cuándo se aplicó el cambio (default GETDATE())
SIT_VIVT_USUARIO Usuario Usuario a3ERP que realizó la operación, cuando el contexto lo expone
CODART Cód. artículo Artículo cuyo precio cambia
TARIFA Cód. tarifa Tarifa del tramo cambiado
SIT_VIVT_PRC_ANTERIOR Prc. anterior Precio anterior (NULL si el tramo se crea)
SIT_VIVT_PRC_NUEVO Prc. nuevo Precio aplicado
SIT_VIVT_COSTE Coste Coste total de referencia (solo desde el albarán de compra)
SIT_VIVT_ORIGEN Origen ALBARAN_COMPRA / FICHA_ARTICULO / RECALCULO_MASIVO
SIT_VIVT_NUM_DOC Nº documento Referencia legible del documento origen, si existe
SIT_VIVT_DESC_ARTICULO Artículo Descripción del artículo en el momento del cambio (instantánea)
SIT_VIVT_DESC_TARIFA Tarifa Descripción de la tarifa en el momento del cambio (instantánea)

Campos técnicos, marcados No ver y no visibles en la pestaña (solo para soporte por SQL):

Campo Contenido
SIT_VIVT_IDENTIFICADOR Identificador (identidad, PK)
SIT_VIVT_TIPO_DOC Tipo de documento origen (AC)
SIT_VIVT_ID_DOC Identificador del documento origen (IDALBC)

Instantánea, no relación en vivo

SIT_VIVT_DESC_ARTICULO y SIT_VIVT_DESC_TARIFA se guardan con el valor vigente en el momento del cambio y no se actualizan si después cambian las descripciones de artículo o tarifa.

Índice no único por (CODART, TARIFA, SIT_VIVT_FECHA_HORA) para la consulta "historia de precios de este artículo en esta tarifa".

Campos añadidos a LINEALBA (líneas de albarán)#

El módulo amplía las líneas de albarán para soportar el cálculo desde compras. Se rellenan al guardar el albarán de compra (ver Funcionamiento y eventos).

Campo Descripción
SIT_VIVT_COSTE_TOTAL Coste total del artículo en el documento (informativo)
SIT_VIVT_PRC_ACTUAL Precio de venta actual en la ficha del artículo (informativo)
SIT_VIVT_ACTUALIZA_TARIFA Marca de la línea para aplicar tarifas (T / F, por defecto F)
SIT_VIVT_PRC_RECOMENDADO Precio recomendado para la Tarifa 1
SIT_VIVT_PRC_RECOMENDADO2 … SIT_VIVT_PRC_RECOMENDADO10 Precio recomendado para las tarifas 2 a 10
SIT_VIVT_MODO_APLICADO Modo efectivo con el que el SP trató la línea (Manual / Auto / PrcFijo), etiqueta "Modo act. tarifas (solo lectura)". Puramente informativo: ninguna lógica lo lee, el modo efectivo se resuelve siempre desde ARTICULO/FAMILIAS. NULL en líneas anteriores al despliegue de este campo

Tabla de modo de tarifas por familia (SIT_VIVT_MODO_FAMILIAS)#

Modo de actualización de tarifas desde compras, persistente por familia estadística (ver Funcionamiento y eventos). Es una tabla propia del módulo, no un campo de extensión de FAMILIAS: a3ERP no muestra los campos de extensión del diccionario en la ficha de familias, así que la política por familia se edita en Adicionales de gestión, como SIT_VIVT_COEFICIENTES.

Campo Descripción Valores
SIT_VIVT_IDENTIFICADOR Identificador (identidad, PK)
CODFAM Familia estadística (clave única: una política por familia) Código de familia
SIT_VIVT_MODO_TARIFAS Modo de actualización de tarifas de la familia Manual / Auto / PrcFijo, por defecto Manual

La relación con FAMILIAS (por CODFAM) tiene borrado en cascada: al borrar una familia estadística, su fila de modo se borra con ella.

Toda familia estadística tiene su fila

Un trigger AFTER INSERT sobre FAMILIAS (filtrado a FICHERO = 'Estadis') crea automáticamente la fila con Manual al dar de alta la familia. Al actualizar una empresa con familias ya existentes, el diccionario da de alta (de forma idempotente) las filas que falten. Así nunca hace falta comprobar si una familia tiene o no fila: siempre la tiene.

Campo añadido a ARTICULO#

Campo Descripción Valores Defecto
SIT_VIVT_MODO_TARIFAS Modo de actualización de tarifas del artículo, override sobre el de su familia SegunFamilia / Manual / Auto / PrcFijo SegunFamilia

Se edita en la ficha estándar del artículo (esta sí muestra los campos de extensión).

Modo efectivo

El modo efectivo de un artículo es el suyo si es Manual/Auto/PrcFijo; con SegunFamilia (o NULL/vacío), el de la fila de su familia en SIT_VIVT_MODO_FAMILIAS (ARTICULO.CODFAMEST = SIT_VIVT_MODO_FAMILIAS.CODFAM); si la familia no tuviera fila (no debería ocurrir, ver nota anterior), Manual. En una empresa ya instalada, el diccionario rellena los artículos existentes con SegunFamilia para que ninguna ficha quede vacía.

Carga masiva inicial de modos por familia (implantación)#

La migración de valores desde el flag SGE_ESFIXE del addon heredado SGE_Gestio no es automática (esa equivalencia es por tarifa, no por familia); la política de modos se carga por SQL en cada implantación, después de aplicar el diccionario. Las filas de SIT_VIVT_MODO_FAMILIAS ya existen (las crea el trigger o el alta masiva del diccionario): solo hace falta actualizarlas. Ejemplo para poner un grupo de familias en modo automático (margen fijo) y dejar el resto en Manual (su default ya cubre esto, no hace falta tocarlas):

UPDATE SIT_VIVT_MODO_FAMILIAS SET SIT_VIVT_MODO_TARIFAS = 'Auto' WHERE CODFAM IN ('FAM1', 'FAM2', 'FAM3');

Overrides puntuales por artículo (p. ej. un artículo de una familia automática que se quiere dejar en precio fijo):

UPDATE ARTICULO SET SIT_VIVT_MODO_TARIFAS = 'PrcFijo' WHERE CODART IN ('ART001', 'ART002');

No hace falta tocar los artículos que deban seguir la política de su familia: su valor de partida (SegunFamilia) ya lo hace.

Campo añadido a TARIFAS#

Campo Descripción Valores
SIT_VIVT_IVA_INCLUIDO Indica si la tarifa trabaja con IVA incluido T / F

Este campo interviene en el cálculo (para quitar o añadir IVA) y en la propagación del IVA incluido a clientes y documentos de venta.

Procedimiento almacenado SIT_VIVT_CALCULA_PRC_RECOMENDADO#

El diccionario DSIT_VIV_TAR despliega también el procedimiento almacenado SIT_VIVT_CALCULA_PRC_RECOMENDADO, que calcula el coste total y los precios recomendados de las líneas de un albarán de compra. Resuelve el modo efectivo de cada artículo y se comporta según él: en Manual, respeta las líneas marcadas y solo recalcula las que no lo están (comportamiento histórico); en Auto, recalcula siempre y marca la línea; en PrcFijo, deja los recomendados a NULL y desmarca la línea. Su lógica completa se explica en Funcionamiento y eventos.

Tablas estándar que toca en ejecución#

Además de las anteriores, el módulo lee y escribe en estas tablas estándar durante su operación:

Tabla Uso
ARTICULO Lee PRCVENTA, CODFAMEST, TIPIVA, ESVENTA, SIT_VIVT_MODO_TARIFAS; escribe el precio de venta al aplicar tarifas
FAMILIAS El trigger de alta de SIT_VIVT_MODO_FAMILIAS lee FICHERO al dar de alta una familia
TARIFAVE Tramos de tarifa: el módulo crea o actualiza el precio de cada tramo
ALTERNA Códigos de barras alternativos: registra el EAN13 generado
CLIENTES Fuerza IVAINCLUIDO según la tarifa del cliente
DATOSCONFIG Lee NUMDECPRC (decimales de precio) para redondear
DLLS Registro de la librería escuchadora (Sit.Viv.Tar.Dll.Escuchador)