Problème sauvegarde avec une action

Bonjour,

J’ai une action qui sert de transition d’état entre l’état 1 et 2.
Lorsque je clique dessus, j’affiche dans les logs les valeurs contenues dans les champs de mon formulaire, mais le problème, c’est que même si je rentre des valeurs et que j’appuie sur l’action, la valeur affichée dans les logs est vide.

  1. Je renseigne mon champ

  2. Je clique sur mon action
    image

  3. J’affiche la valeur de mon champ dans les logs pour vérifier si l’action prend bien en compte mon formulaire
    image
    image

C’est vide et aucune valeur n’est affichée. J’ai l’impression que mon action prend en compte uniquement la valeur enregistrer dans le champ mais pas la valeur actuelle (celle qui n’a pas encore été enregistrer). La preuve est que si je sauvegarde mon formulaire avant d’appuyer sur l’action, ma valeur est bien prise en compte. Mais si j’essaye de la modifier par une autre valeur et que j’appuie sur l’action avant de cliquer sur le bouton “Enregistrer”, j’ai toujours l’ancienne valeur, mais pas la nouvelle.

Je voudrais vraiment ne pas avoir à cliquer sur “enregistrer” avant de cliquer sur mon action et que ce soit l’action qui enregistre pour moi. Avez-vous une idée ?

On parle bien d’une action de transition d’état ou d’une action custom ?

Car une action de transition d’état standard enregistre bien le formulaire avant de faire la transition.

A nouveau cf. la demo sur l’objet DemoOrder ou DemoContact => celle-ci est conçue pour servir d’exemple pour les mécanismes standards usuels de la plateforme => comparez vos paramétrages avec ceux de la demo.

C’est une transition d’état.

J’ai déjà comparé avec une autre transition d’état qui de mon coté fonctionne bien comme je voudrais.
(PS: j’ai même copié la transition d’état qui fonctionne en changeant juste les états et l’action pour être sûr que tout fonctionne. Mais rien n’y fait).

Transition d’état qui fonctionne :


Transition d’état qui fonctionne pas :

Action associé à la transition d’état qui fonctionne :


Action associé à la transition d’état qui fonctionne pas :

J’ai passé pas mal de temps à les comparer pour savoir pourquoi l’une fonctionne et pas l’autre. Par contre je ne pense pas que le problème vient de l’enregistrement mais plutôt du fait que quand je clique sur l’action qui ne fonctionne pas, je récupère pas la valeur actuelle renseigner dans le champ, mais plutôt la valeur enregistrer en base de données.

Pour être plus précis :
1 - J’écris Paris dans le champ “Ville”
2 - Je clique sur mon action
3 - La valeur du champs retourner est nulle au lieu de Paris
4 - Je recharge la page
5 - J’écris Paris dans le champ “Ville”
6 - J’enregistre
7 - Je supprime la valeur dans le champ “Ville”
8- Je clique sur mon action
9 - La valeur du champ retourner est Paris au lieu de nulle.

Auriez-vous une idée ?

Votre action a un type d’exécution “Front” (i.e. coté UI donc appel d’une URL ou execution d’un traitement JavaScript custom avant sauvegarde du formulaire)

Une action de transition d’état doit avoir un type d’exécution “None” (i.e. ni traitement custom coté UI ni traitement custom coté serveur).

Ex dans la demo:

C’est ce que j’avais au début, mais comme ça ne marchait pas, j’ai copié l’action qui fonctionne.

En tout cas, je viens de remettre “Aucun” et après avoir supprimé le cache, j’ai toujours le même problème.
Cela n’a pas l’air d’être la solution.

Vérifiez que vous n’avez pas du JS ou un nom de méthode résiduel en la repassant temporairement en “Front” puis “Back”

Un action de transition d’état nominale est nécessairement de type “Aucun” sans méthode ou traitement JS.

Ensuite, vous avez peut être des contraintes ou du code qui rend votre attribut non modifiable à un “mauvais” moment = trop tôt (un attribut non modifiable au moment de l’enregistrement n’est - légitimement - pas pris en compte à l’enregistrement). Dans ce cas essayez d’inhiber votre code (en le mettant en commentaires) et/ou vos contraintes (avec un ordre négatif) pour cerner ce qui pose pb.

1 Like

Merci David.

En passant mes contraintes en négatives, cela fonctionne.
Merci beaucoup.

Ok mais des contraintes en négatif ne s’exécutent plus du tout => il faut donc plutôt revoir les conditions d’exécution de ces contraintes pour au ça fasse ce que vous voulez

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