Iniciación a SherpaBots

Iniciación a SherpaBots

2. Crear un Moduform

Una vez más, para configurar los campos que compondrán nuestro formulario utilizaremos a su vez un moduform que encontraremos en la app Configuración SherpaBots llamado “EDITOR DE MODUFORMS”.

Al abrir este bloque veremos el formulario que nos permite configurar otros formularios:

Antes de ponernos a explicar vamos a crear un proceso desde cero que nos sirva de guía para la realización de un moduform.

En el siguiente ejemplo ilustrativo queremos crear un formulario que nos permita introducir una serie de datos que utilizaremos para realizar una acción concreta. Para la elaboración del ejemplo práctico de este tema vamos a llevar a cabo la configuración real y útil de un moduform.

En este caso tenemos que crear una línea en la tabla SherpaBots.sitrees_extended.

El objetivo de este bloque que queremos crear es generar una plantilla para los bloques que nos vayan pidiendo de la app WEEKLY PL.

La App Weekly PL tiene este aspecto:

Vemos una app standard, que sabemos que tiene los bloques asociados al área FINANZAS. Por defecto, tiene una plantilla común para cada bloque que se llama “TEMPLATE WEEKLY PL VENTAS”, que te puedes descargar haciendo click en el botón plantilla de cualquiera de los bloques. Pero a veces ocurre que alguno de los centros o sites necesitan que desde este botón se descargue otra plantilla llamada “TEMPLATE WEEKLY PL BILLING”.

Nuestro objetivo es crear un moduform en el que en un click podamos cambiar una plantilla (TEMPLATE por defecto “VENTAS”) por otra (TEMPLATE específico “BILLING”). De esta manera evitaremos ir a la base de datos a realizar este cambio con los posibles errores que eso puede conllevar.

Bien, antes de ponernos a configurar el formulario lo primero que debemos hacer es crear un bloque llamado “ASIGNAR PLANTILLA BILLING EN WEELKY PL” en la app Soporte SherpaBots.

Para ello, como ya hemos visto muchas veces, iremos a la app Configuración SherpaBots al bloque CREAR BLOQUE y generaremos un bloque:

Bien, una vez creado el bloque:

Al darle al botón SUBIR lo veremos “vacío”:

Ahora se trata de la primera fase de crear un moduform: pensar.

Teniendo en cuenta el objetivo de este bloque y conociendo los máximos detalles que necesitemos debemos tener en cuenta:

  • Qué tabla/s queremos modificar
  • Necesitamos validaciones
  • Qué campos necesitamos para nuestro formulario
  • Qué tipos de campos podemos poner
  • Cómo podemos ponerlos
  • ¿Hay algunos opcionales y otros obligatorios?
  • En definitiva, qué información necesitamos para ejecutar la acción.

En nuestro caso, nos interesa que nuestro bloque tenga un desplegable con los bloques que todavía no han cambiado de VENTAS (por defecto) a BILLING.

Es interesante, antes de plantear un moduform, imaginarlo y, en ocasiones, dibujarlo.

Sería algo así: 

Así nos adentramos en el bloque que nos va ayudar a generar los campos para un moduform y éste lo encontramos en la app Configuración SherpaBots bajo en nombre “EDITOR DE MODUFORMS”:

Vayamos ahora punto por punto, para ver qué opciones tenemos y cómo funciona este bloque que nos sirve tanto para generar como para editar y eliminar un campo de un moduform.

Veamos primero la opción de cómo generarlo. Más adelante, veremos cómo editarlo y/o eliminarlo.

Lo primero, necesitamos seleccionar del campo “APP – Bloque – Etiqueta” nuestra combinación. En nuestro caso al ser un campo nuevo tendremos que seleccionar una combinación “App – Bloque” (sin Etiqueta)

En acción seleccionaremos “Genera Campo” del desplegable:

En nombre de Etiqueta pondremos “Bloque”:

En Tipo de Campo seleccionaremos “SELECT” del desplegable:

*Más adelante veremos las distintas opciones que tenemos para este campo y cómo funcionan.

Al ser un SELECT en el siguiente campo tendremos que poner un select que incluya dos alias: AS ELEMENTO y AS VALOR.

El SELECT completo es el siguiente:


SELECT nombre_area as ELEMENTO, NOMBRE_AREA AS VALOR FROM square.sitrees where area =’FINANZAS’ and activo=’1′ AND NOMBRE_AREA NOT IN (SELECT nombre_area  FROM square.sitrees_extended WHERE APP LIKE ‘weekly pl%’ AND NOMBRE_AREA<>” AND CAMPO=’template’) ORDER BY NOMBRE_SQUARE ASC

Aquí vemos que estamos combinando dos tablas clave en SherpaBots: 

  • square.sitrees
  • square.sitrees_extended

De la primera recogemos todos los bloques asociados al área de finanzas. La segunda la utilizamos para “restar” los bloques que ya tienen asociados la plantilla. La primera tabla nos sirve para vincular áreas y bloques. La segunda nos sirve para configurar los bloques de las diferentes apps.

 

Para finalizar le indicamos si el campo que estamos creando o editando es obligatorio o no y le damos al botón subir.

Una vez nos da la validación correcta iremos a nuestro bloque y comprobaremos que el campo se ha creado correctamente:

Si vemos que el desplegable no funciona correctamente podemos editar el campo creado indicando la combinación App / Bloque / Etiqueta y la Acción Edita Campo.

Podremos editar cualquiera de las opciones que este moduform nos indica: Nombre de la etiqueta, Tipo de Campo, Valor-Select, Orden o si es o no Obligatorio…

 

2. 2 Generar el modulooper de un moduform.

Una vez tenemos el esqueleto de nuestro moduform, es decir, el formulario donde recogemos datos iremos al modulooper y buscaremos nuestro bloque y generaremos un evento nuevo:

En nuestro ejemplo también podríamos añadir un Stop que nos impida duplicar esta acción (aunque ya hemos previsto ese caso con el SELECT del desplegable)

 

Así nos quedaría de la siguiente manera:

En resumen lo que hemos hecho es:

  • Pensar lo que queremos construir
  • Generar los campos necesarios del formulario
  • Pensar y generar la acción que queremos realizar
  • Pensar y generar alguna comprobación para evitar errores en la ejecución.

 

Deja una respuesta