Recherche sur un champ hérité non fonctionnelle

Recherche sur un champ hérité non fonctionnelle
0
Tags: #<Tag:0x00007eff8c5aced0>

Bonjour

J’ai un objet B qui hérite d’un objet A.
L’objet A a une propriété “State”.
Je crée une recherche sur l’objet B avec le filtre :
{
“State”: “in (‘IN’,‘ES’)”
}
J’obtiens l’erreur suivante :
2019-10-25 11:01:33,367 ERROR [com.simplicite.util.ScriptedObjectDB] SIMPLICITE|http://f479ded93757:8080||ECORED0001|system|com.simplicite.util.ScriptedObjectDB|getField||Error Object B : unknown field undefined.

Cordialement

Bonjour
Il manque beaucoup d’informations pour analyse votre pb.
Déjà de quelle version parle-t-on ? (idéalement merci de fournir le début du /health)
Ensuite est-ce que “State” est le nom logique de votre attribut ?

Nous avons détecté que l’erreur provenait en partie d’un code custom.
Nous avons toutefois toujours un soucis avec le filtre initial d’une zone de recherche.
Contexte

  • Nous avons un objet métier Application qui possède entre autre, un attribut State (nom logique : State, Traduction “Etat”). Ces deux objets sont au sein d’un package A.
  • Nous avons un second objet ApplicationEAPM qui hérite de l’objet Application (via le champ “Code Héritier de”). Cet objet est déclaré dans un package B
  • Nous avons créer une recherche sur l’objet ApplicationEAPM en filtrant sur l’attribut State de mon objet.

Problème
Lorsque de l’affichage de la zone de recherche, non seulement le filtre n’est pas appliqué par défaut mais après clic sur la loupe, le champ pour filtrer n’est pas affiché sur la colonne State

Contournement
Le rechargement des préférences du tableau provoque le rechargement du tableau et cette fois-ci le filtre s’applique.

Informations sur le produit :
[Platform]
Status=OK
Version=4.0.P23
BuiltOn=2019-10-16 15:49 (revision c593f0a150e20cf2852acf4105f7e5272bb9ed26)

[Application]
ApplicationVersion=4.0

Vous devez avoir des contraintes ou du code qui rend ce champ “State” non recherchable de manière conditionnelle.

J’en profite pour vous conseiller des règles de nommage plus segmentées car State ce n’est vraiment pas un bon nom logique d’attribut. En effet les noms d’attributs sont uniques il convient donc de les préfixer, typiquement avec quelque chose qui rappelle le nom de l’objet et/ou du module ou de l’application (ex: dans notre application de démo standard on à un objet qui représente le client, nommé DemoClient, le nommage de l’attribut qui représente le nom du client est demoCliName).

Nous avons laissé le paramétrage par défaut que ce soit sur l’attribut et sur l’object field.
Par ailleurs s’il existait une condition, elle devrait s’appliquer toujours et non pas sur le rechargement de propriétés du tableau sur lesquelles nous n’avons fait aucune modification.

L’attribut s’appelle AppState, j’ai juste simplifié pour l’exemple.

Bonjour, je reviens vers vous.
Après de nombreux tests, la recherche est bien fonctionnelle. Voir pourrez trouver un cas de reproduction sur notre environnement https://bcsi.renault.simplicite.io/ui. Dans le menu “Démo”).
En revanche, il y a toujours un soucis au niveau de l’affichage.
Lors du chargement de la page et donc du tableau, les filtres ne sont pas clairement indiqués et la recherche sur les champs filtrés n’est pas possible. (Cf : PJ du post précédent dans “Problème”).
L’ouverture puis fermeture (sans rien modifier) des préférences du tableau, provoque le rechargement du tableau et l’apparition des filtres.

–> Il semblerait qu’il y ait un soucis avec les métadatas du tableau.

Cordialement