DT_CHOICES
Cette fonction est uniquement utile comme valeur pour le paramètre choices:
des actions @PICK_ONE_QUESTION
et @PICK_MANY_QUESTION
.
Génère une liste de choix à partir d’une table de données pour afficher dans la question.
La variable de l’action @PICK_ONE_QUESTION
ou @PICK_MANY_QUESTION
contiendra la
ligne entière de la table de données. Voir “Plus d’information” ci-dessous.
Utilisation
Paramètres
identifiant_table |
(Requis) L’identifiant de la table de données à utiliser |
code_pour_choix |
(Code) Ce paramètre est spécial. Il est évalué pour chaque ligne de la table de données. Chaque résultat est utillisé comme choix affiché pour la ligne. Si non fourni, la première colonne de la table de données sera utilisée. Voir “Plus d’information” pour plus de détails. |
Plus d'information
Le deuxième paramètre de DT_CHOICES
est spécial :
- C’est du code qui sera évalué pour chaque ligne dans la table de données
- Le résultat de chaque exécution sera affiché comme choix lors du remplissage du formulaire pour générer un document
- Pour accéder aux valeurs des colonnes pour la ligne courante, utilisez leur identifiant avec un point (
.
) comme préfixe - Comme cela se produit avant que vous ayez rempli le formulaire, les variables normales ne sont pas disponibles
- Vous pouvez utiliser n’importe quelle fonction
Voici un exemple complet :
<# @PICK_ONE_QUESTION(assigné,
label: "Assigné",
choices: DT_CHOICES("employés", CONCAT(.prénom, " ", .nom_de_famille))) #>
Cela fournira des choix basés sur la table de données employés
. Les choix affichés dans le formulaire
seront le “prénom nom_de_famille”, tel que “Anna Logwatch”. Cela nécessite que la table de données ait
une colonne avec l’identifiant prénom
et nom_de_famille
.
Lors de la génération, la valeur de la variable assigné
(définie par l’action @PICK_ONE_QUESTION
ci-dessus)
sera la ligne entière de la table de données. Il y a 2 options pour utiliser les valeurs de cette ligne:
- Utiliser un point (
.
) et l’identifiant de la colonne. - Utiliser un point et des parenthèses (
.(
) pour exécuter du code de manière similaire au deuxième paramètre deDT_CHOICES
. Entre les parenthèses, vous pouvez utiliser n’importe quelle colonne avec son identifiant préfixé par un point (.
).
Un exemple de chacune :
Si vous avez des questions, contactez : <# UPPER(assigné.prénom) #> à <# assigné.email #>.
Si vous avez des questions, contactez : <# assigné.(UPPER(.prénom) & " à " & .email)) #>.
Les deux ont le même résultat, voici pour le choix “Anna Logwatch” :
Si vous avez des questions, contactez : ANNA à [email protected] #>.
Vous pouvez trouver plus d’exemples d’utilisation du point et des parenthèses (.(
) dans la documentation “Opérateur . (point)”.