Gonexa University

Formation Avancée


La solution Gonexa Doc est la solution historique de Gonexa permettant de générer un document à partir d'un modèle au format .docx .xlsx .pptx .pdf

Objet secondaire (Requête personnalisée)

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.

Prérequis de la formation

  • Avoir déjà fait une configuration d'un modèle principal
  • Avoir un objet principal de configuré
Pourquoi une requête personnalisée ?


Une requête personnalisée 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.

Exemple

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 :

Créer un objet secondaire avec un seul résultat

#1

Nous souhaitons ici récupérer un seul résultat qui est un compte

  • Rendez-vous dans le composant “Assistant Gonexa”
  • Cliquez sur “Requête personnalisée”
  • Choisissez l'objet Salesforce concerné [Dans notre cas il s'agit de "Account"]
  • L'étiquette s'alimente par défaut mais vous pouvez la modifier pour plus de clarté dans le modèle
  • Rédiger la requête de récupération de l’ID, cette requête SOQL vous permet de récupérer l’enregistrement que vous souhaitez.


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.

Créer l'objet enfant de l'objet secondaire "Opportunity"
  • Après avoir créé un objet secondaire en faisant une requête personnalisée, vous pouvez à présent créer des objets enfants exactement de la même manière qu'à partir d'un objet principal
  • Depuis le composant Assistant Gonexa, l'objet secondaire Account apparaît en rouge au même titre qu'un objet principal

Autres exemples de requête de récupération d'ID

Objet principal est un Devis et je souhaite faire un Objet secondaire Compte


Requête de récupération : SELECT AccountId FROM Quote WHERE id = {RecordId}

Objet principal est une Session de Formation et je souhaite faire un Objet secondaire Compte


Requête de récupération : SELECT Compte__c FROM Session_Formation__c WHERE id = {RecordId}

Objet principal est une Opportunité et je souhaite faire un Objet secondaire Compte Partenaire du Compte

Dans ce cas on créé une requête SOQL imbriquée

Requête de récupération : SELECT Compte_partenaire__c FROM Account WHERE Id IN (SELECT AccountId FROM Opportunity 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. 


Créer un objet secondaire avec plusieurs résultats

#2

Dans le cas d’une requête personnalisée avec plusieurs résultats, l’objet choisi peut ou non être lié à l’objet principal, et doit être dans un tableau dans le document.

  • Rendez-vous dans le composant Assistant Gonexa, et cliquez sur “Requête personnalisée”
  • Choisissez l’objet Salesforce concerné, l'étiquette s'alimente par défaut mais vous pouvez la modifier pour plus de clarté dans le modèle
  • Sélectionnez “Tous les enregistrements”, quelques champs apparaissent en plus

    Si l’objet que vous souhaitez utiliser est lié à l’objet principal du modèle de document, renseignez le champ de liaison entre les deux dans le champ “Lien avec l’objet principal”
    S’il n’y a pas de lien vous pouvez laisser ce champ vide
  • Vous pouvez ensuite ajouter un filtre et un tri sur les enregistrements à récupérer si cela est nécessaire

Exemple 1 : Objet secondaire avec un lien avec l'objet principal

L'objet principal est Compte, nous souhaitons afficher les membres de campagnes correspondant aux contacts du compte.

  • Dans ce cas, nous choisissons l’objet “Membre de campagne”
  • On sélectionne “Tous les enregistrements”
  • Dans le champ “Lien avec l’objet principal”, on remonte les relations afin d’arriver au Compte

    Depuis l'objet membre de campagne, on remonte sur l'objet Contact pour arriver au Compte


  • Il ne reste plus qu'à ajouter un tableau contenant les balises dans le document

Exemple 2 : Objet secondaire sans lien avec l'objet principal

Nous souhaitons afficher tous les produits de type Options disponibles dans notre Salesforce et les ajouter dans notre document

  • Dans ce cas, nous choisissons l’objet “Produit”
  • Il est possible de renommer l'étiquette de l'objet en "Options" pour plus de clarté dans le document
  • On sélectionne “Tous les enregistrements”
  • Etant donné que nous voulons tous les produits disponibles dans notre Salesforce, il n’est pas nécessaire de remplir le champ “Lien avec l’objet principal”, laissons le vide
  • Dans la section Filtrer, nous pouvons ajouter un filtre sur le type = “Options”
  • Une fois cela effectué, nous pouvons ajouter nos balises à notre document. Nous récupérons plusieurs produits, les balises doivent donc être dans un tableau, au même titre qu’un objet enfant