Utilisation d’une nomenclature en fenêtre de sélection avec sélections multiples

Préambule

Pour bien comprendre cet article, en plus d’être autonome avec FormsStudio sur la création de formulaire, il est nécessaire d’avoir étudié certains points de la documentation :

  • 6. Expressions
  • 9. Nomenclatures (9.4.5 Nomenclature en fenêtre de sélection)
  • 10. Fonctions locales

Généralités / But du tutoriel

Le contrôle Nomenclature en fenêtre de sélection permet d’afficher le contenu d’une nomenclature dans une fenêtre plutôt que dans une liste déroulante.

Le but de ce tutoriel est de construire un formulaire composé d’un bouton affichant une nomenclature en fenêtre de sélection. Tous les éléments sélectionnés dans le fenêtre seront concaténés et affichés dans un libellé généré se trouvant sous le bouton.

Mise en oeuvre

Pour pouvoir utiliser correctement le composant dans le formulaire, il faut suivre les étapes suivantes :

  • Création d’une nomenclature
  • Création d’un formulaire
  • Développements des traitements dans le formulaire

Création de la nomenclature

Pour ajouter une nomenclature, faire un clic droit sur le nom du module dans l’explorateur de module (ou sur le dossier dans lequel ajouter la nomenclature), puis sélectionner Nouvelle nomenclature. Une fois la page créée, modifier ses propriétés pour lui donner un nom et un libellé. Il est également possible de choisir son type : Simple  ou Avancée.

Ajouter plusieurs éléments à cette nomenclature.

Les propriétés peuvent être modifiées via la fenêtre Propriétés dans FormsStudio.

Création du formulaire

Pour ajouter un formulaire, faire un clic droit sur le nom du module dans l’explorateur de module (ou sur le dossier dans lequel ajouter le formulaire), puis sélectionner Nouveau formulaire. Une fois le formulaire créé, modifier ses propriétés pour lui donner un nom.

Modèle de données du formulaire

Le modèle de données du formulaire doit contenir deux champs :

  • Un champ de type nomenclature pointant sur la nomenclature à afficher
  • Un champ de type texte dans lequel seront concaténés les différents choix

Vue du formulaire

La vue du formulaire contiendra deux éléments :

  • Nomenclature en fenêtre de sélection. Lier la propriété Valeur du composant au champ du modèle nomenclature, et la propriété Mode de sélection à Par bouton
  • Libellé généré lié au champ texte_concatener

Développement des fonctions locales permettant la concaténation

Le fonctionnement du formulaire sera le suivant : à chaque que l’on clique sur le bouton +  associé à un éléments de nomenclature, on fera appel à une fonction locale qui sera chargée de concaténer le titre de l’élément sélectionner dans le champ texte_concatener. Pour créer cette fonction, se rendre dans l’onglet Logique du modèle de données de notre formulaire.

Dans cette fonction, ajouter une Action conditionnelle, afin de concaténer les texte uniquement  si celui-ci est non vide. Dans les propriété de l’Action conditionnelles, cocher Activer SINON. Ensuite, dans le Alors, ajouter l’action ajouter l’action Assigner une valeur à un champ. Définir la propriété Champ de l’action à texte_concatener, et la propriété Valeur à $modele.$nomenclature.$libelle (libellé de l’élément de  nomenclature sélectionnée).

Dans le Sinon, ajouter l’action Assigner une valeur à un champ. Définir la propriété Champ de l’action à texte_concatener, et la propriété Valeur à

CONCATENATION(
$modele.$texte_concatener ;
$saut_de_ligne ;
$modele.$nomenclature.$libelle
)

la chaîne $saut_de_ligne est accessible depuis l’onglet Outil de l’éditeur d’expression

Ci-dessous la fonction à créer :

La dernière étape est de configurer l’appel à la fonction depuis la vue du formulaire. Pour cela, se rendre sur le composant Nomenclature en fenêtre de sélection se trouvant dans la vue du formulaire. Dans la propriété OnItemSelected, choisir la fonction ConcatenerElementsSelectionnes créée précédemment.

Il ne reste plus qu’à publier le module sur Easily, configurer le dossier de spécialité (dans le cas d’un nouveau formulaire uniquement), et le tester.

Si lors du test, les nomenclatures n’apparaissent pas, penser à Recharger le cache Dominho

Pour ce faire, se rendre sur le portail Administrateur > Menu Application > Modules > Paramètres avancés > Recharger

Attention, pour des questions de performances d’Easily, le cache ne peut-être recharger que toutes les 5 minutes au maximum.

Was this article helpful?

Related Articles

Poster un commentaire

Vous devez être connecté pour pouvoir poster un commentaire.