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.
Tabla 1: rutas
Sección titulada «Tabla 1: rutas»| 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). |
Tabla 2: asignacion
Sección titulada «Tabla 2: asignacion»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. |
Regla de días de visita
Sección titulada «Regla de días de visita»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.
Ejemplo
Sección titulada «Ejemplo»[ [ { "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 }