De Touch&Sale

Saltar a: navegación, buscar
Línea 1: Línea 1:
Reglas de Criterio de Reposición de Productos
+
'''Reglas de Criterio de Reposición de Productos (CRP)'''
  
 +
Una regla de CRP define '''con qué criterio se repone''' cada producto en cada nodo. El motor de CRP corre periódicamente, evalúa las reglas y deja en cada par ''nodo–producto'' el criterio de reposición y sus parámetros, que después usan los procesos de compra y reposición.
  
* V.M.D = Solo aplica para productos cuya VMD coincida con este filtro.
+
Una regla se compone de tres partes:
* Cantidad Meses Sin Ventas = Solo aplica para los productos si NO tuvieron ventas en los últimos meses.
+
 
 +
# '''A quiénes alcanza''': el nodo donde se define la regla (y sus nodos hijos) y los grupos de productos asociados a la regla.
 +
# '''Filtros''': [[#Filtro por V.M.D.|V.M.D.]] y [[#Filtro por Cantidad Meses Sin Ventas|Cantidad Meses Sin Ventas]]. Acotan, dentro de esos productos, a cuáles se les aplica el criterio.
 +
# '''Parámetros de reposición''': el criterio propiamente dicho (tipo de reposición, stock mínimo/máximo, días, lote, pedido mínimo).
 +
 
 +
Si un producto '''deja de cumplir''' los filtros, el motor le '''borra''' los parámetros que le había puesto una corrida anterior. Los parámetros no quedan pegados.
 +
 
 +
== Filtros: a qué productos se les aplica la regla ==
 +
 
 +
Los dos filtros son '''opcionales''' y, cuando se cargan los dos, se aplican '''en conjunto (Y)''': el producto tiene que cumplir ambos. Si no cumple alguno, la regla no se le aplica.
 +
 
 +
=== Filtro por V.M.D. ===
 +
 
 +
Solo aplica a los productos cuya '''Venta Media Diaria''' cumple la condición elegida: <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;=</code> o <code>&lt;</code> contra el valor cargado.
 +
 
 +
* La V.M.D. es la que ya tiene calculada el producto en ese nodo (ver [[ReglaVmd|Reglas de Venta Media Diaria]]).
 +
* '''Si el producto no tiene V.M.D. calculada, la regla no se le aplica.''' Un producto nuevo, o uno que nunca entró en una regla de VMD, queda afuera.
 +
 
 +
=== Filtro por Cantidad Meses Sin Ventas ===
 +
 
 +
Solo aplica a los productos que '''no tuvieron ninguna venta''' en la ventana de meses indicada. Si tuvieron aunque sea una unidad vendida, la regla no se les aplica.
 +
 
 +
Se evalúa '''por par nodo–producto''': el mismo producto puede quedar dentro de la regla en una sucursal y afuera en otra.
 +
 
 +
==== Qué ventana de tiempo mira ====
 +
 
 +
La ventana '''no son meses corridos hacia atrás''': arranca el '''día 1''' del mes que está N meses atrás y termina al '''cierre del mes en curso'''. El mes actual siempre está incluido.
 +
 
 +
{| class="wikitable"
 +
! Cantidad Meses Sin Ventas !! Meses que revisa !! Ejemplo corriendo el 19/08/2026
 +
|-
 +
| 0 || Solo el mes en curso || 01/08/2026 al 31/08/2026
 +
|-
 +
| 1 || El mes en curso + 1 anterior || 01/07/2026 al 31/08/2026
 +
|-
 +
| 3 || El mes en curso + 3 anteriores || 01/05/2026 al 31/08/2026
 +
|-
 +
| 12 || El mes en curso + 12 anteriores || 01/08/2025 al 31/08/2026
 +
|}
 +
 
 +
'''Por eso, si querés cubrir tres meses de ventas, el valor a cargar es 2, no 3.'''
 +
 
 +
==== Ejemplo ====
 +
 
 +
Regla definida en el nodo Casa Central, con '''Cantidad Meses Sin Ventas = 3''', corriendo el 19/08/2026. La ventana revisada es 01/05/2026 al 31/08/2026.
 +
 
 +
{| class="wikitable"
 +
! Producto !! Nodo !! Ventas en la ventana !! ¿Se le aplica la regla?
 +
|-
 +
| Ibuprofeno 400 || Azul || Última venta 12/04/2026 (anterior a la ventana) || '''Sí'''
 +
|-
 +
| Ibuprofeno 400 || Tandil || Vendió 3 unidades el 02/06/2026 || No
 +
|-
 +
| Amoxicilina 500 || Azul || Nunca se vendió || '''Sí'''
 +
|}
 +
 
 +
