Integración de precios por cantidad
Este artículo tiene como objetivo explicar la integración del módulo de precio por cantidad.
Introducción
Sección titulada «Introducción»La integración del precio por cantidad se realiza enviando una cadena JSON, con las variaciones de precio por cantidad, en el campo 27 de los registros de la Tabla 13 - Precios de los productos.
A continuación presentamos un escenario práctico para facilitar su comprensión.
Escenario de ejemplo
Sección titulada «Escenario de ejemplo»Considere que el precio del producto ALIMENTO DE ARROZ BOLSA 20 KG tiene los siguientes precios:
| Descripción del rango | Cantidad mínima (>=) | Precio de lista | Descuento máximo | Precio mínimo | Recargo máximo | Precio máximo |
| Menos de 100 KG | 0 | $ 19,00 | 10% | $ 17,10 | 12% | $ 21,28 |
| Entre 100 y 200 KG | 5 | $ 18,50 | 8% | $ 17,02 | 14% | $ 21,09 |
| Entre 200 e 500 KG | 10 | $ 18,00 | 6% | $ 16,92 | 16% | $ 20,88 |
| Entre 500 y 800 KG | 25 | $ 17,50 | 4% | $ 16,80 | 18% | $ 20,65 |
| 800 KG o más | 40 | $ 17,00 | 2% | $ 16,66 | 20% | $ 20,40 |
Ejemplo completo del JSON
Sección titulada «Ejemplo completo del JSON»La cadena JSON que representa el escenario de ejemplo se muestra a continuación:
NOTA: Al final de este artículo encontrará la documentación de cada uno de los atributos del JSON.
[ { "descricao": "Menos de 100 KG", "qtdeInicial": 0, "valorUnitario": 19, "percDescontoMaximo": 10, "percAcrescimoMaximo": 12 }, { "descricao": "Entre 100 y 200 KG", "qtdeInicial": 5, "valorUnitario": 18.5, "percDescontoMaximo": 8, "percAcrescimoMaximo": 14 }, { "descricao": "Entre 200 e 500 KG", "qtdeInicial": 10, "valorUnitario": 18, "percDescontoMaximo": 6, "percAcrescimoMaximo": 16 }, { "descricao": "Entre 500 y 800 KG", "qtdeInicial": 25, "valorUnitario": 17.5, "percDescontoMaximo": 4, "percAcrescimoMaximo": 18 }, { "descricao": "800 KG o más", "qtdeInicial": 40, "valorUnitario": 17, "percDescontoMaximo": 2, "percAcrescimoMaximo": 20 }]NOTA: Para facilitar la visualización lo presentamos con saltos de línea y formateado; no obstante, al enviarlo en el diseño estándar de Demander no se deben incluir saltos de línea.
Ejemplo resumido del JSON
Sección titulada «Ejemplo resumido del JSON»A continuación preparamos la versión más sencilla del JSON, únicamente con los atributos obligatorios.
Tenga en cuenta que el rango inicial en cero es opcional; si no se especifica, la aplicación utiliza el precio habitual del producto.
[ { "qtdeInicial": 5, "valorUnitario": 18.50 }, { "qtdeInicial": 10, "valorUnitario": 18.00 }, { "qtdeInicial": 25, "valorUnitario": 17.50 }, { "qtdeInicial": 40, "valorUnitario": 17.00 }]Documentación del JSON
Sección titulada «Documentación del JSON»El JSON a enviar consta de una lista de objetos, donde cada objeto puede tener los siguientes atributos:
| Nombre | Atributo | Obligatorio | Explicación |
| Nombre del rango | descricao | No | Atributo opcional. Se puede utilizar para proporcionar una descripción para el rango. Ej: Hasta 100 KG, Más de 800 KG |
| Cantidad inicial | qtdeInicial | Sí | Determina a partir de qué cantidad del producto se aplica el precio. NOTA: Utilizamos >= (mayor o igual) para identificar el rango según la cantidad. |
| Precio | valorUnitario | Sí | Determina el valor unitario del producto. |
| % Descuento máximo | percDescontoMaximo | No | Atributo opcional. Determina el porcentaje máximo de descuento aplicable en este rango. Si no se especifica, el sistema utiliza el porcentaje predeterminado de la Tabla 13 o de la configuración de la empresa. |
| % Recargo máximo | percAcrescimoMaximo | No | Atributo opcional. Determina el porcentaje máximo de recargo aplicable en este rango. Si no se especifica, el sistema utiliza el porcentaje predeterminado de la Tabla 13 o de la configuración de la empresa. |
Ejemplo de fila de la tabla 13
Sección titulada «Ejemplo de fila de la tabla 13»A continuación presentamos un ejemplo de cómo queda una fila/registro de precio de producto con el JSON de precio por cantidad:
13|99999|48|UN||200.00|20|0|0|||||||||7.57|2.8||||||||[ { "descricao": "Menos de 100 KG", "qtdeInicial": 0, "valorUnitario": 19, "percDescontoMaximo": 10, "percAcrescimoMaximo": 12 }, { "descricao": "Entre 100 y 200 KG", "qtdeInicial": 5, "valorUnitario": 18.5, "percDescontoMaximo": 8, "percAcrescimoMaximo": 14 }, { "descricao": "Entre 200 e 500 KG", "qtdeInicial": 10, "valorUnitario": 18, "percDescontoMaximo": 6, "percAcrescimoMaximo": 16 }, { "descricao": "Entre 500 y 800 KG", "qtdeInicial": 25, "valorUnitario": 17.5, "percDescontoMaximo": 4, "percAcrescimoMaximo": 18 }, { "descricao": "800 KG o más", "qtdeInicial": 40, "valorUnitario": 17, "percDescontoMaximo": 2, "percAcrescimoMaximo": 20 }]|[ { "qtdeInicial": "5", "valorUnitario": "100.00", "percDescontoMaximo": 10.00, "percAcrescimoMaximo": 10.00 }, { "qtdeInicial": "5", "valorUnitario": "92.50", "percDescontoMaximo": 5.00, "percAcrescimoMaximo": 5.00 }, { "qtdeInicial": "20", "valorUnitario": "80.00" }]