Importador de Excel
Objetivo
El objetivo de esta herramienta es poder configurar distintas importaciones de hojas de cálculo de Excel, con distintos formatos, de forma que entren en tablas intermedias que se definirán en las configuraciones. Mediante un proceso de BBDD que se podrá configurar en cada caso, se realizará la importación de estos datos a las tablas del ERP que se hayan indicado en el proceso.
Esta herramienta tiene una parte de configuración que debe realizarla una persona con los suficientes conocimientos informáticos y del ERP, y otra parte de Importación de datos que puede ser utilizada por cualquier usuario de la aplicación.
En el sistema viene pre-configurada una importación estándar para recoger las lecturas que vienen del programa KYOFLEET para máquinas multi-copiadoras, que es un formato estándar de Excel, con un proceso de BBDD estándar también para insertar la información en las tablas del ERP adecuadas.
Es importante recalcar que es imprescindible tener instalado MSExcel en el equipo en el que se vayan a ejecutar las importaciones.
Configurador de importaciones
El configurador de importaciones de Excel se encuentra en el Administrador de la aplicación. Para su uso se debe entrar en éste con el usuario ‘sa’ de SQLSERVER, ya que vamos a crear tablas de BBDD desde él. Está disponible desde la versión 4.1.0 de AHORA ERP.
Para acceder a una importación definida pulsaremos sobre la etiqueta “Id.Importación” y nos saldrá un asistente para la búsqueda de importaciones. También se puede seleccionar directamente de la lista desplegable. Podemos ver que, por defecto, existe ya una que se llama KYOFLEET. Para ponerla en funcionamiento hará falta lo siguiente:
- Rellenar el directorio de importación: donde dejaremos los ficheros de Excel que queremos importar.
- Rellenar el directorio de backup: donde el programa dejará los ficheros de Excel una vez importados a las tablas intermedias (recalcamos tablas intermedias, porque no hace falta que se haya ejecutado el proceso personalizado para importar al ERP).
- Pulsar el botón “Crear tablas intermedias”, para que se cree la tabla indicada en la sección con los campos definidos en la rejilla inferior”.
Para crear una nueva importación pulsaremos el botón “Nuevo” de la barra inferior.
Vamos a definir la rejilla de secciones:
Aquí podemos definir todas las secciones que queramos. Podríamos tener archivos de Excel con información en más de una de sus hojas, o en una misma hoja tener unos datos de cabecera y otros de detalle… Por eso damos la opción de definir distintas secciones.
Pasamos a explicar las columnas:
- IdSeccion. Es automático y de solo lectura.
- Descripción: Escribir cómo denominamos a la sección.
- Hoja: La hoja del libro de Excel que queremos importar: Hoja1, Hoja2…
- Fila inicial: Fila desde la que empezamos a leer.
- 1ª Fila de Títulos: Marcar si la fila inicial es de títulos.
- Repite: Marcar si hay que leer desde el primer registro hasta que se acaben.
- Tabla intermedia: Nombre de la tabla en la que se va a almacenar la información de esta sección. Si no se introduce nada, el programa dará un nombre automático del tipo: Importador_Excel_Ejecucion_Lineas_[Idimportacion]_[Idseccion].
Por cada sección, hay que definir los campos de la tabla intermedia y de qué columna del Excel vienen.
Pasamos a explicar las columnas:
- Fila: Número de fila donde se encuentra el dato (si hemos marcado 1ª fila de títulos en el programa y ponemos la misma fila que en la sección, el programa el sumará un 1 a la que pongamos)
- Columna: Letra de la columna de Excel.
- Campo: Nombre del campo que va a tener en la tabla. No es necesario que se llame como el campo de Excel. Si no ponemos nada, el programa asignará uno automático, del tipo Campo_[Columna]
- Tipo Dato: Tipo de dato del campo que vamos a importar, los tipos de campos son Long, Double, String, Date y Time.
- Longitud: En el caso que sea texto, qué longitud máxima va a tener.
- Nº decimales: En el caso que el campo sea decimal, cuántos decimales va a tener
- Máscara fecha: En el caso que el campo sea fecha u hora, la máscara que tienen en el libro de Excel.
Una vez tenemos creada nuestra importación, si todo es correcto, pulsaremos el botón “Crear tablas intermedias”. Éste nos creará en la BBDD de AHORA una tabla por sección, con el nombre dado en la sección y los campos definidos en la rejilla inferior.
Si, por cualquier motivo, hay que añadir o eliminar algún campo a la sección después de haber creado las tablas, mostrará un error. Para solucionarlo, debemos eliminar las tablas intermedias, añadir o eliminar los campos necesarios y volver a crear las tablas intermedias.
Importación desde el ERP
Para importar desde el ERP hay que ir al menú Gestión> Herramientas> Importaciones Excel. Si no ves esas opciones de menú, tendrás que activarlas desde el Admon.
Para seleccionar una importación, pincharemos sobre “Importación” y nos saldrá un asistente para buscar las importaciones configuradas y seleccionaremos la deseada o o la seleccionaremos de la lista desplegable.
Si existen importaciones pendientes, nos saldrán aquí cargadas. Éstas son importaciones que se han hecho ya sobre las tablas intermedias pero que, o no se han importado al ERP o, al importarse, han encontrado errores y no se han podido importar algunos registros.
Si no existen importaciones, las rejillas nos saldrán vacías. Para comenzar, debemos pulsar el botón “Importar Excel” que recorrerá los ficheros del directorio especificado en la importación e irá insertando los registros en las tablas intermedias. Si no ocurre ningún error dichos ficheros pasarán al directorio de backup.
Una vez importados los ficheros a las tablas intermedias, pulsaremos el botón “Importar ERP”. Por cada una de las importaciones, llamará al proceso configurado en la importación para pasar los registros de las tablas intermedias a sus tablas del ERP definitivas. Si ocurren errores, aparecerán en la columna errores y la importación pasará a un estado “Error en importación”, y cada uno de los detalles cambiará a estado “Importado” o “Error en importación” dependiendo si se ha podido pasar o no. Así, podremos ver en qué situación se ha quedado la importación.
Cada vez que pulsemos el botón “Importar ERP”, cogerá las importaciones en estado “Generado” o “Error en Importación” y volverá a procesarlas, sólo para aquellas líneas que estén en estado “Generado” o “Error en importación”, las líneas importadas ya no las volverá a intentar importar.
En la pestaña de “Importaciones” nos salen dos rejillas:
En la rejilla superior tenemos los ficheros que se han importado:
- Id.Ejecución: Identificador del registro.
- Fichero: Nombre del fichero importado.
- Estado: Estado de la importación:
- 0: Generado
- 1: Importado
- -1: Error en la importación
- Errores: Cadena que devuelve el proceso de importación, en el caso de que hayan ocurrido errores.
Estos datos no son editables.
En la rejilla inferior, aparece la información de las secciones que tiene dicha importación asociadas y que no es editable:
- Idejecución: identificador de la ejecución de la importación. Se refieren el id de la rejilla superior.
- Id.Sección: Identificación de la sección.
- Descrip: Descripción de la sección.
- Tabla Intermedia: Nombre de la tabla intermedia para los registros de dicha sección.
Pestaña “Detalles”:
En esta pestaña salen los registros de la tabla intermedia de la sección, con los campos que hemos definido en la configuración.
Los diferentes colores de los registros definen el estado de la importación al ERP de cada línea:
- Negro: En estado generado, la importación no los ha tratado.
- Rojo: No se ha podido importar.
- Verde: Se han importado correctamente.
En esta rejilla se pueden modificar los datos, de forma que si volveremos a pulsar “Importar ERP” tratará los registros en negro y en rojo, no tratando los verdes que ya se han importado correctamente.
Plantilla del Proceso Personalizado:
El proceso personalizado tiene que seguir una estructura para su correcto funcionamiento:
Parametros de entrada @idImportacion, @IdEjecucion
Debe importar los registros de la ejecución informada, de las tablas intermedias de cada una de las secciones de la importación pasadas.
Solo cogerá aquellos registros en estado 0 ó -1 de forma que, cuando acabe, deberá marcar cada registro como 1 si se ha importado correctamente ó -1 si no es así. Si hay registros fallidos, deberá actualizar en la tabla Importacion_Excel_Ejecucion para la ejecución informada una cadena con el mensaje de error y marcará la importación como -1.
Es importante tener en cuenta que el proceso que se ejecuta con el botón 'Importar Excel' hace un insert en la tabla intermedia por cada fila de la hoja indicada, por lo que si se trata de un fichero con muchas líneas, puede tardar varios minutos en recorrerlo.
Plantillas de Excel:
Los procesos que vienen preconfigurados en la base de datos necesitan una estructura concreta en los ficheros de Excel, para poder trabajar con éxito deben utilizar los siguientes ficheros:
- KYOFLEET: Lo genera la impresora Kyocera
- IMPORTACION INVENTARIOS-CONTEO: Generarlo desde el formulario de inventarios
- IMPORTACION NÓMINAS: Se encuentra en la carpeta de instalación del ERP > Ficheros > Importación