You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2020-03-09 11:40:18

Michel Karwatka
Member
Registered: 2015-04-08
Posts: 58

[Formcreator] Regroupement d'opérateurs logiques

Formcreator permet de définir des critères qui déterminent si une question est affichée ou pas.
Les opérateurs logiques ET et OU peuvent être utilisés pour combiner les différents critères.
Par contre il ne semble pas qu'il soit possible d'utiliser les parenthèses pour déterminer l'ordre de prise en compte des critères.

Exemple :
1. j'ai une question "Système" qui propose 4 noms de systèmes informatiques (SI1,SI2,SI3,SI4)
2. J'ai une question "Action" qui propose 5 actions possibles sur ces différents systèmes (A1,A2,A3,A4,A5)
3. Si l'utilisateur choisi le système SI1 et une des actions A1 ou A2, je dois afficher une question spécifique.

Le filtre correct devrait être : Système = "SI1" ET (Action = "A1" OU Action = "A2")

Comme FormCreator ne permet pas de mettre des parenthèses, j'ai créé le filtre Système = "SI1" ET Action = "A1" OU Action = "A2", ce qui donne évidemment un  résultat tout à fait différent.

J'ai essayé de mettre les critères dans un ordre différent, de mettre plusieurs valeurs dans un critère de sélection, ...  mais sans atteindre le résultat escompté.
La seule solution que j'ai trouvée est de mettre un chiffre devant les noms d'actions (exemple 1. A1, 2. A2, 3. A3, ...). En attribuant les chiffres 1 et 2 aux deux actions qui m'intéressent, peux créer le filtre suivant :
Système = "SI1" ET Action < 3 qui me donne le résultat attendu.

Auriez-vous déjà rencontré ce problème et si oui avez-vous pu le résoudre d'une autre façon qu'en rajoutant des numéros devant les actions ?

Merci d'avance pour votre réponse.

=================================================
*** GLPI 9.3.4
*** Environnement : Windows Server 2012
*** FusionInventory : 9.3+1.4
*** Form Creator : 2.8.1

Offline

#2 2020-03-09 11:48:15

btry
Moderator
Registered: 2015-10-01
Posts: 591

Re: [Formcreator] Regroupement d'opérateurs logiques

Bonjour

Le plugin prend en compte la priorité de l'opérateur AND sur l'opérateur OR.

Système = "SI1" ET Action = "A1" OU Action = "A2" équivaut donc à (Système = "SI1" ET Action = "A1") OU Action = "A2".

Il n'y a pas de plan pour le moment pour améliorer le calcul des conditions.

Utilisez l'expression Système = "SI1" ET Action = "A1" OU Système = "SI1" ET Action = "A2"

En gros, vous ne pouvez pas factoriser votre expression booléenne.

EDIT : si vos conditions contiennent de nombreuses lignes, vous risquez d'avoir des soucis de performance. Cela a été résolu dans les dernières versions du plugin.


No support with MP - Always run an upgrade task on a testing instance before running it on production! Always backup before any upgrade task!

Offline

#3 2020-03-09 12:01:31

Michel Karwatka
Member
Registered: 2015-04-08
Posts: 58

Re: [Formcreator] Regroupement d'opérateurs logiques

La solution proposée fonctionne.
Un grand merci pour votre réponse rapide.

Offline

Board footer

Powered by FluxBB