Liste déroulante dynamique

« Les recettes de Nel »

Objectif :
– Gain de temps
– Mise à jour automatique des champs entre 2 ou plusieurs Ressources liées

Ce tutoriel permet de créer une liste déroulante dynamique, c’est à dire de compléter une ressource liées composée de plusieurs champs. Si vous souhaitez remplir un seul champ, vous pouvez lire cet article : créer une liste déroulante dynamique simple.
Pattern : Liste déroulante dynamique


Dans notre exemple ci-dessous, nos ressources sont dénommées :  « Pièce » et « Intervention »

L’objectif est de pouvoir compléter une liste déroulante de pièce.
La saisie de la nouvelle pièce se fait directement depuis la ressource intervention si la pièce n’existe pas dans la ressource pièce (lié a).
Ensuite cette pièce sera disponible dans la ressource pièce et donc dans tout les champs lié à la ressource pièce.

Contexte : ressources et champ lié à un

  1. Ressource pièce :
    Ressource avec des champs qui compose un pièce, ici : code, description, lieu, site, famille, prix, etc.
  2. Ressource intervention :
    Champs spécifiques à un
    e intervention dont un Champ « lié à 1 » vers la ressource pièce

Nous avons déjà vu comment créer un lien entre 2 ressources afin que la liste des pièces soient visibles lors d’un nouvel enregistrement dans la ressource intervention.

(si vous avez besoin d’un rappel, c’est ici !)


2. Amélioration de la ressource pièce

  1. Ajout d’un champ ordre masqué
    * Champ de type nombre
    * Valeur par défaut vide (ou 1)
    * Encapsuler ce champ dans un groupe
    – Conditionner de manière stricte ce groupe sur une valeur non renseignée (aucune valeur), ceci afin d’avoir un champ qui n’est jamais visible

Nous allons ajouter un enregistrement dans la ressource pièce nommé « -Ajout nouveau code pièce- » avec le champ ordre renseigné à 2

Pour que cet enregistrement soit toujours disponible en bas de la liste déroulante (même si les pièces comportent un classement particulier) :

2. Ordonner la ressource par ce champ ordre en premier (clé à molette)
Les champs standard d’ordonnancement peuvent être conservé à partir de la deuxième position.

Optimisation : Supprimer le champ ordre des colonnes visibles

La liste « liée à une » pièce propose désormais la valeur « – Ajout nouveau code pièce – » en bas de liste

2. Amélioration de la ressource intervention

  1. Création d’un groupe conditionnel
  2. Glisser les champs nécessaires à la saisie de votre ressource liée (ici les champs pièce : Code pièce, Description, Code lieu, Code site, famille, etc?)
  3. Conditionner l’ouverture stricte du groupe par la valeur spécifique ici « -Ajout nouveau code pièce-« 

A l’ajout d’une nouvelle intervention, l’utilisateur peut choisir « -Ajout nouveau code pièce-« 

3. Création du scénario d’automatisation

Le scénario automatisera :

  1. la création de la nouvelle pièce
  2. La création du lien (lié a) entre l’intervention et cette nouvelle pièce

Détails des actions :

Déclencheur
À la création (ou la création ou modification) d’une intervention
1. Condition de garde
La valeur de liste déroulante est bien égale à -Ajout nouveau code pièce-
2. Création de la nouvelle pièce
Nouvel enregistrement dans la ressource pièce à l’aide des champs conditionné
3. Modification de l’enregistrement intervention, afin de :
a) Lier la nouvelle pièce à l’intervention
b) Vider les champs conditionnels (ce n’est pas obligatoire, mais c’est plus « propre »)

Détails action 3 : création de la liaison entre les deux ressources

Récapitulatif

  1. À la création d’une nouvelle intervention
  2. Choisir dans la liste déroulante du champ pièce –ajout nouveau code pièce- ordonnancée en dernier
  3. Les champs pour renseigner la nouvelle pièce s’affichent
  4. À la création de l’enregistrement de l’intervention, le scénario se déclenche
  5. Si la valeur de la liste déroulante lié à une pièce est – ajout nouveau code pièce –
  6. Création d’un nouvel enregistrement pièce a partir des champs spécifique
  7. Créer la liaison entre la ressource intervention et la pièce nouvellement crée
  8. Suppression des données spécifique à la pièce sur l’enregistrement de l’intervention
Ajout dynamique d’un enregistrement dans une liste déroulante