• Accueil / Salesforce / Paramètres de rapport…
, Paramètres de rapport Salesforce dans une URL de communauté<span class="wtr-time-wrap after-title"><span class="wtr-time-number">6</span> minutes de lecture</span>

Paramètres de rapport Salesforce dans une URL de communauté6 minutes de lecture


Rrécemment, je travaillais avec un collègue sur une demande client intéressante. Le client a créé un rapport personnalisé pour afficher les données de ligne de devis. En interne, ils ont utilisé la fonctionnalité de paramètre d’URL commune fournie par Salesforce. Ils ont créé un bouton personnalisé pour transmettre l’ID de devis, qui a filtré les résultats du rapport. Cela est simple à faire en ajoutant? Fv0 = {value} à l’URL du rapport, expliqué dans le Documentation Salesforce. Mais ce même processus ne fonctionne pas pour transmettre les paramètres de rapport Salesforce dans une communauté.

Limitations des paramètres d’URL de communauté

Dans une communauté Salesforce, l’ajout de ces mêmes paramètres de rapport? Fv0 = {value} ne produit aucun résultat filtré. Au lieu de cela, vous obtenez un message d’erreur. Mais le client utilise une communauté de partenaires et devait exposer cette même fonctionnalité à ses partenaires.

Avec un peu de fouille (et essais et erreurs), nous avons découvert que vous pouvez passer des paramètres, mais que vous devez utiliser un format JSON. Ce format ressemble à ceci:

?reportFilters=[{"operator":"equals","value":"0011b000000000","column":"Id"}]

En utilisant ce format, vous pouvez transmettre un identifiant, un nom ou d’autres informations afin de filtrer le rapport.

En outre, la définition des filtres de cette manière étend les capacités. Vous n’êtes pas limité à définir la valeur sur un filtre existant, vous pouvez créer un nouveau filtre net!

Définition des paramètres de rapport Salesforce dans une communauté

Maintenant, pour utiliser cela dans votre communauté, il y a quelques étapes pour que les choses fonctionnent.

  1. Vous devez convertir au format URL encodé pour l’utiliser dans un bouton.
  2. Vous devez trouver le nom de la colonne qui sera utilisé pour filtrer votre rapport (ce qui peut nécessiter un peu de fouille)
  3. Ajoutez l’URL de votre communauté au préfixe et insérez vos champs de fusion

Je vais parcourir la configuration que j’ai créée dans une organisation de développement pour protéger l’anonymat du client.

, Paramètres de rapport Salesforce dans une URL de communauté<span class="wtr-time-wrap after-title"><span class="wtr-time-number">6</span> minutes de lecture</span>

Voici notre bouton sur l’objet Quote. Nous créons un simple bouton de page de détail, que nous ouvrons dans une nouvelle fenêtre.

URL encodée

Le format encodé en URL de nos paramètres de rapport ressemble à ceci:

/bolt/s/report/00O4p000003wTmvEAE?reportFilters=%5B%7B%22operator%22%3A%22equals%22%2C%22value%22%3A%22{!SBQQ__Quote__c.Id}%22%2C%22column%22%3A%22CUST_ID%22%7D%5D

URL de la communauté

En résumé, la première partie est l’URL de notre rapport spécifique (/ bolt / s / report / 00O4p000003wTmvEAE). Le 00O est notre identifiant de rapport, et le / bolt / est notre instance de communauté spécifique. Pour l’utiliser dans votre organisation, remplacez ces deux éléments.

Filtres de rapport

Ensuite, nous avons notre reportFilters = code, mais avec le codage URL des symboles. Nous avons les différents paramètres que nous pouvons définir (opérateur, valeur, et colonne).

Dans notre cas d’utilisation, nous souhaitons utiliser l’ID du devis pour filtrer le rapport. Nous avons donc le opérateur mis à égal, mais nous aurions pu utiliser d’autres opérateurs (comme contient, supérieur à, etc.).

