J’ai une contrainte qui passe en champ (Integer) en updatable = false.
Ma contrainte est back + front car j’en ai besoin pour un calcul de complétude en back également.
Je cherche un moyen de vider la valeur de mon champ à l’activation de la contrainte Readonly.
Champ en écriture Champ en readonly
J’ai tenté de mettre en place un deuxième impact de type Field Value, mais je rencontre plusieurs soucis :
si je mets l’expression de l’impact = “”, j’entre dans une boucle infinie car le change() se déclenche à chaque fois (on compare null et “”)
si je mets l’expression de l’impact = null, j’ai une erreur comme quoi ce n’est pas une valeur numérique
Allons bon, on dirait que j’ai encore réussi à faire un paramétrage farfelu … c’est peut-être une histoire de rendering, j’essaie de paramétrer un cas simple et je t’envoie le tout !
Bon, tu ne vas pas me croire, mais j’ai l’impression que la loop survient quand le nom du champ qui déclenche la contrainte contient le nom du champ qui la subit
J’ai créé un Booléen demoIntegerNa et un Int demoInteger → boucle infinie
Je renomme demoInteger en demoIntger sans “e” → plus de boucle infinie
Dans le code de la contrainte, je vois que les champs de nom “contenu” par les déclencheurs apparaissent dans l’array en haut qui est sensé éviter ce cas :
Ici, demoSupInteger apparaît alors qu’il n’est déclencheur d’aucune contrainte.
Je reproduis bien avec ton paramétrage, et ton analyse est la bonne.
Le code qui génère la liste des champs “condition” fait une recherche par sous-chaine, demoSupInteger étant un préfixe de demoSupIntegerNa, il était ajouté à cette liste.
Nous avons rendu le code plus robuste. Ça sera corrigé en 6.3.8