Macros

Inicio 

En ocasiones, es necesario replicar estructuras de diseño donde las preguntas y/o campos se reiteran con muy poca variación (algún valor, un salto...). Estas variaciones pueden ser salvadas con el uso de comodines. Veamos un sencillo ejemplo, con el que se puede entender de forma muy sencilla esta cuestión y que lo diferencia de lo que será un copiar / pegar normal.

Imaginamos una página en la que creamos un texto y una variable, que a su vez tiene un salto. De forma resumida, la situación sería esta:

TEXTO

Para usted qué significa la marca __MARCA__

NOMBRE DE VARIABLE

MARCA__CODMARCA__

SALTAR A

PREG__CODMARCA__

CONDICION DE SALTO

MARCA__CODMARCA__=1

En este ejemplo se han utilizado 2 comodines, __MARCA__ y __CODMARCA__. Podemos observar que la forma de identificar el comodín es con una palabra y como prefijo y sufijo dos símbolos consecutivos de subrayado (__). Si tuviera tres marcas, denominadas ASICS, NIKE y PUMA codificadas como 1, 2 y 3, y quisiera crear tres páginas una para cada marca, se podría hacer la siguiente sustitución:

__MARCA__

__CODMARCA__

ASICS

01

NIKE

02

PUMA

03

por lo que los textos  y variables quedarían así para las tres páginas que quedarían:

TEXTO

Para usted qué significa

la marca ASICS

Para usted qué significa

la marca NIKE

Para usted qué significa

la marca PUMA

NOMBRE DE VARIABLE

MARCA01

MARCA02

MARCA03

SALTAR A

PREG01

PREG02

PREG03

CONDICION DE SALTO

MARCA01=1

MARCA02=1

MARCA03=1

Para poder hacer esto el usuario sólo debería haber definido los comodines y ejecutar la macro.

La forma de actuar sería la siguiente:

1.Diseñar de forma normal, pensando siempre en utilizar comodines allá donde sepamos que va a ser necesario en la expansión de las pantallas.
2.Crear la macro, indicando que pantallas (consecutivas obligatoriamente) forman parte de la misma, con excepción de la primera pantalla del cuestionario que no puede formar parte de una macro.
3.Editar los comodines. Cada fila de comodines (en el ejemplo 3) genera un bloque de pantallas (el número que contenga la macro).
4.Ejecutar la macro diseñada; si la macro diseñada contiene 10 páginas y son 3 marcas, creará 30 páginas nuevas.
5.La macro se puede ejecutar en lugares diferentes del cuestionario, es decir, la macro 1, que nos generaría 3 pantallas, puede ser ejecutada detrás de la pantallas 5 1 vez, detrás de la pantalla 18, la segunda vez y detrás de la pantalla 25 una tercera vez.

Cuando se diseñan este tipo de estructuras, se debe tener en cuenta:

Denominamos pantallas macro, a las pantallas que forman parte de una macro, pero no han sido expandidas (sustituidos los comodines).
Denominamos pantallas expandidas, a las pantallas que pertenecen a una macro, donde ya se han sustituido los comodines. Aparecen en el árbol de componentes con un color verde en el icono que las representa.
Denominamos iteraciones, al número de filas que contiene la tabla de comodines.
Las macros se guardan en el cuestionario si están ejecutadas o si no están ejecutadas.
La macro se puede ejecutar y modificar: volver a la situación inicial antes de ejecutar para editar el contenido de las páginas que la conforman.
Todos los cambios realizados después de la ejecución sobre las pantallas expandidas
Pueden haber tantas macros como se desee en un cuestionario, pero éstas no pueden compartir páginas.
Si un cuestionario contiene macros no ejecutadas, no podrá ser subido a Gandia Integra. En el GIX se genera un nodo de error que impide que el cuestionario pueda ser subido al sistema.
Los comodines, puede ser utilizados en todos los apartados de un componente: nombres de variable, códigos, texto extra, referencias, saltos, filtros, controles, etc.
Se pueden establecer condiciones sobre variables que no existen, pero existen tras la ejecución del macro.