On peut vous aider ?

Cherchez des réponses ou parcourez les rubriques de notre documentation

Voir aussi:

< All Topics
Print

Multi-onglets

Principe

Le compartiment multi-onglets permet de dupliquer un ou plusieurs onglets d’un formulaire suivant un axe de découpage des données. Le fonctionnement du multi-onglets peut être comparé au compartiment motif en ce sens qu’une structure de base du formulaire sera démultipliée, et qu’il est possible d’autoriser l’utilisateur à jouter/supprimer des onglets dans GTAnswer.

Construction

Considérons le questionnaire suivant :

Formulaire d'origine

Il ne contient qu’un onglet « Form » sur lequel sont positionnés 4 composants.

Nous souhaitons l’alimenter avec cette table :

Table de données

Chaque recommandation est identifiée par le champ « Risk ».

Le champ « Subsidiary » sera notre axe de diffusion. Sans multi-onglet, chaque répondant affecté à une filiale recevrait donc autant de documents que de lignes mentionnant sa filiale (2 pour « Headquarters », 2 pour « Switzerland », 3 pour « UK ».

L’ajout du multi-onglet va nous permettre de n’envoyer qu’un seul document, contenant autant d’onglets que d’items dans le champ « Risk » pour une filiale donnée.

Dans Design

Par défaut, la structure du document se présente ainsi :

Document avant paramétrage MO

Les 4 champs du document sont tous situés à la racine.

Pour ajouter le multi-onglets il suffit de faire un clic droit sur « Multi-onglets » et de choisir « Ajouter un multi-onglets » dans le menu contextuel :

Ajout MO

Vous devez alors choisir votre axe de multi-onglet : il s’agit du champ dans la table d’alimentation qui générera les onglets. Comme nous souhaitons créer un onglet pour chaque item du champ »Risk », c’est donc le nom de ce champ qu’il faut saisir :

Ajout axe MO

Vous pouvez maintenant paramétrer votre multi-onglets. Tout d’abord, vous devez déterminer quels onglets du document seront dupliqués.
Ajout onglets dans l'axe MO

Ici, notre document ne comporte qu’un seul onglet, « Form ». Nous allons donc le sélectionner puis cliquer sur le bouton « Ajouter les feuilles ». « Form » est alors déplacé dans la liste des feuilles de l’axe de multi-onglets.

Comme notre multi-onglets sera en lecture seule (nous ne souhaitons pas que les utilisateurs puissent ajouter ou supprimer des onglets), nous laisserons les autres options par défaut.

Compartiments mis à jour

L’arborescence des compartiments est mise à jour. Notez que,  comme la totalité des 4 composants du documents sont dorénavant dans le multi-onglet, la racine est vide.

Onglet mis à jour

Vous pouvez constater que l’onglet « Form » comporte à présent une icône symbolisant un multi-onglets. Cette icône apparaitra sur tous les onglets d’un document inclus dans un multi-onglets.

Pour vérifier que le multi-onglet duplique bien les onglets souhaités, cliquez sur le bouton de prévisualisation (ou appuyez sur F12)

Previsualisation du MO

Le document est alors ouvert dans GTAnswer. En l’absence de données d’alimentation, 3 onglets sont générés pour chaque groupe de multi-onglets.

Notez que, puisque c’est le champ « Risk » qui est l’axe de multi-onglets, c’est ce champ qui reçoit 3 enregistrements libellés par le nom du champ + le numéro. Ici, nous avons donc Risk1, Risk2 et Risk3.

Dans GTAnswer

Contrairement au motif, il n’est pas possible de laisser un compartiment multi-onglet « vide » dans une action de lancement. En effet, si un motif peut ne pas utiliser de clé, un multi-onglet possède toujours une clé :  l’axe de multi-onglet, qui ne peut être vide.

Alimentation du MO

Dans les données de l’action de publication, nous affectons donc la table de données au compartiment du multi-onglets.

Notez que le compartiment affiche 4/5 car le champ « Subsidary » n’est pas présent dans le compartiment.

Résultat du MO

Une fois l’action exécutée, chaque document (ici, celui de la filiale « Headquarters ») affiche bien autant d’onglets que d’items dans le champ « Risk » pour cette filiale.

Note 1 : chaque onglet porte le libellé du champ « Risk » associé.

Note 2 : les libellés sont ici triés mais il s’agit d’un hasard : c’est l’ordre dans lequel il se présentent dans la table. Pour garantir le tri des items, il faut les trier dans le compartiment.

Multi-onglet en lecture / écriture

Il est possible d’autoriser l’utilisateur a ajouter/supprimer des onglets. Par défaut, lorsque l’utilisateur ajoutera un onglet, une boite de dialogue sera affichée lui demandant de saisir le nom du nouvel onglet. Ce nom sera un nouvel item ajouté à l’axe de multi-onglets.

Il est également possible de restreindre le nom des onglets créés par une liste d’éléments. Pour cela, utilisez un motif contenant la liste des items autorisés et saisissez le nom du champ du motif contenant les items dans la propriété « En-tête source d’items » du multi-onglets. Dans ce cas, lorsque l’utilisateur ajoute un nouvel onglet, une liste déroulante contenant les items autorisés sera affichée, parmi laquelle l’utilisateur devra choisir le nom de l’onglet.

Lorsqu’un item de multi-onglet est créé ou renommé par le correspondant, cet item est inscrit dans le composant qui a le même nom que le groupe de multi-onglet : ce composant doit être un contrôle avec un format texte.

Un onglet faisant partie d’un multi-onglets dynamiques ne devrait contenir que des composants modifiables ou des contrôles contenant des formules (à la seule exception du contrôle ayant le même nom que le groupe de multi-onglet).
Lorsqu’un onglet est ajouté, un composant contrôle qui ne contiendrait pas de formule aura une valeur vide (sauf pour le contrôle portant le même nom que le groupe de multi-onglets).

La liste de tous les items de multi-onglet pourra être extraite avec une fonction GTMS.CONCATENER.

Points de vigilance:

  • Dans une action de lancement de collecte, le compartiment multi-onglets doit obligatoirement être alimenté (il doit toujours exister au moins 1 onglet). De ce fait, si vous souhaitez créer un multi-onglet uniquement dédié à l’ajout d’items, alimentez le multi-onglet par un item unique (que vous nommerez par exemple « DUMMY », « A supprimer »…). Si votre multi-onglets utilise la propriété « En-tête source d’items », alors l’utilisateur sera obligé de supprimer cet onglet car il ne fera pas partie de liste des items autorisés. Si vous n’utilisez pas cette propriété, vous pouvez utiliser la fonction GTCONTRAINTE pour empêcher la transmission d’une réponse comportant cet onglet.
  • Le champ contenant l’axe de multi-onglet définit la clé du multi-onglets. Ce champ doit donc comporter une valeur unique dans chaque onglet. Veillez donc à ne jamais inclure ce champ dans un motif, sans quoi des dysfonctionnements pourront se produire lors de l’exécution de l’action de lancement, ou lors d’un import Excel.
Was this article helpful?
0 out Of 5 Stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
5
How can we improve this article?
How Can We Improve This Article?
Table of Contents