Mise en place d'une boucle
Une boucle permet de répéter une partie du questionnaire (une séquence ou une sous-séquence), à partir de valeurs prédéterminées ou de variables du questionnaire.
Dans notre cas d'usage, on souhaite répéter la sous-séquence "Parlez-nous de votre collègue autant de fois que le nombre de collègue qui a été donné à la questions précédente "Combien de personnes partagent votre bureau ?".
On va donc mobiliser la variable COMBIEN_PARTAGE dans une boucle.
Pour créer la boucle, on clique sur le bouton "+ Boucle" dans la barre d'actions.
La fenêtre qui s'ouvre propose plusieurs champs que l'on peut mobiliser de deux manières différentes :
- pour une boucle utilisant des valeurs fixes ou des variables du questionnaire (boucle principale);
- pour une boucle s'appuyant sur une structure répétée comme une autre boucle ou un tableau dynamique (boucle liée).
Dans ce tutoriel, on va mettre en place le premier cas uniquement.
Pour aller plus loin
Création de la boucle
Les paramètres qui définissent une boucle :
- Identifiant avec comme toujours un identifiant de la forme
MON_IDENTIFIANT - Basé sur à remplir uniquement pour les boucles liées (on les base sur un objet existant tel qu'une boucle principale ou sur un tableau dynamique)
- Nombre d'occurrences max identique à min permet de ne remplir qu'une fois la taille de la boucle si le nombre d'occurrence est fixe (fixé par une formule ou un nombre donné)
- Nombre minimum d'occurrences le nombre minimum d'itérations, qui peut être une valeur fixe (par exemple
2, ou une variable) - Nombre maximum d'occurrences le nombre maximum d'itération, là aussi une valeur fixe ou une variable
- Afficher toutes les occurrences sur une seule page uniquement pour les boucles principales, lorsqu'il y a un nombre restreint de questions et qu'il est pertinent de proposer toutes les itérations d'un seul tenant en visualisation web ménage ou enquêteur (par exemple questions portant sur les membres d'un logement)
- Libellé du bouton d'ajout à remplir quand le nombre minimum d'itérations est différent du nombre maximal
- Début la séquence ou la sous-séquence à partir de laquelle commence la répétition
- Fin la séquence ou la sous-séquence sur laquelle termine la boucle ; comme pour les filtres, cet élément de fin est inclus dans la boucle.
Dans notre cas, on spécifiera ces valeurs :
- Identifiant
BOUCLE_COLLEGUE(oui, on fait simple)
- Nombre d'occurrences l'expression VTL
nvl($COMBIEN_PARTAGE$, 1), ce qui permet d'avoir1si la question précédente n'a pas été répondue ou la valeur de la réponse si on l'a obtenue - Début la sous-séquence
COLLEGUE - Fin la sous-séquence
COLLEGUE
Warning
L'interface de création des boucles nous guide pour paramètrer la configuration de la boucle en fonction du contexte de visualisation (ménage / entreprise). Il convient de bien les respecter.
Nous venons de créer notre première boucle .
En visualisant notre questionnaire par exemple en web ménage, on remarque qu'il est difficile de différencier les itérations des différents collègues : ajoutons un peu de personnalisation à la boucle.
Personnalisation de la boucle
Pogues nous permet d'utiliser des variables systèmes bien sympathiques, notamment GLOBAL_ITERATION_INDEX qui donne la position dans une boucle.
Utilisons la pour indiquer à notre répondant où il en est dans son remplissage de boucle. On modifie le libellé de la sous-séquence sur laquelle on boucle.

Il est bien évidemment possible de personnaliser encore plus notre boucle, par exemple en collectant les prénoms des collègues dans une première boucle puis en faisant une boucle liée où on pose les questions sur chaque collègue.
Maintenant qu'on vous a donné les bases, on vous laisse découvrir toutes les possibilités de l'outil !

