Mise en place d'un mapping de relation

4.0
Tags: #<Tag:0x00007fc9f6625d00>
Mise en place d'un mapping de relation
0

(Lucie Richard) #1

Bonjour,
J’ai un mapping de relation sur une relation d’objet sur une version de simplicité 3.0 qui, une fois migré en 4.0, ne me fait pas le même résultat.
J’ai construit un mini modèle sur mon environnement de formation pour tester la mise en place de ce mapping mais je n’arrive pas à obtenir le comportement que je souhaite (Mapping de relation ou pas, toutes mes versions sont affichées, indépendamment du projet sélectionné.)
Contexte :

  • J’ai X versions rattachées à un projet
  • J’ai des Demandes rattachées à un projet, à une version de détection et une version cible.
    Comportement souhaité :
    Lors de la sélection des versions, je ne vois que les versions liées au projet sélectionné dans la demande.
    Ci-dessous le schéma Business Objet et le mapping de relation que j’ai effectué.

Ci-après le comportement que j’ai actuellement lors de la création de ma demande.

Par exemple dans la création de ma demande je sélectionne le projet « MIG2018 ». Lors de la sélection de la version de détection le pop-up m’affiche toutes les versions quelque soit le projet or je souhaiterais qu’elle soient filtrées par rapport au projet sélectionné.

Quel est le moyen/paramétrage à mettre en place pour répondre à ce besoin ? Pourquoi le mieux n’a aucun impact sur le résultat?

Autre info: en version non responsive j’ai le comportement inverse: le pop-up m’affiche aucune version, la liste est toujours vide.

Merci d’avance de votre retour.


(David AZOULAY) #2

Avec la UI legacy les mappings de relation devraient fonctionner comme en 3.x, mais effectivement je vois sur celui qui est dans la demo (sur l’objet contact) que ça ne semble pas bien marcher (liste vide), nous allons investiguer

@francois je te laisse répondre sur la UI responsive (je ne sais pas si le mécanisme de linkmap a été mis en oeuvre sur cette UI)


(François Genestin) #3

Les linkmaps sont effectivement en cours de réflexion en 4.0.
La version 3 proposait uniquement un popup de sélection filtré sur un champ mappé.

  • Ce n’est pas encore implémenté en responsive car les couches Rest/Ajax ne l’implémentent pas encore
  • Et la règle n’a jamais été implémentée en back (forcer un contrôle lors du save comme pour les cardinalités des liens), du coup par rest/ajax on peut lier une version et un projet incompatible.

On va reprioriser ce besoin car en général on utilisait un hook initRefSelect de l’objet :
ce hook est appelé avant ouverture du popup de recherche de référence, on peut aller chercher la valeur d’un champ du parent et forcer un filtre.

objProjetVersion.initRefSelect = function(parent) {
  if (parent)
    this.setFieldFilter("ProjetFK.projetNom", parent.getFieldValue("projetNom"));
};

(François Genestin) #4

Bon c’est fait, ceinture (UI) et bretelle (contrôle lors du save).

C’était pas si compliqué mais ça restera à tester dès demain.
J’en ai profité pour modifier le formulaire et le rendre un peu plus compréhensible.