En Azul, esos dos productos reciben los parámetros de reposición de la regla (por ejemplo "no se reponen las unidades vendidas"). En Tandil, el Ibuprofeno sigue con el criterio que le corresponda por otra regla, o sin criterio.
 +
 
 +
==== Incluye Otros: qué cuenta como venta ====
 +
 
 +
El campo '''Incluye Otros''' de la regla define si las '''transferencias internas''' entre nodos cuentan como movimiento junto con las ventas:
 +
 
 +
* '''Incluye Otros = NO''': se miran solo las ventas. Un producto que salió únicamente por transferencia a otra sucursal se considera '''sin ventas''' y la regla '''se le aplica'''.
 +
* '''Incluye Otros = SÍ''': se suman ventas y transferencias internas. Ese mismo producto se considera '''con movimiento''' y la regla '''no se le aplica'''.
 +
 
 +
==== Puntos a tener en cuenta ====
 +
 
 +
* '''Dejar el campo vacío desactiva el filtro'''; cargar '''0''' no lo desactiva: revisa el mes en curso.
 +
* El filtro mira '''cantidad vendida''', no importe facturado ni cantidad de comprobantes.
 +
* La ventana se recalcula en '''cada corrida''' del motor. Al cambiar de mes, el conjunto de productos alcanzados cambia solo: un producto que estaba adentro sale en cuanto registra una venta, y uno que estaba afuera entra cuando su última venta queda fuera de la ventana.
 +
 
 +
== Parámetros de reposición que define la regla ==
 +
 
 +
Se aplican únicamente a los productos que pasaron los filtros.
 +
 
 +
{| class="wikitable"
 +
! Tipo de Reposición
 +
|-
 +
| DIAS DE STOCK X LOTES NECESARIO ESTRICTO
 +
|-
 +
| UNIDADES MINIMAS X 1 LOTE MAXIMO
 +
|-
 +
| NO SE REPONEN LAS UNIDADES VENDIDAS
 +
|-
 +
| SE REPONEN LAS UNIDADES VENDIDAS
 +
|-
 +
| UNIDADES MINIMAS X LOTE ESTRICTO
 +
|-
 +
| UNIDADES MINIMAS X LOTES NECESARIOS ESTRICTO
 +
|}
 +
 
 +
Además: '''Stock Mínimo''', '''Stock Máximo''', '''Días Mínimo''', '''Días Máximo''', '''Lote''', '''Unidades Lote''', '''Pedido Mínimo''' y '''Observaciones'''.
 +
 
 +
=== Unidades Lote por embalaje ===
 +
 
 +
Si en '''Unidades Lote''' se carga el valor '''999999999''', el motor no usa ese número: toma el '''embalaje del producto'''. Si el producto no tiene embalaje cargado (vacío, 0 o negativo), usa '''1''' para que el pedido salga correcto.
 +
 
 +
== Prioridad y nodos hijos ==
 +
 
 +
Una regla definida en un nodo alcanza también a sus '''nodos hijos''', así que un mismo producto puede quedar alcanzado por varias reglas. La resolución es:
 +
 
 +
# Gana la regla del '''nodo más específico''' (la definida en la sucursal le gana a la definida en el nodo padre).
 +
# Entre reglas del mismo nodo, decide el campo '''Prioridad''': el número '''más bajo''' tiene precedencia.
 +
 
 +
== De dónde salen los datos ==
 +
 
 +
{| class="wikitable"
 +
! Dato !! Origen
 +
|-
 +
| Cantidad vendida por mes (filtro Cantidad Meses Sin Ventas) || '''OLAP''' (estadísticas de venta), con y sin transferencias internas según ''Incluye Otros''
 +
|-
 +
| V.M.D. del producto en el nodo || Base transaccional: la deja calculada el motor de [[ReglaVmd|Reglas de VMD]]
 +
|-
 +
| Grupos de productos, nodos, embalaje del producto || Base transaccional
 +
|-
 +
| Criterio y parámetros resultantes por nodo–producto || Base transaccional (los escribe el motor de CRP)
 +
|}
 +
 
 +
Consecuencias prácticas:
 +
 
 +
* '''Si ninguna regla del nodo tiene cargado Cantidad Meses Sin Ventas, el motor no consulta OLAP.''' Es el único filtro que necesita esa consulta.
 +
* Cuando sí la necesita, pide a OLAP una sola ventana por nodo: la del '''mayor''' Cantidad Meses Sin Ventas entre las reglas de ese nodo.
 +
* Si OLAP no está disponible en el momento de la corrida, el filtro de meses sin ventas no puede evaluarse. El de V.M.D. sí, porque ese dato ya está en la base transaccional.
 +
 
 +
