Calcul automatique

Bonjour,

Dans un formulaire, j’ai plusieurs champs avec des valeurs et des champs qui affichent le résultat de calculs en fonction de ces valeurs.

Actuellement j’ai un bouton “Calculer” qui lance le calcul mais est-il possible d’avoir un calcul automatique dès que je change une valeur sans avoir besoin du bouton?

Version=5.1.36
BuiltOn=2022-03-25 23:37
Git=release/8329db12a092c6c91775901c9f207681792bbea1
Encoding=UTF-8
EndpointIP=10.0.32.65
EndpointURL=http://lsllcot01.lausanne.ch:20458
TimeZone=Europe/Zurich
SystemDate=2022-04-05 13:42:10

Bonjour Fabrice,

Comme écrit dans la leçon sur les champs calculés (training) , un champ calculé peut être persistant ou non. S’il n’y a pas de nom physique, alors il n’y a pas de colonne associée dans la base de données, et Simplicité calculera alors la valeur à chaque affichage. S’il y a un nom physique, alors Simplicité stockera le résultat du calcul dans la base à chaque sauvegarde de l’objet métier.
L’action Lancer le calcul n’apparait que pour les champs persistés (rattrapage de données dans une base où le calcul a été ajouté).

J’ai pensé à ça en mettant une expression calculée, mais il faut malgré tout cliquer sur Enregistrer pour que le calcul se fasse.

L’idée est qu’en sortant d’un champ valeur le nouveau calcul se fasse automatiquement sans avoir besoin de cliquer.

Il faut déclencher un calcul de cette expression calculée sur le onChange d’un des attributs. Il faut ajouter ce comportement dans le hook front form.onload de l’objet.
Vous avez un exemple dans le module Demo sur l’objet DemoOrder.

Ou bien créer une contrainte Front sur expression = [ISNEW] qui change la valeur du champ.

[Message prédéfini]

Nous conseillons aux utilisateurs de marquer comme “solution” la réponse résolvant leur problématique pour permettre au support de mieux suivre les sujets non résolus, et à la communauté de trouver plus facilement la bonne réponse.

Vos messages indiquant une résolution du problème, nous avons réalisé cette opération pour vous.

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