Filtrage de deux objets associés

Bonjour,

J’ai 2 objets qui sont liés entre eux, et en même temps liés à un objet principal.
Ex: une liste de contacts qui sont liés à une entité. La recherche se fait sur les deux dans l’objet principal.

But : Dans un formulaire de l’objet principal, je dois sélectionner au début l’entité, puis quand je cherche les contacts je ne dois avoir que les contacts appartenant à cette entité.
Dans le cas inverse, si je sélectionne un contact appartenant à l’entité, automatiquement la recherche d’entité est restreinte à l’entité liée à mon contact.

Je suis parti de base sur un initRefSelect, mais le filtrage ne s’exécute qu’après enregistrement de formulaire.
Il me semble que le travail doit être fait en front.
Voici mon code défini sur l’objet contact :

public void initRefSelect(ObjectDB parent) {
			
		// Sur devis : ne récupérer que les contacts correspondants à l'entité séléctionnée
		if(parent!=null && parent.getName().equals("ObjPrincipal")){
			setFieldFilter("Contact_Entite_id", parent.getFieldValue("ObjPrincipal_Entite_id"));
		}
		}
	}

Auriez-vous une idée ?
D’avance merci

Pour ce genre de choses il faut mettre en place des link mappings (dans les 2 sens dans votre cas) qui permet de contraindre la sélection d’une référence via la valeur d’un autre attribut (ex: une autre référence).

Il y a un exemple sur la démo sur le “contact” où la sélection d’un client contraint la sélection de la commande.

PS: Votre approche via le initRefSelect ne peut pas répondre à votre besoin sans enregistrement préalable car ce code est du code serveur

ça marche bien.
Merci!