== Cómo verificar qué regla se aplicó a un producto ==
 +
 
 +
Cada par nodo–producto guarda el detalle de la última evaluación, con la fecha de cálculo, el nodo y la prioridad de la regla que ganó, y los filtros que se usaron. Se ve con este formato:
 +
 
 +
Calculado: 19/08/2026 07:15:03
 +
Regla CRP:
 +
  nodo: Azul, prioridad: 1, incluyeOtros: NO
 +
  Método VMD: <= 0.5
 +
  Método Últimos N Meses sin ventas: 3
 +
  Criterio de Reposición: NO SE REPONEN LAS UNIDADES VENDIDAS
 +
  Stock Mínimo: 0
 +
  Unidades Lote: 1
 +
  Observaciones: Productos sin rotación
 +
 
 +
Si un producto no tiene ese detalle o quedó con la fecha de cálculo vieja, es que ninguna regla lo alcanzó en la última corrida.
 +
 
 +
== Ver también ==
 +
 
 +
* [[ReglaVmd|Reglas de Venta Media Diaria]]
 +
* [[Reglas para Precios de Compra]]

Revisión del 13:02 19 ago 2026

Reglas de Criterio de Reposición de Productos (CRP)

Una regla de CRP define con qué criterio se repone cada producto en cada nodo. El motor de CRP corre periódicamente, evalúa las reglas y deja en cada par nodo–producto el criterio de reposición y sus parámetros, que después usan los procesos de compra y reposición.

Una regla se compone de tres partes:

  1. A quiénes alcanza: el nodo donde se define la regla (y sus nodos hijos) y los grupos de productos asociados a la regla.
  2. Filtros: V.M.D. y Cantidad Meses Sin Ventas. Acotan, dentro de esos productos, a cuáles se les aplica el criterio.
  3. Parámetros de reposición: el criterio propiamente dicho (tipo de reposición, stock mínimo/máximo, días, lote, pedido mínimo).

Si un producto deja de cumplir los filtros, el motor le borra los parámetros que le había puesto una corrida anterior. Los parámetros no quedan pegados.

Filtros: a qué productos se les aplica la regla

Los dos filtros son opcionales y, cuando se cargan los dos, se aplican en conjunto (Y): el producto tiene que cumplir ambos. Si no cumple alguno, la regla no se le aplica.

Filtro por V.M.D.

Solo aplica a los productos cuya Venta Media Diaria cumple la condición elegida: >, >=, =, <= o < contra el valor cargado.

  • La V.M.D. es la que ya tiene calculada el producto en ese nodo (ver Reglas de Venta Media Diaria).
  • Si el producto no tiene V.M.D. calculada, la regla no se le aplica. Un producto nuevo, o uno que nunca entró en una regla de VMD, queda afuera.

Filtro por Cantidad Meses Sin Ventas

Solo aplica a los productos que no tuvieron ninguna venta en la ventana de meses indicada. Si tuvieron aunque sea una unidad vendida, la regla no se les aplica.

Se evalúa por par nodo–producto: el mismo producto puede quedar dentro de la regla en una sucursal y afuera en otra.

Qué ventana de tiempo mira

La ventana no son meses corridos hacia atrás: arranca el día 1 del mes que está N meses atrás y termina al cierre del mes en curso. El mes actual siempre está incluido.

Cantidad Meses Sin Ventas Meses que revisa Ejemplo corriendo el 19/08/2026
0 Solo el mes en curso 01/08/2026 al 31/08/2026
1 El mes en curso + 1 anterior 01/07/2026 al 31/08/2026
3 El mes en curso + 3 anteriores 01/05/2026 al 31/08/2026
12 El mes en curso + 12 anteriores 01/08/2025 al 31/08/2026

Por eso, si querés cubrir tres meses de ventas, el valor a cargar es 2, no 3.

Ejemplo

Regla definida en el nodo Casa Central, con Cantidad Meses Sin Ventas = 3, corriendo el 19/08/2026. La ventana revisada es 01/05/2026 al 31/08/2026.

Producto Nodo Ventas en la ventana ¿Se le aplica la regla?
Ibuprofeno 400 Azul Última venta 12/04/2026 (anterior a la ventana)
Ibuprofeno 400 Tandil Vendió 3 unidades el 02/06/2026 No
Amoxicilina 500 Azul Nunca se vendió

En Azul, esos dos productos reciben los parámetros de reposición de la regla (por ejemplo "no se reponen las unidades vendidas"). En Tandil, el Ibuprofeno sigue con el criterio que le corresponda por otra regla, o sin criterio.

