Erreur de référencement des clé étrangères suite à la montée de version 5.1.39 à 5.2

Problem description

Nous Avons réalisé la montée de version de Simplicité de 5.1.39 à 5.2. Toutes les clés étrangères nous remonte des Warnings sur les logs et erreurs sur les audit comme suivant:

Steps to reproduce

Faire la montée de version vers la 5.2 et vérifier directement sur les logs ou l’audit si vous avez des erreurs du genre : Foreign key xxxxxxx in object xxxxxxx is incomplete for validation. Add field to determine the referenced object xxxxxxx

la clé étrangère est normalement automatiquement référencé par le row_id de l’objet principal. Or, c’est plus le cas sur la 5.2

Technical information

Le problème existe sur nos différents modules des différents projets que nous gérons.
La version coupable = > Simplicité 5.2 :smiley:

Cela indique des pbs de complétude référentielle dans votre paramétrage ce sont donc des choses que vous devez corriger.

NB: Ce ne sont que des warnings car le moteur complète ce qui manque au runtime (@Francois tu confirmes ?)

Bonjour David,

Nous nous sommes dis la même chose or que ce problème n’a commencé à exister qu’une fois que nous avons fait la montée de version ver la 5.2. nous avons fait le test sur les autres projets ( différents environnements ) même chose. Aucune erreur sur la 5.1.39 une fois que nous entamons la montée de version vers la 5.2. Les erreurs s’affichent tout de suite.

Ps : c’est des warnings sur les logs mais des erreurs sur l’audit :

Oui cela reste des erreurs de paramétrage (donc l’erreur niveau audit est légitime), au runtime la plateforme compense donc on le trace comme warning dans les logs.

Ces contrôles sont une nouveauté de la 5.2, c’est normal de ne pas avoir ces warnings et ces erreurs d’audit en 5.1

https://docs.simplicite.io/5/releasenote/releasenote-5.2.md

Je vous invite à lire la release note 5.2 en particulier et en général lorsque vous changez de version.
Ce point est effectivement une évolution qui signale une erreur de paramétrage.

Avant c’état un warning car la UI compensait l’erreur de clé fonctionnelle sur les objets liés en cherchant un objet avec le row_id qui “ressemble à un bout de la clé”, mais cela pose beaucoup d’autres problèmes que Simplicité ne peut pas toujours résoudre, par exemple lors des imports XML sans avoir de row_id.

Il faut donc corriger vos modules en ajoutant les clés fonctionnelles des clés étrangères manquantes.
Sinon Simplicité les ajoute temporairement de façon caché à l’objet pour que ce soit passant.

Bonjour merci pour vos réponses. ça ne marche pas de notre côté. Voici un exemple concret :

Par exemple pour la 2ème clé technique tmoRescomComId Nous choisissons dans le champs réference la clé fonctionnelle de l’obket TmoCommunication comme suivant :

mais l’erreur persiste comme suivant :



Nous avons le même problème sur les objets System Simplicité ( View, Module, simpleUser ) :


J’ai même remarqué que nous avons le même problème sur le module démo que vous nous proposez :
image

Sur cet environnement nous utilisons la version 5.2.3

Merci d’avance pour votre réponsé.

Il n’y a pas de champ référencé à mettre sur une FK, uniquement l’objet référence.
Il faut bien mettre le champ référencé en cas de jointure donc sur les champs ramenés.

Non reproduit, comment est configuré le champ row_id ? on dirait qu’il est devenu clé fonctionnelle. ce qui n’est pas la cas. Avez vous changé quelque chose niveau système ?
Voici comment il doit être configuré :

On a corrigé le pb sur ModuleCommit qui est effectivement un faux positif dans la prochaine version.

Et oui on l’a vu aussi, ce sera corrigé dans une prochaine version de la démo qui n’a pas bien regardé son audit.

Nous avons cru que nous avions des problèmes de paramétrage du coup on a pas bien saisi ce que vous aviez proposé.
Pour faire plus simple pour les autres personnes qui verront le poste. Solution : Parmi les champs importés de l’objet lié, il faut obligatoirement importer la clé fonctionnelle en premier.

Merci à tous.

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