Iniciación a SherpaBots

Iniciación a SherpaBots

1. Tablas

Como hemos visto, existen dos tablas que tenemos que conocer bien para poder cambiarlas. Tenemos ambas en la base de datos “uploads”. 

1.1 Tabla: uploads.uploads_head

Esta tabla es la tabla con los parámetros generales que hacen referencia a todo el upload. Veamos en el siguiente pantallazo un ejemplo de un upload tipo de carga de facturas de ALD R12 donde solo se recogen datos de una hoja. 

Aquí vemos los campos principales:

  • UPLOAD: hace referencia al Upload 
  • STARTROW: es la fila donde empieza a leer los datos, lo normal será que lea la cabecera para comprobar que los campos son correctos. Lo veremos en la siguiente tabla cuando configuremos el “Headcheck” (cabecera).
  • ENDROW: es la fila donde acaba de leer los datos. Luego, como veremos, dependiendo del campo MANDATORY se borrarán las líneas donde ese campo esté vacío. Por defecto, esta fila se configura con 10000 líneas que es lo que habitualmente funciona. Existen ficheros que son excepcionalmente más grandes, en ese caso podremos ampliar el número de la ENDROW
  • BASEDEDATOS: es la base de datos donde se aloja la tabla vestíbulo del Upload.
  • TABLA: es la tabla vestíbulo del Upload.
  • HOJA: es el nombre o el número de la hoja de la que recoge datos.
  • TRACKING_DB: es la base de datos donde veremos el tracking de la carga, que es el historial de cargas realizadas. Este parámetro no se altera y viene preconfigurado, veremos más adelante el detalle de este campo.

 

Además de estos campos existen otros que aplican a Uploads de texto:

SEPARADOR y DELIMITADOR.

Otra cosa que hay que tener en cuenta es que existen Uploads que cargan datos de más de una hoja. Este caso se trata como si fueran dos Uploads independientes aunque la carga se realice de manera simultánea desde el mismo archivo. Es el caso de MATRICULAS RENTINGS.

En este caso vemos cómo se recogen datos de las dos primeras hojas y cada una de las hojas vuelca los datos en una tabla hall/vestíbulo diferente.

Pero también puede ser que tengan la misma tabla hall y en que en vez del orden en el campo HOJA esté el nombre de la hoja.

Existen otros campos en esta tabla que de momento no nos interesan, así que en este tema no los tendremos en cuenta.

 

1.2 Tabla: uploads.uploads

En esta tabla veremos cómo se configuran los campos y las columnas del archivo que estamos cargando. 

Vemos a continuación el ejemplo de la carga de facturas ALD R12 que hemos visto en el primer ejemplo de la otra tabla.

Aquí vemos todas las líneas de la tabla que se relacionan con este Upload.

A continuación una pequeña descripción de cada campo:

  • UPLOAD: El Upload al que se refiere la línea.
  • HOJA: es la hoja donde se encuentra el campo que estamos definiendo
  • CAMPO: es el nombre del campo en la tabla hall.
  • COLUMNA: señala en un archivo excel la columna donde se encuentran los datos de ese campo.
  • FIJO: es un campo que nos sirve para definir un valor fijo para un campo concreto. En el ejemplo vemos que el campo ORIGEN tiene un valor en FIJO que es “ALD R12” así en la tabla hall todas las líneas de esta carga tendrán en ese campo el valor “ALD R12” . Normalmente si existe un valor FIJO la columna no tendrá valor y viceversa.
  • FIXROW: este campo sirve para fijar un campo con un valor fijo. De manera similar al anterior que se define en la tabla, en este caso podemos indicarle en qué columna y fila se encuentra el valor que queremos repetir para ese campo en todas las líneas. Por ejemplo, si en un archivo tenemos en la columna A en la fila 3 el nombre de el/a encargado/a que queremos repetir en todas las filas, en el campo COLUMNA pondremos “A” y en FIXROW pondremos 3. 

 

Hay que tener en cuenta que cuando generamos un valor FIJO o FIXROW cambia la singularidad de la carga. Esto es que cada vez que carguemos un fichero en la tabla vestíbulo se sustituirá la información que coincida con los valores fijos y fixrows de la carga.

Por ejemplo: tenemos una carga de la que tenemos un valor FIJO, normalmente el ORIGEN que viene determinado por el nombre del bloque. Eso implica que todas las veces que se suba ese bloque la información se sustituirá. Puede darse el caso de que varios bloques tengan una misma tabla vestíbulo, en ese caso esa tabla sustituirá la información de cada bloque, pero si subo info del bloque 1 y del bloque 2 se mantendrán los datos cargados desde ambos bloques.

Con el FIXROW pasa lo mismo, si en una carga tengo, por ejemplo, el nombre del proveedor en una celda fija E2, la carga sustituirá la información siempre que en esa celda ponga lo mismo, pero si es diferente acumulará la información. Así, por ejemplo, si en la celda E2 en un fichero 1 pone “BlackieBooks” y en un fichero 2 también, la info de la tabla sustituirá una por otra, pero si en un fichero 3 en esa celda pone “Anagrama” se mantendrá la última info cargada de “BlackieBooks” y la de “Anagrama”.

 

Veamos un ejemplo, en el Upload de INVOICES SOLRED tenemos la siguiente configuración:

En el Excel que se carga vemos lo siguiente:

Así, por ejemplo en la celda A3 tenemos la fecha que se repetirá en todas las líneas; lo mismo pasa con las celdas C2, D2, E2 que indica el tipo de IVA en los campos FACATIPO, FACBTIPO, FACCTIPO respectivamente. En la celda E3 tendremos el total de la factura C. Esto lo vemos luego en la tabla hall repetido en cada línea.

  • MANDATORY: En cada carga tiene que existir un único campo mandatory. Lo identificaremos indicando “1” en el campo correspondiente. El campo/columna que esté marcado como mandatory actuará a modo “guía”, como hemos visto, el excel se lee hasta el ENDROW marcado, y luego se borrarán las líneas donde el campo MANDATORY no tenga valor. En el caso del ejemplo que estamos viendo ALD R12, la columna/campo que marca las líneas a leer es MATRICULA. Así, el proceso lee hasta la ENDROW marcada (10000) y luego borra todas las líneas en las que el campo MATRÍCULA no tiene valor.
  • HEADCHECK: este campo es el que nos permite hacer las comprobaciones de cabecera. Esto sirve para asegurarnos de que el fichero que se está cargando en el bloque se corresponde con el Upload. Por ejemplo, en ALD R12 tenemos varios Headchecks. En las columnas L, M, N tenemos respectivamente: BASE, IVA, TOTAL. 

De esta manera, al empezar a leer por la línea 1 (STARTROW de uploads_heads) podemos comprobar que en esas columnas de la primera línea se corresponden con lo que pone en el head check.

Aquí vemos el excel de ALD R12:

Hay que tener en cuenta que por defecto al crear un Upload el STARTROW será la fila donde hemos indicado que está la cabecera + 1, por lo tanto si ponemos uno o varios HEADCHECK tendremos que comprobar que el STARTROW coincide con la cabecera. En el siguiente punto veremos cómo cambiarlo.

 

Deja una respuesta