esofitec. CoreDocs

esofitec. CoreDocs

Addons estándar / Módulo de cambio de tarifas desde compras / Cálculo de tarifas

Funcionamiento y eventos

El módulo es reactivo: la DLL escuchadora actúa en los eventos de guardado de a3ERP y decide qué hacer según SIT_VIVT_CONFIGURACION. A esto se suman dos acciones que el usuario lanza explícitamente (el botón del rayo del albarán de compra y la opción de menú de recálculo masivo), atendidas por el ejecutable Sit.Viv.Tar.exe.

Esta página documenta, para cada disparo, qué evento lo provoca, qué tablas y campos toca y qué pieza lo ejecuta.

Todo el bloque de tarifas depende del campo SIT_VIVT_CALCULO_PRECIO_VENTA: con SinCalculo no hace nada.

Los eventos de guardado reaccionan al alta y a la modificación; el borrado no dispara ninguna lógica del módulo (no hay manejador de eliminación).

Al guardar un albarán de compra#

Al dar de alta o modificar un albarán de compra (evento del escuchador OnDespuesDeGuardarDocumento), el módulo ejecuta el procedimiento almacenado, pasándole el identificador del albarán:

EXEC dbo.SIT_VIVT_CALCULA_PRC_RECOMENDADO @IdAlbC;

El procedimiento recorre cada artículo distinto de las líneas del albarán y, para cada uno:

  • Calcula el coste total (SIT_VIVT_COSTE_TOTAL) como la media ponderada a las unidades del precio neto más los costes adicionales de las líneas de ese artículo, y refresca el PVP actual (SIT_VIVT_PRC_ACTUAL) con el precio de venta de la ficha. Ambos son informativos.
  • Si alguna línea de ese artículo está marcada con SIT_VIVT_ACTUALIZA_TARIFA = 'T', solo actualiza esos dos campos y no recalcula los precios recomendados, para no pisar lo que el usuario haya marcado o editado a mano.
  • Si ninguna línea está marcada, calcula los precios recomendados (SIT_VIVT_PRC_RECOMENDADOSIT_VIVT_PRC_RECOMENDADO10) como coste total × coeficiente, tomando el coeficiente de SIT_VIVT_COEFICIENTES para la familia estadística del artículo y cada tarifa configurada en SIT_VIVT_CONFIGURACION, redondeado a los decimales de precio de DATOSCONFIG.NUMDECPRC.

El cálculo es por artículo: basta con que una línea de un artículo esté marcada para que sus recomendados no se recalculen.

La operativa de usuario está en Cambio de tarifas desde compras.

Al aplicar tarifas desde el albarán (botón del rayo)#

El botón del rayo del albarán de compra ofrece la opción Actualizar tarifas, que ejecuta Sit.Viv.Tar.exe sobre los datos ya guardados del albarán y actúa solo sobre las líneas con SIT_VIVT_ACTUALIZA_TARIFA = 'T'. Según el modo de cálculo:

  • En PrcCompra, escribe ARTICULO.PRCVENTA y los tramos de TARIFAVE con los recomendados de la línea, solo para las tarifas informadas en la configuración. Si un tramo no existe, lo crea (moneda EURO, 0 unidades, fechas 01/01/190031/12/9999).
  • En PrcVenta, escribe ARTICULO.PRCVENTA y guarda la ficha, lo que encadena el recálculo del resto de tarifas (ver el evento de guardado de artículo).

La operativa de usuario está en Cambio de tarifas desde compras y, para el modo PrcVenta, en Tarifas según el precio de venta.

Al guardar un artículo#

Al dar de alta o modificar un artículo (evento del escuchador OnDespuesDeGuardarMaestro), el módulo puede actuar de dos formas independientes:

  • En modo PrcVenta, si el artículo tiene familia estadística (CODFAMEST), recalcula los tramos de TARIFAVE del artículo a partir de ARTICULO.PRCVENTA, aplicando los coeficientes de SIT_VIVT_COEFICIENTES y la marca TARIFAS.SIT_VIVT_IVA_INCLUIDO (para quitar o añadir IVA). Crea los tramos que no existan.
  • Si está activada la generación de EAN13 y el artículo es de venta, genera el código (ver más abajo).

El recálculo de tarifas en este evento tiene una limitación conocida con las modificaciones masivas (ver Errores conocidos y diagnóstico). La operativa de usuario está en Tarifas según el precio de venta.

Recálculo masivo de artículos (menú)#

La opción de menú Actualización de tarifas (Esofitec | Actualización Tarifas > Tarifas > Actualización de tarifas, ejecutada por Sit.Viv.Tar.exe) recorre todos los artículos con familia estadística aplicando el mismo cálculo que el guardado de artículo. Solo funciona en modo PrcVenta.

La operativa de usuario está en Tarifas según el precio de venta.

Al guardar un cliente#

Al dar de alta o modificar una ficha de cliente (evento del escuchador OnAntesDeGuardarMaestro), el módulo fuerza CLIENTES.IVAINCLUIDO según el valor de TARIFAS.SIT_VIVT_IVA_INCLUIDO de la tarifa informada en el cliente.

La operativa de usuario está en El IVA incluido en las tarifas.

Al guardar un documento de venta#

Al dar de alta o modificar ofertas, pedidos, albaranes y facturas de venta (evento del escuchador OnAntesDeGuardarDocumento), el módulo compara el IVA incluido del documento con TARIFAS.SIT_VIVT_IVA_INCLUIDO. Si difieren, muestra un aviso; no bloquea el guardado.

La operativa de usuario está en El IVA incluido en las tarifas.

Generación de EAN13#

También al dar de alta o modificar un artículo (evento del escuchador OnDespuesDeGuardarMaestro), si SIT_VIVT_GENERA_EAN13 = 'T', hay prefijo configurado y el artículo es de venta (ESVENTA = 'T'), el módulo registra en ALTERNA un EAN13 con la forma prefijo + correlativo + dígito de control. El correlativo se obtiene del mayor código existente con ese prefijo, de modo que no se repiten; si el artículo ya tiene un código con el prefijo, no genera otro.

La operativa de usuario está en Generación de códigos de barras EAN13.