Récupération de la liste des codes en fonction de la traduction d'une valeur

Bonjour,

Je fais un adapter spécifique pour importer des données.
Une des données est un texte exemple “Traiter anomalie” qui se trouve être la traduction en français d’une liste de valeur listeEtapeDossier. listeEtapeDossier est un énuméré avec un code, dans l’exemple c’est 10.
Suite à l’import je voudrais que le formulaire affiche le texte et donc contienne le code. Pour ce faire soit je fais une espèce de mapping et du code soit je vais chercher le code en fonction du texte. C’est cette option que je voudrais en faisant une requete en base.
Merci pour votre aide.
Thierry

Je voudrais récupérer le code

Les libéllés traduits des listes de valeur ne servent qu’à l’affichage en base et dans tous les traitements ce qu’on manipule c’est les codes et rien d’autre.

Dans votre cas si je comprends votre fichier d’origine contient un libellé traduit, vous devez donc écrire la logique de récupération du code correspondant en vous basant sur les méta données de votre attribut: getField("myField").getList().getItemByValue("Mon libellé traduit", true).getCode()

En vous assurant de ne bien avoir la même chose en libellé traduit de votre liste que le texte dans votre fichier de données (et attention aux éventuels pbs d’encoding et à la langue du user qui execute votre adapter, etc.).

C’est juste de l’affichage, mince je voulais éviter de devoir coder un mapping avec les sources d’erreurs qu’il pourrait y avoir.

Oui faire du matching sur un libellé n’est, en général, jamais une bonne chose, ne pourriez vous pas avoir directement un code dans votre fichier d’origine ?

Non ce n’est pas possible.
C’est une étape transitoire du projet ou nous reprenons les données et nous n’avons pas de code associé au libellé.
De plus il y a plusieurs champs libre à la saisie et il y a déjà des divergences de libellé en particulier sur la case.
Merci, je vais utiliser les métadonnées.

Oui les matchings sur des libellés “libres” (avec des incohérences de casse, d’accents, d’espaces, etc.) c’est toujours problématique. Il y a toujours des trucs à retravailler manuellement

A savoir que dans un import standard CSV (mono-objet), Simplicité tente de retrouver le code avec la traduction donnée avec la langue de celui qui lance l’import.

Idem avec les formats des dates ou les valeurs booléennes yes/no, il essaye de retrouver différents formats. Mais ça ne remplacera jamais un ETL de transformation fait pour ça.