Conflits sur des Contraintes de même effets avec un ordre différent

Request description

Bonjour,

J’ai une contrainte avec un effet back-end et un ordre de 100 qui vérifie que les champs ne soit pas null en les rendant Obligatoire:

J’ai une deuxième contrainte avec un effet back-end et un ordre de 110 qui change la valeur du champ :

Mon objectif était que l’objet vérifie d’abord que le champ n’est pas vide, puis si il n’est pas vide il change la valeur de ce champ.

Sauf que la première contrainte (ordre 100) ne fonctionne pas car pour l’objet, le champ n’est pas vide car je remplace sa valeur dans la contrainte suivante (ordre 110). La preuve est que si je rends inactif la contrainte d’ordre 110, la contrainte d’ordre 100 refonctionne.

C’est selon moi pas logique car la contrainte d’ordre 100 devrait d’abord s’exécuté puis ensuite celle d’ordre 110. Il ne devrait pas y avoir de lien entre ces 2 contraintes qui devraient être indépendante l’une de l’autre.

Avez-vous une idée du problème ?

PS : Les 2 contraintes fonctionnent séparément, mais ensemble celle d’ordre 110 ne fonctionne pas.

Technical information

Instance /health
[Platform]
Status=OK
Version=5.2.3
BuiltOn=2022-05-10 18:31
Git=5.2/75384808e0fc7f992d50959bdc3fb75a79deac57
Encoding=UTF-8
EndpointIP=10.201.117.57
EndpointURL=http://siparex-simplicite-dev-557d978ccf-xvkwk:8080
TimeZone=Europe/Paris
SystemDate=2022-05-13 16:09:44
Simplicité logs
NA

Bonjour,

Je ne reproduis pas le comportement que vous décrivez.
Les contraintes s’appliquent bien dans l’ordre saisi.
Dans votre 2eme contrainte vous devez tester que l’attribut Commentaire est non vide avant de le concaténer avec login et date.
Vous avez des attributs de type Bloc-note (dans la demo sur le fournisseur l’attribut Commentaires dans la zone Autres) qui ajoute la date heure et le prénom nom de l’utilisateur pour chaque commentaire.

Justement, le but est que la contrainte 100 rende le champ obligatoire et donc non-vide.
Du coup normalement, il n’y a pas besoin de vérifier pour la contrainte 110 que le champ bloc note ne soit pas vide vu que normalement ça ne peut pas être le cas.

Ok, comme c’est ce qui se produit chez moi, cela doit venir d’un autre endroit, mais comme les contraintes fonctionnent chacune séparément, je me dis que ça ne peut pas venir de là.

On va regarder pour mettre des champs Bloc-notes à la place.

Vous pouvez aussi utiliser du code back plutôt que des contraintes.

C’est ce que nous faisions au début, mais nous voulions utiliser les fonctionnalités prévu par Simplicité. Nous ne pouvons pas finalement utilisé un champ de type bloc-notes (nos utilisateurs ne veulent pas).

Vu que nous avons ce problème de contraintes qui ne veulent pas s’exécuter, nous allons effectivement repasser par code.
Merci beaucoup.

PS : Le problème restera cependant toujours présent même si nous n’en connaissons pas l’origine.

Il faudrait que j’ai un accès à votre instance pour comprendre pourquoi les contraintes ne fonctionnent pas dans votre cas précis.

Je vous ai envoyé tout ça par MP

Comme dit il fallait tester que votre champ n’est pas vide et cela fonctionne.
Il n’y a pas d’étoile rouge car le champ est obligatoire lors de la transition d’état.
J’ai mis un exemple sur evlValInitEvalComment

Merci, par contre je rencontre un bu visuel (peut être normal).

  1. Je vais sur mon Evaluation

  2. Je passe à l’état suivante sans avoir rempli le champ commentaire obligatoire (DAF dans notre cas)

  3. J’ai bien le message me disant que le champ est obligatoire. Cependant les autres champs de la contrainte voient leurs valeurs disparaitre

  4. Je remplis le champ obligatoire et je repasse à l’état suivant et les valeurs réapparaissent telles qu’elles étaient.

C’est juste un bug visuel donc pas de problème de perte de données, mais j’avoue que c’est un peu embêtant.

Bonjour,

Est ce que je peux le constater par moi même sur votre instance ?
Merci

Oui vous pouvez.

Vous pouvez tester avec l’évaluation : AIRRIA (elle se trouve dans l’état 3).
Vous pouvez aller jusqu’à l’état 5 (et le faire passer à l’état 6), pour constater le problème.

Pour clôturer ce sujet (si d’autre utilisateurs veulent la solution) :

Il fallait tester que la valeur ne soit pas null avant de remplir la valeur du champ dans la contrainte d’ordre 110.

Pour le bug, @nathalie m’a indiqué que lorsqu’on a des impacts qui s’exécutent en back uniquement il vaut mieux employer des expressions qui s’exécutent en back aussi.

Voici donc un exemple d’expression utilisé dans la contrainte d’ordre 110 (remplir les champs automatiquement) :

!Tool.isEmpty([VALUE:evlValDafComment])&& [OLDSTATUS].equals("REVIEWED_MANAGER") && [STATUS].equals("REVIEWED_DAF")?[VALUE:evlValDafComment] + "--" + [LOGIN] + " - " + [DATE]: [VALUE:evlValDafComment]

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.