Importación y exportación de materiales
La importación y la exportación de materiales son por proveedor. Cada archivo se procesa sobre el proveedor seleccionado y respeta la unicidad de matrícula dentro de ese proveedor.
Dónde se inicia una importación
- Ir a Materiales.
- Abrir Más acciones y elegir Importar Excel.
- Seleccionar el proveedor.
- Elegir Ir a importación.
- Subir el archivo
.csv,.xlso.xlsx.
También se puede iniciar desde el detalle de un proveedor con la acción Importar Materiales.
Exportar el catálogo de un proveedor
- Ir a Materiales.
- Abrir Más acciones y elegir Exportar Excel.
- Seleccionar el proveedor.
- Elegir Exportar Excel para descargar el catálogo.
El archivo incluye un título, la fecha de exportación, una nota de uso y luego el encabezado de datos. Sólo incluye materiales del proveedor seleccionado.
Elegir entre actualizar o crear
- Actualizar el mismo proveedor: conservar los valores de la columna
id. Cada fila actualiza el material identificado por ese ID. - Crear los materiales en otro proveedor: dejar vacías las celdas de la columna
ido eliminar la columna completa antes de importar. Cada fila se crea como un material nuevo en el proveedor de destino.
Los IDs de materiales pertenecen al proveedor desde el que se exportaron. Si se intenta usarlos al importar en otro proveedor, las filas se rechazan para evitar que se actualice información incorrecta.
La matrícula también debe ser única en el proveedor de destino. Si ya existe, se necesita el ID de ese material del proveedor de destino para actualizarlo, o se debe usar otra matrícula para crear uno nuevo.
Columnas del archivo
| Columna | Estado | Alias soportados | Regla |
|---|---|---|---|
numero_matricula | Requerida | registration_number, matricula | Debe ser única dentro del proveedor |
id | Opcional | — | Si se conserva desde una exportación, actualiza ese material dentro del proveedor seleccionado |
nombre | Requerida | name | Nombre del material |
rotacion | Opcional | turnover_rate | Acepta alta/media/baja y también high/medium/low |
categoria | Opcional | material_category | Puede ser ID existente, nombre exacto o ruta jerárquica; el nombre simple crea raíz si no existe |
id_categoria | Opcional | material_category_id, categoria_id | Si se informa junto con categoria, ambos deben identificar la misma categoría |
unidad | Opcional | unit | Si no existe, se crea automáticamente con Admite decimales desactivado |
tipo | Opcional | kind | Acepta regular, serialized, bulk o consumible |
active | Opcional | activo | Acepta Sí/No, True/False o 1/0 |
Las filas completamente vacías se omiten. Si una fila trae datos, se valida y puede generar error.
Reglas de validación
- Si falta una columna requerida, la importación falla.
- Si una matrícula aparece duplicada dentro del mismo archivo, se reporta con número de filas.
- Si la fila conserva un
idexportado, se actualiza el material correspondiente del mismo proveedor. - Si una fila sin
idusa una matrícula existente, se informa el error y se indica que debe conservarse elidpara actualizar. - Un
idde otro proveedor se rechaza y no modifica el material ajeno. El error indica que se debe vaciar esa celda para crear el material en el nuevo proveedor. - Si
categoriaes un nombre simple y no existe, se crea como categoría raíz. - Si
categoriaes ambigua, se debe informar la ruta completa o el ID. - Si
categoriaviene como ruta, se resuelve nivel por nivel y puede crear categorías faltantes. El separador recomendado es/; también se acepta>. - Si una fila crea una unidad nueva, queda configurada sin admitir decimales. Para habilitarlos hay que editar la unidad después de la importación; una unidad existente conserva su configuración.
- Si el proveedor no existe o el archivo no tiene formato válido, la importación falla.
Ejemplos de categoría
15: usa la categoría con ID15.Transformadores: si no existe, crea una categoría raíz con ese nombre.Destornilladores: usa esa categoría sólo si no hay otra con el mismo nombre en otra rama.Materiales Eléctricos/Accesorios/Empalmes/Terminales: reutiliza los nodos existentes y crea los faltantes en orden.
Procesamiento e historial
Cada carga se procesa en segundo plano y queda en historial con:
- estado (
Pendiente,Procesando,Terminado,Fallido), - archivo original,
- cantidad importada,
- cantidad de errores,
- mensajes detallados.
Esto permite auditar qué se cargó y corregir archivos en iteraciones sucesivas sin perder trazabilidad.