Les requêtes personnalisées permettent de pouvoir naviguer dans le modèle d'objet Salesforce sans forcément avoir un lien avec le contexte de départ.
L'objet secondaire permet d'obtenir un 2ème point de départ différent de l'objet principal pour permettre d'aller chercher des données dans un autre objet qui n'a pas de lien direct avec mon objet principal.
Vous êtes sur un objet principal au niveau d'un contact, vous pourriez avoir le besoin d'afficher la liste des opportunités en cours sur le compte du contact en question.
Le modèle d'objet ressemblerait à ça :
Requête de récupération dans notre exemple : SELECT AccountId FROM Contact WHERE id = {RecordId}
SELECT AccountId
AccountId est le nom API du champ précis sur l'Objet Contact. Attention, si vous êtes sur un lookup personnalisé, le champ aurait pu s'appeler "Compte__c"
FROM Contact
On indique simplement l'objet principal ici à partir duquel on fait la requête
WHERE id = {RecordId}
Cela permet d'identifier le compte qui est lié au contact. La balise {RecordId} est bien à formaliser précisément de cette manière.
Requête de récupération : SELECT AccountId FROM Quote WHERE id = {RecordId}
Requête de récupération : SELECT Compte__c FROM Session_Formation__c WHERE id = {RecordId}
💡 L'astuce du Support, prenez Salesforce Inspector pour trouver la requête qui permet de renvoyer le bon record qui correspond à l'objet Principal.