De Touch&Sale
| Línea 13: | Línea 13: | ||
== Filtros: a qué productos se les aplica la regla == | == Filtros: a qué productos se les aplica la regla == | ||
| − | Los dos filtros son | + | Los dos filtros son opcionales. Cuando se cargan los dos, se aplican con criterio '''O''': alcanza con que el producto cumpla uno de los dos para que la regla se le aplique. No hace falta que cumpla ambos. |
| + | |||
| + | Si una regla no tiene cargado ninguno de los dos filtros, no se le aplica a ningún producto: el motor sólo procesa reglas que tengan al menos uno. | ||
=== Filtro por V.M.D. === | === Filtro por V.M.D. === | ||
| − | + | Alcanza 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 [[ | + | * 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, este filtro no lo alcanza. Un producto nuevo, o uno que nunca entró en una regla de VMD, queda afuera. Puede entrar igual por el filtro de meses sin ventas, si la regla lo tiene cargado. |
=== Filtro por Cantidad Meses Sin Ventas === | === Filtro por Cantidad Meses Sin Ventas === | ||
| − | + | Alcanza a los productos que no tuvieron ninguna venta en la ventana de meses indicada. Si tuvieron aunque sea una unidad vendida, este filtro no los alcanza. | |
| − | Se evalúa | + | Se evalúa por par nodo–producto: el mismo producto puede quedar dentro de la regla en un nodo y afuera en otro. |
| + | |||
| + | Se miran únicamente las ventas. Las transferencias internas entre nodos no cuentan como movimiento para este filtro, independientemente de cómo esté configurado Incluye Otros: ese campo no interviene acá (ver [[#Incluye Otros|Incluye Otros]]). | ||
==== Qué ventana de tiempo mira ==== | ==== Qué ventana de tiempo mira ==== | ||
| − | La ventana | + | 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" | {| class="wikitable" | ||
| Línea 44: | Línea 48: | ||
|} | |} | ||
| − | + | Por eso, si querés cubrir tres meses de ventas, el valor a cargar es 2, no 3. | |
| − | ==== | + | ==== 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. | ||
| + | * Ampliar el número puede sacar productos de la regla, no sumarlos. Una ventana más larga tiene más chances de encontrar una venta. Un producto cuya última venta fue en mayo entra con N=2 (ventana desde el 01/06) y deja de entrar con N=3 (ventana desde el 01/05). | ||
| + | |||
| + | == Incluye Otros == | ||
| + | |||
| + | El campo Incluye Otros define si las transferencias internas entre nodos se suman a las ventas al calcular la cantidad vendida que usan los parámetros de reposición. | ||
| + | |||
| + | * Incluye Otros = NO: se considera solo lo vendido. | ||
| + | * Incluye Otros = SÍ: se suman ventas y transferencias internas. | ||
| + | |||
| + | '''Este campo no afecta a los filtros.''' El filtro de Cantidad Meses Sin Ventas mira solo ventas en todos los casos. Un producto que salió únicamente por transferencia a otro nodo se considera sin ventas y el filtro lo alcanza, esté Incluye Otros en SÍ o en NO. | ||
| − | + | == De dónde salen los datos == | |
{| class="wikitable" | {| class="wikitable" | ||
| − | ! | + | ! Dato !! Origen |
|- | |- | ||
| − | | | + | | Ventas del período (filtro Cantidad Meses Sin Ventas) || OLAP (estadísticas de venta) |
|- | |- | ||
| − | | | + | | 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 tiene cargado Cantidad Meses Sin Ventas, el motor no consulta OLAP. Es el único filtro que necesita esa consulta. |
| − | * | + | * Cuando sí la necesita, la consulta se hace '''una vez por cada regla''' que tenga el campo cargado, abriendo y cerrando la conexión a OLAP en cada una. Dos reglas con el mismo valor de Cantidad Meses Sin Ventas generan dos consultas iguales. Es la parte más cara de la corrida. |
| − | * | + | * Si OLAP no está disponible en el momento de la corrida, el motor '''no se detiene ni avisa con un error'''. El filtro de meses sin ventas queda sin resultados y los productos se procesan como si todos tuvieran ventas. Consecuencia: a los productos que dependían de ese filtro para entrar en la regla se les borran los parámetros de reposición que les había puesto la corrida anterior. El único rastro queda en el log de la corrida, como aviso, no como error. |
| + | * El filtro de V.M.D. no se ve afectado por una caída de OLAP: ese dato ya está en la base transaccional. | ||
== Parámetros de reposición que define la regla == | == Parámetros de reposición que define la regla == | ||
Revisión del 13:41 21 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:
- 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: V.M.D. y 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.
Contenido
Filtros: a qué productos se les aplica la regla
Los dos filtros son opcionales. Cuando se cargan los dos, se aplican con criterio O: alcanza con que el producto cumpla uno de los dos para que la regla se le aplique. No hace falta que cumpla ambos.
Si una regla no tiene cargado ninguno de los dos filtros, no se le aplica a ningún producto: el motor sólo procesa reglas que tengan al menos uno.
Filtro por V.M.D.
Alcanza 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, este filtro no lo alcanza. Un producto nuevo, o uno que nunca entró en una regla de VMD, queda afuera. Puede entrar igual por el filtro de meses sin ventas, si la regla lo tiene cargado.
Filtro por Cantidad Meses Sin Ventas
Alcanza a los productos que no tuvieron ninguna venta en la ventana de meses indicada. Si tuvieron aunque sea una unidad vendida, este filtro no los alcanza.
Se evalúa por par nodo–producto: el mismo producto puede quedar dentro de la regla en un nodo y afuera en otro.
Se miran únicamente las ventas. Las transferencias internas entre nodos no cuentan como movimiento para este filtro, independientemente de cómo esté configurado Incluye Otros: ese campo no interviene acá (ver Incluye Otros).
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.
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.
- Ampliar el número puede sacar productos de la regla, no sumarlos. Una ventana más larga tiene más chances de encontrar una venta. Un producto cuya última venta fue en mayo entra con N=2 (ventana desde el 01/06) y deja de entrar con N=3 (ventana desde el 01/05).
Incluye Otros
El campo Incluye Otros define si las transferencias internas entre nodos se suman a las ventas al calcular la cantidad vendida que usan los parámetros de reposición.
- Incluye Otros = NO: se considera solo lo vendido.
- Incluye Otros = SÍ: se suman ventas y transferencias internas.
Este campo no afecta a los filtros. El filtro de Cantidad Meses Sin Ventas mira solo ventas en todos los casos. Un producto que salió únicamente por transferencia a otro nodo se considera sin ventas y el filtro lo alcanza, esté Incluye Otros en SÍ o en NO.
De dónde salen los datos
| Dato | Origen |
|---|---|
| Ventas del período (filtro Cantidad Meses Sin Ventas) | OLAP (estadísticas de venta) |
| 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 tiene cargado Cantidad Meses Sin Ventas, el motor no consulta OLAP. Es el único filtro que necesita esa consulta.
- Cuando sí la necesita, la consulta se hace una vez por cada regla que tenga el campo cargado, abriendo y cerrando la conexión a OLAP en cada una. Dos reglas con el mismo valor de Cantidad Meses Sin Ventas generan dos consultas iguales. Es la parte más cara de la corrida.
- Si OLAP no está disponible en el momento de la corrida, el motor no se detiene ni avisa con un error. El filtro de meses sin ventas queda sin resultados y los productos se procesan como si todos tuvieran ventas. Consecuencia: a los productos que dependían de ese filtro para entrar en la regla se les borran los parámetros de reposición que les había puesto la corrida anterior. El único rastro queda en el log de la corrida, como aviso, no como error.
- El filtro de V.M.D. no se ve afectado por una caída de OLAP: ese dato ya está en la base transaccional.
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:
- 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
| 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.