Erreur clé fonctionnelle existante non remontée quand warning généré

3.1
3.2
4.0
Erreur clé fonctionnelle existante non remontée quand warning généré
0
Tags: #<Tag:0x00007f2938372e28> #<Tag:0x00007f2938372c98> #<Tag:0x00007f2938372b58>

(Lucie Richard) #1

Bonjour,

Cette anomalie a été découverte en 3.1 et reproduite en version 3.2 et 4.0 (patch level P22b (database patch level P21), built on 2018-12-18 19:23).

Contexte:
L’utilisateur a dupliqué un enregistrement sans faire de modifications et a enregistré. Un message Warning est généré dans le prevalidate. L’enregistrement s’est bien effectué malgré que la clé fonctionnelle existe déjà.

Constatations:

  • Quand aucun message warning est généré, l’erreur du socle “Clé fonctionnelle existe déjà …” apparaît bien
  • Quand un message warning est généré, malgré qu’une erreur socle devrait être générée, il passe dans les méthodes…save => dans notre cas, création de doublon
  • En 4.0, en plus des constatations précédentes, quand il y a un Warning en création,celui -ci est bien affiché en mode Legacy, mais aucun message affiché en mode Responsive.

Merci d’avance de votre prise en compte.


(David AZOULAY) #2

On va investiguer le cas que vous décrivez mais peut être pourriez vous remonter votre warning plutôt dans le postValidate ?

En effet, sans présumer de votre cas métier ni des résultats de l’investigation ci-dessus, le preValidate sert normalement à préparer/completer/corriger “silencieusement” les données en vue du validate, les règles de gestion avec messages utilisateurs ont généralement plutôt leur place dans le postValidate (car s’il y a un pb de données - par exemple un doublon fonctionnel - ça bloquera au validate qui est là pour ça).


(François Genestin) #3

Merci, on va corriger mais ce cas ne s’est jamais présenté car on ne remonte jamais de Warning dans un preValidate.


(François Genestin) #4

Corrigé en maintenance 3.1, maintenance 3.2 et 4.0 prerelease et master.

Il faudra attendre que les versions soient releasées ou bien déplacer votre Warning dans le postValidate