Ir al contenido

Importador de rutas de preventa

Nombre de la parte de datos: ruta-preventa. Recibe dos tablas, en este orden: las rutas de preventa (rutas) y la asignación de rutas a clientes (asignacion).

Este importador reemplaza por completo las rutas y sus asignaciones: al comenzar, borra todas las asignaciones de clientes a rutas e inactiva todas las rutas. Después quedan activas solo las rutas que vienen en la tabla 1 y asignadas solo las que vienen en la tabla 2. Siempre hay que enviar la información completa.

Opciones requeridas: allowRemove = true, allowCreate = true y allowUpdate = true (recomendado). Con allowCreate = true y allowUpdate = false solo se pueden crear rutas nuevas; con el inverso solo se actualizan las existentes.

Campo Tipo Descripción
codigo string Código de la ruta. Hasta 30 caracteres. No puede repetirse en el archivo.
descripcion string Hasta 90 caracteres.
vendedor string Obligatorio. Código de un empleado que tenga el tipo vendedor.
lunes, martes, miercoles, jueves, viernes, sabado, domingo boolean Días de visita de la ruta.
frecuencia string Obligatorio. Semanal, Cada2Semanas, Cada4Semanas o Eventual (distingue mayúsculas).

Un registro por cliente y ruta.

Campo Tipo Descripción
cliente string Obligatorio. Código del cliente.
ruta string Obligatorio. Código de la ruta (tiene que existir, por ejemplo por venir en la tabla 1). Un cliente no puede tener la misma ruta dos veces.
orden int Orden de visita del cliente en la ruta.
lunes, martes, miercoles, jueves, viernes, sabado, domingo boolean Días en que se visita al cliente. Ver la regla de días de visita más abajo.
frecuencia string Obligatorio. Semanal, Cada2Semanas, Cada4Semanas o Eventual.
fechaPrimeraVisita fecha Obligatoria si la frecuencia es Cada2Semanas o Cada4Semanas.
fuerzaDeVenta string Obligatorio. Código de grupo de fuerza de venta. Se pueden indicar varios separados por coma (1,2).
nombre, direccion string Informativos, se ignoran.

En la asignación, el cliente solo puede tener activados días que también estén activados en la ruta. Por ejemplo, si la ruta tiene lunes y jueves en true, el cliente puede tener lunes y jueves, solo uno de ellos o ninguno, pero no otro día. Si no se cumple, el registro se rechaza con el mensaje “Los días de la ruta X en el cliente Y son incorrectos”. Los días de la ruta que se usan para esta validación son los que se acaban de importar en la tabla 1.

[
[
{ "codigo": "450003", "descripcion": "LUNES Y JUEVES CARLOS ESCOBAR", "vendedor": "4259",
"lunes": true, "martes": false, "miercoles": false, "jueves": true,
"viernes": false, "sabado": false, "domingo": false, "frecuencia": "Semanal" },
{ "codigo": "446254", "descripcion": "JUEVES CARLOS FRAIGOLA", "vendedor": "4562",
"lunes": false, "martes": false, "miercoles": false, "jueves": true,
"viernes": false, "sabado": false, "domingo": false, "frecuencia": "Semanal" }
],
[
{ "cliente": "110028", "nombre": "GERARDO GONZALEZ", "direccion": "BLANDENGUES 1909",
"ruta": "450003", "orden": 720,
"lunes": true, "martes": false, "miercoles": false, "jueves": false,
"viernes": false, "sabado": false, "domingo": false,
"frecuencia": "Semanal", "fuerzaDeVenta": "1" },
{ "cliente": "110664", "nombre": "LEIVAS Y BICHINGUE", "direccion": "JUSTICIA 2113",
"ruta": "446254", "orden": 120,
"lunes": false, "martes": false, "miercoles": false, "jueves": true,
"viernes": false, "sabado": false, "domingo": false,
"frecuencia": "Cada2Semanas", "fechaPrimeraVisita": "2025-06-05", "fuerzaDeVenta": "1,2" }
]
]

Opciones enviadas junto con este ejemplo:

{ "allowCreate": true, "allowUpdate": true, "allowRemove": true }