Fonctionnement et principe des tables de dépendances
Une table de dépendance contient un ensemble de dépendances entre deux « listes ». Ces listes peuvent être de trois natures différentes :
- Une liste de valeurs (Voir Liste de valeurs dynamique)
- Des utilisateurs
- Des groupes
Une dépendance liera donc deux éléments entre eux. Cela permettra de faciliter la saisie d’informations à un utilisateur d’IteropPlay en lui proposant automatiquement une donnée liée à une autre, ou en restreignant ses choix possibles.
Depuis la configuration d’un processus dans IteropDesign, il est possible de lier deux variables entre elles grâce à une table de dépendance. La variable liée pourra être située dans le même formulaire que la variable sur laquelle la dépendance se base (dans ce cas là, un changement de valeur induira un changement automatique de la variable liée) ou être dans deux formulaires différents (dans ce cas, la variable liée se basera sur une valeur passée).
Exemple : Nous avons deux listes de valeurs, la première contenant 3 marques de véhicules différentes et la seconde contenant les modèles de ces marques. Nous ne souhaitons pas que l’utilisateur puisse choisir la marque Peugeot et le modèle C4 par exemple. Une fois la table de dépendance entre ces deux listes configurée, voici le résultat sur IteropPlay :
Interfaces
Il existe deux visualisations graphiques qui permettent de consulter/modifier les tables de dépendances.
Vue « Grille »
Vue « Liste »
Créer une nouvelle table de dépendances
Vous pouvez éditer et créer des tables de dépendances en suivant les étapes suivantes :
- Cliquez sur l’onglet « Liste liées » dans le menu d’IteropDesign.
- Sélectionnez « Table de dépendances » dans l’onglet situé en haut de la page. En cliquant sur le bouton situé en haut à gauche de l’interface, une nouvelle fenêtre s’ouvre :
Vous devez choisir un nom et remplir la description. Choisissez quelles listes seront liées entre elles. La liste principale correspond à la liste dont les éléments impactent les éléments de la liste liée.
Exemple : ici, c’est le choix de la marque du véhicule qui impliquera la restriction des modèles de véhicules disponibles et non l’inverse. La liste principale sera donc « Marque », et la liste liée « Modèles de véhicules ».
Vous pouvez choisir de lier des utilisateurs ou des groupes en choisissant la valeur « Table utilisateurs » ou « Table groupes » :
Une fois validée, cette table s’affichera dans l’interface avec, en en-tête, les éléments de la liste principale et dans le tableau, les éléments de la liste liée.
Vous pouvez modifier le nom ainsi que la description en appuyant sur les boutons d’édition (petits crayons bleus). Le choix de la liste principale et de la liste liée ne sont alors plus modifiables (il faut créer une nouvelle table de dépendance si vous voulez changer un de ces deux paramètres).
Lier deux valeurs entre elles
Il est possible de lier autant de valeurs que l’on veut. On peut lier plusieurs éléments à un seul élément, on peut faire uniquement une liaison « 1 pour 1 » (c’est-à-dire qu’un élément n’est lié qu’à un seul autre élément) ou même ne faire aucune liaison. Ces différentes combinaisons créent des comportements différents dans l’interface d’IteropPlay comme détaillé dans le chapitre suivant.
Exemple : Lier la marque Peugeot et le modèle 207
Avec la vue « Grille »
Pour lier deux valeurs entre elles, il suffit de cliquer sur la case du tableau. Celle-ci se colore en bleu et indique qu’une dépendance existe entre ces deux données. Si on clique à nouveau sur la même case, celle-ci se désélectionne et la dépendance est alors supprimée.
L’enregistrement se fait automatiquement à chacun de vos clics.
Avec la vue « Liste »
Pour réaliser une dépendance à partir d’un affichage en format liste, il suffit de sélectionner les deux éléments à lier par le biais des panneaux déroulants et de cliquer sur “Ajouter”.
Avec l’API
Il est également possible de réaliser des opérations/modifications sur les tables de dépendances avec l’API. Pour cela, n’hésitez pas à consulter la page dédiée à cette utilisation.
Comportement dans IteropPlay
En fonction du type de dépendance (multiple, 1:1, aucune) et du type de variable utilisé, le comportement dans IteropPlay est différent.
Les variables sont obligatoirement des listes de sélection (ou des utilisateurs et groupes) qui peuvent être de sélection multiple ou non, et peuvent être restreinte ou non.
Dans le tableau ci-après, nous continuerons avec l’exemple des marques et des modèles, auquel on a rajouté une marque qui n’aura pas de modèles associés. Nous avons modifié également quelques dépendances afin de créer des liaisons de type 1:1 (un pour un). Voici le tableau de dépendance correspondant :
Dépendance 1:1 : Renault et Peugeot (seul un modèle est lié à une marque)
Dépendance multiple : Citroën (plusieurs modèles pour une seul marque)
Pas de dépendance : Ford (aucun modèle n’est associé)
Exemple : Affecter une tâche au responsable hiérarchique d’un acteur
Il est possible, en utilisant des listes liées, d’assigner une tâche à venir au supérieur hiérarchique. Ce paragraphe explique pas-à-pas comment réaliser cela.
Bien entendu, ceci n’est qu’un exemple, qui peut être décliné (affectation à un collègue, affectation à un remplaçant, à un service, etc.).
Création de la table de dépendance
Dans un premier temps, il est nécessaire de créer la table de dépendance qui sera utilisée pour les relations hiérarchiques. Cette table de dépendance ne lie non pas des listes de valeurs, mais la table utilisateur, avec la table utilisateur elle-même (cf image ci-après).
Suite à cela, il est nécessaire de sélectionner, pour chaque utilisateur (colonne), son responsable hiérarchique (ligne). Voici un exemple extrait des relations internes chez Iterop.
Bien entendu, dans le cas d’une entreprise avec un nombre d’utilisateurs élevé, il est tout à fait possible d’utiliser notre API pour mettre à jour cette table de dépendance.
Création du formulaire
Il reste maintenant à créer le formulaire qui va générer lui-même l’affectation dynamique. Pour cela il faut créer deux champs :
- Le champ utilisateur connecté
- Le champ utilisateur hiérarchique
Création du champ utilisateur connecté
Il s’agit de créer un champ de type utilisateur, obligatoire, avec pour option la restriction au groupe « Utilisateur connecté ».
Création du champ utilisateur hiérarchique
Il faut maintenant créer un second champ utilisateur, obligatoire lui aussi. Ce champ va dépendre d’une liste de sélection : « Utilisateur connecté », en utilisant la table de dépendance précédemment créée : « Relation hiérarchique ». Il faut sélectionner l’option « Restreindre en fonction de la dépendance », en effet cela empêche à l’utilisateur connecté de pouvoir modifier le résultat de la liste liée.
Affectation du supérieur hiérarchique à la tâche souhaitée
Dans la partie configuration des tâches qui doivent être affectées au supérieur hiérarchique, il suffit maintenant de vous rendre dans l’onglet « Affectation dynamique », de sélectionner « Par variable de type utilisateur », et enfin de sélectionner la variable créée précédemment (appelée ici « Supérieur hiérarchique »).
Désormais, cette tâche sera affichée automatiquement au supérieur hiérarchique de la personne qui aura réalisé la tâche dans laquelle le formulaire ci-avant aura été lancé.