Incluye Otros: qué cuenta como venta

El campo Incluye Otros de la regla define si las transferencias internas entre nodos cuentan como movimiento junto con las ventas:

  • Incluye Otros = NO: se miran solo las ventas. Un producto que salió únicamente por transferencia a otra sucursal se considera sin ventas y la regla se le aplica.
  • Incluye Otros = SÍ: se suman ventas y transferencias internas. Ese mismo producto se considera con movimiento y la regla no se le aplica.

Puntos a tener en cuenta

  • Dejar el campo vacío desactiva el filtro; cargar 0 no lo desactiva: revisa el mes en curso.
  • El filtro mira cantidad vendida, no importe facturado ni cantidad de comprobantes.
  • La ventana se recalcula en cada corrida del motor. Al cambiar de mes, el conjunto de productos alcanzados cambia solo: un producto que estaba adentro sale en cuanto registra una venta, y uno que estaba afuera entra cuando su última venta queda fuera de la ventana.

Parámetros de reposición que define la regla

Se aplican únicamente a los productos que pasaron los filtros.

Tipo de Reposición
DIAS DE STOCK X LOTES NECESARIO ESTRICTO
UNIDADES MINIMAS X 1 LOTE MAXIMO
NO SE REPONEN LAS UNIDADES VENDIDAS
SE REPONEN LAS UNIDADES VENDIDAS
UNIDADES MINIMAS X LOTE ESTRICTO
UNIDADES MINIMAS X LOTES NECESARIOS ESTRICTO

Además: Stock Mínimo, Stock Máximo, Días Mínimo, Días Máximo, Lote, Unidades Lote, Pedido Mínimo y Observaciones.

Unidades Lote por embalaje

Si en Unidades Lote se carga el valor 999999999, el motor no usa ese número: toma el embalaje del producto. Si el producto no tiene embalaje cargado (vacío, 0 o negativo), usa 1 para que el pedido salga correcto.

Prioridad y nodos hijos

Una regla definida en un nodo alcanza también a sus nodos hijos, así que un mismo producto puede quedar alcanzado por varias reglas. La resolución es:

  1. Gana la regla del nodo más específico (la definida en la sucursal le gana a la definida en el nodo padre).
  2. Entre reglas del mismo nodo, decide el campo Prioridad: el número más bajo tiene precedencia.

De dónde salen los datos

Dato Origen
Cantidad vendida por mes (filtro Cantidad Meses Sin Ventas) OLAP (estadísticas de venta), con y sin transferencias internas según Incluye Otros
V.M.D. del producto en el nodo Base transaccional: la deja calculada el motor de Reglas de VMD
Grupos de productos, nodos, embalaje del producto Base transaccional
Criterio y parámetros resultantes por nodo–producto Base transaccional (los escribe el motor de CRP)

Consecuencias prácticas:

  • Si ninguna regla del nodo tiene cargado Cantidad Meses Sin Ventas, el motor no consulta OLAP. Es el único filtro que necesita esa consulta.
  • Cuando sí la necesita, pide a OLAP una sola ventana por nodo: la del mayor Cantidad Meses Sin Ventas entre las reglas de ese nodo.
  • Si OLAP no está disponible en el momento de la corrida, el filtro de meses sin ventas no puede evaluarse. El de V.M.D. sí, porque ese dato ya está en la base transaccional.

Cómo verificar qué regla se aplicó a un producto

Cada par nodo–producto guarda el detalle de la última evaluación, con la fecha de cálculo, el nodo y la prioridad de la regla que ganó, y los filtros que se usaron. Se ve con este formato:

Calculado: 19/08/2026 07:15:03
Regla CRP:
 nodo: Azul, prioridad: 1, incluyeOtros: NO
 Método VMD: <= 0.5
 Método Últimos N Meses sin ventas: 3
 Criterio de Reposición: NO SE REPONEN LAS UNIDADES VENDIDAS
 Stock Mínimo: 0
 Unidades Lote: 1
 Observaciones: Productos sin rotación

Si un producto no tiene ese detalle o quedó con la fecha de cálculo vieja, es que ninguna regla lo alcanzó en la última corrida.

Ver también

Reglas de Criterio de Reposición de Productos


  • V.M.D = Solo aplica para productos cuya VMD coincida con este filtro.
  • Cantidad Meses Sin Ventas = Solo aplica para los productos si NO tuvieron ventas en los últimos meses.
new user message

Reglas de Criterio de Reposición de Productos


  • V.M.D = Solo aplica para productos cuya VMD coincida con este filtro.
  • Cantidad Meses Sin Ventas = Solo aplica para los productos si NO tuvieron ventas en los últimos meses.