Notre valeur est l’identifiant de la citation. En utilisant la fonction «Insérer un champ de fusion» du générateur de boutons, vous pouvez insérer n’importe quelle information de votre enregistrement.

Notre colonne est le champ qui filtrera le rapport en fonction de notre enregistrement de départ. Dans notre cas d’utilisation, nous utilisons l’ID de devis pour rechercher des lignes de devis associées. Mais comme vous pouvez le voir, je n’ai pas transmis « Id », il est défini sur « CUST_ID ». Pourquoi?

Selon l’objet de votre rapport, vous pouvez avoir un type de rapport personnalisé ou standard. En raison de ces différences, votre colonne peut avoir un nom unique qui doit être appelé. Même si « Nom » et « Id » sont communs à tous les objets Salesforce, ceux-ci peuvent ne pas être disponibles dans votre rapport.

Recherche du nom de votre colonne

Lors de la création de notre bouton, nous avons rencontré cette erreur:

For the filter 3: Specify a valid filterable column because Id is invalid.

Cette erreur était frustrante, car la colonne Id était sur le rapport (bien que cela ne soit pas obligatoire pour ce faire), nous avions créé un filtre pour Id (également non obligatoire), mais nous n’avons pas pu contourner cette erreur.

Si vous rencontrez également cette erreur, vous devez savoir comment votre colonne s’appelle réellement. Pour le trouver, nous devons appeler l’API Analytics. Les étapes de ce processus sont les suivantes:

  1. Ouvrez la console développeur.
  2. Dans le menu déroulant, choisissez la fenêtre «Debug> Open Execute Anonymous».
  3. Dans la fenêtre « Saisir le code Apex », collez ce qui suit, en remplaçant votre identifiant de rapport:
String reportId = '00O250000000000'; 

Http http = new Http();
       HttpRequest httpReq = new HttpRequest();
       HttpResponse httpRes = new HttpResponse();      
       httpReq.setMethod('GET');
       httpReq.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionId());
       httpReq.setEndpoint(
           URL.getSalesforceBaseUrl().toExternalForm()+
           '/services/data/v29.0/analytics/reports/' + reportId +
           '?includeDetails=true'
       );
       httpRes = http.send(httpReq);
       System.debug(httpRes.getBody());
  1. Cochez la case «Ouvrir le journal» et exécutez le code.
  2. Dans le journal, faites un clic droit et choisissez «Ouvrir le journal brut».
, Paramètres de rapport Salesforce dans une URL de communauté<span class="wtr-time-wrap after-title"><span class="wtr-time-number">6</span> minutes de lecture</span>
  1. Cherchez soit reportFilters (pour les filtres existants à utiliser) ou detailColonnes (pour les colonnes du rapport) et recherchez le nom du champ en regard de la colonne.
, Paramètres de rapport Salesforce dans une URL de communauté<span class="wtr-time-wrap after-title"><span class="wtr-time-number">6</span> minutes de lecture</span>
Filtres de rapport
, Paramètres de rapport Salesforce dans une URL de communauté<span class="wtr-time-wrap after-title"><span class="wtr-time-number">6</span> minutes de lecture</span>
Colonnes de rapport

Dans notre cas, nous recherchons l’identifiant du devis, nous avons donc utilisé « CUST_ID ».

Conclusion

Une fois notre URL créée et le bouton ajouté à la mise en page de la page partenaire, un clic sur le bouton a ouvert une nouvelle fenêtre avec le rapport filtré.

, Paramètres de rapport Salesforce dans une URL de communauté<span class="wtr-time-wrap after-title"><span class="wtr-time-number">6</span> minutes de lecture</span>

Si vous essayez cela dans votre organisation, faites-le moi savoir dans les commentaires ci-dessous.



Source de l’article traduit automatiquement en Français

Besoin d'aide ?
Voulez-vous utiliser Pardot à sa capacité maximale et avoir
+ DE LEADS QUALIFIÉS

Notre analyse de votre Pardot offerte dès aujourd'hui
Merci, vous pouvez compléter notre questionnaire
Nous allons revenir vers vous rapidement !

Fermer