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

DT_CHOICES(identifiant_table, code_pour_choix)

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:

  1. Utiliser un point (.) et l’identifiant de la colonne.
  2. Utiliser un point et des parenthèses (.() pour exécuter du code de manière similaire au deuxième paramètre de DT_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)”.

Voir aussi