-
Introducción, pequeños ejemplos de SherpaBots. Iniciación a los conceptos básicos para entender la formación.
Aquí veremos varios elementos básicos de SherpaBots para ir familiarizándonos con ellos.
-
Tema 1 - Uploads
Un Upload es un proceso mediante el cual se puede cargar a un servidor archivos de excel y texto. La carga se configura de manera que los datos se integran en una tabla dentro de una base de datos. De esta manera se puede validar la información, ajustar los formatos y facilitar la integración de datos en uno o varios sistemas.
-
Tema 2 - Modulooper 1
En este tema vamos a ver cómo visualizar la información en un Sherpaexcel
-
Tema 3 - Modulooper 2
Ahora vamos a ver cómo funciona "de verdad" la app Modulooper, la verdadera magia de SherpaBots.
-
Tema 4 - Modifica Configuración Upload
Este tema se centra en comprender en profundidad cómo se configura un Upload, mediante el moduform MODIFICA CONFIGURACION UPLOAD. Además, también veremos en qué tablas se configuran.
-
Tema 5 - SherpaExcel
Este tema redondea el "viaje del dato" con la descarga de datos. Ahora que podemos subirlos, validarlos, visualizarlos y, ahora, los descargaremos en un Excel formulado para poder analizarlos.
-
Tema 6 - Modifica Configuración SherpaExcel
En este tema vamos a ver como acabar de configurar un SquareExcel. Una vez creado, como hemos visto en el tema anterior, necesitaremos rellenar una serie de parámetros en la plantilla del bloque CONFIGURACION SQUAREEXCEL que encontraremos en la aplicación Configuración SherpaBots.
-
Tema 7 - CREAR APP
En este tema, como su propio nombre indica vamos a crear una Aplicación en SherpaBots. Primero veremos los distintos tipos que pueden existir (Standard, Custom). Veremos y crearemos una app Custom.
-
Tema 8 - APP STANDARD
En este tema vamos a ver cómo crear un App Standard. Para ello veremos una serie de ejemplos de aplicaciones similares.
-
Tema 9 - Moduforms
En este tema, vamos a aprender a hacer Moduforms. Primero, veremos un par de ejemplos de Moduforms en diferentes aplicaciones de SherpaBots y después veremos cómo generar uno. La generación de un Moduform tiene dos partes: 1. Pensar qué acción queremos realizar y generar los campos del formulario que vamos a necesitar. 2. Tendremos que configurar el modulooper asociado a este Moduform para que realice una (o varias) acciones con la información recabada en los campos del formulario (Moduform) De esta manera, podremos recoger información a través de un formulario y con ella realizar acciones en base de datos, mandar mails, comprobar cosas, borrar, añadir o modificar datos.
-
Tema 10 - Miscelánea
Este es el último tema de esta formación básica de SherpaBots. Todavía quedan muchos conceptos por aprender pero lo básico lo has recorrido a lo largo de estos 10 temas... Ahora solo queda practicar, practicar y practicar. En este tema verás una serie de conceptos que no encajaban en otros temas y que completan los huecos de la formación. - Tipos de eventos de Modulooper que no hemos visto - Documentación - Cómo plantear un desarrollo - Generación de accesos - Tablas básicas de Sherpa/Square.
2. Ejemplo Representativo
Primero comencemos por un ejemplo global, tal y como vimos en el tema 1 donde explicamos someramente el proceso de un Upload. Ahora, vamos a ver los detalles de alguno de esos Uploads para ver, poco a poco, como hacerlo nosotras mismas.
Veamos a continuación el Modulooper del Upload QUIRON PREVENCIÓN SLU, que es la carga de facturas de un proveedor. Veremos las consultas hasta la 12, puesto que las siguientes forman parte de otro tema y, por el momento, no nos interesan.
2.1 QUIRON PREVENCION SLU:
2.1.1 Consultas SQL vacías
En estas consultas vacías vemos cómo se realizan modificaciones sobre los datos subidos. En la primera, cambiamos un carácter no aceptado por el sistema donde se va a integrar la información; en la segunda, modificamos la fecha para tener el formato requerido.
2.1.2 Stops:
Estas son consultas SQL con acción Stop (pararán la carga si el Select da algún resultado)
Vemos que en cada una se verifican ciertas cosas: que no haya DNIs duplicados, que las fechas tengan un formato correcto, que uno de los campos (SITE) sea correcto, que los totales, cuadren y que todos los empleados existan en otra tabla (listado de imputaciones).
Aquí vemos cómo usamos el alias “ELEMENTOS” con ciertos campos así como la fórmula CONCAT(GROUP_CONCAT(A.SQ_FILA)) AS FILAS —— HAVING FILAS IS NOT NULL. Esto nos servirá para utilizar esos datos en los mails que se envían a los usuarios cuando salta el stop (la consulta da algún resultado) para dar información sobre las filas y los datos que se están detectando como erróneos.
Lo veremos con más detalle más adelante cuando veamos cómo configurar el mail que se envía.
2.1.3 Otras consultas
Estas consultas 8 y 9 son consultas SQL de acción vacía (se ejecutarán si o si).
La 8 vacía la tabla destino, utiliza un DELETE para borrar las cargas anteriores del mismo bloque. Esto sirve en muchas ocasiones para no duplicar datos en la tabla destino que provienen de un mismo bloque que por las razones que sea, no interesa duplicar.
La 9, hace un INSERT en la tabla destino donde se guarda la información acumulada de este bloque y otros que tienen un proceso común de gestionar las facturas.
La consulta 10 es de tipo trigger, esto es, que incluye consultas comunes a varios procesos. Este tipo lo veremos más adelante, y para lo que ahora nos ocupa no es relevante.
Cabe resaltar en este ejemplo que estas tres consultas podrían ser de acción OK, puesto que son las consultas “finales”, y podrían ejecutarse una vez se ha comprobado que los datos son correctos. El hecho de que en este ejemplo estas consultas no sean de acción OK es debido a que en el trigger, que veremos más adelante, pero que básicamente implica la inclusión de otro proceso de modulooper común, contiene, a su vez, otro tipo de consultas se ejecute sí o sí. No te preocupes si este párrafo te causa confusión, posteriormente, en temas más específicos, lo veremos en detalle.
2.1.4 Error:
Finalmente tenemos las consultas con acción Error (son las que se ejecutan si ha saltado alguno de los stops). Vemos que son dos DELETES que borran tanto la tabla vestíbulo como la tabla de destino. Así, si existe algún error se borran todos los datos.
2.2 Recapitulamos:
En un Upload “típico” encontramos, como hemos visto, tendremos tres fases de consultas:
- SQL vacías (UPDATE, DELETE): se ejecutan siempre, modificaremos y completaremos datos.
- SQL acción Stop (SELECT): se ejecutan siempre, verifican datos, si dan resultados “saltan” – existe la opción de mandar un mail con errores.
NO salta ningún Stop:
- SQL acción OK (INSERT, UPDATE): Se ejecutan si no ha saltado ningún Stop, podremos realizar diferentes acciones con los datos correctos.
- SQL acción Alarma (SELECT): se ejecutan si no ha saltado ningún Stop, alertan de incoherencias no muy graves que no requieran parar la carga. si dan resultados “saltan” – existe la opción de mandar un mail con las alertas para informar al usuario
SÍ que salta algún Stop:
- SQL acción Error (DELETE): se ejecutan si ha saltado algún Stop, normalmente sirven para borrar datos cargados, que por saltar el Stop se consideran incorrectos.
A continuación mostramos un ejemplo modélico, que no es funcional pero sirve para ver la estructura básica de lo que sería un Modulooper de una carga de Facturas o de otro tipo, que incluye todos los tipos de eventos SQL con acciones: Vacías, Stops, OK, Alarmas, Errores.