Images affichées avec des champs formule dans Salesforce
Images affichées avec des champs formule dans Salesforce
L’utilisation d’images s’avère parfois plus efficace qu’un simple champ pour mettre en avant une donnée auprès d’un utilisateur.
C’est ainsi qu’en fonction de la valeur d’un champ, une image différente peut être affichée comme un drapeau d’une certaine couleur (par exemple rouge / orange / vert) en fonction de la gravité d’un incident (forte / moyenne / faible) ou bien un nombre d’étoiles affichées en fonction d’une note.
Nous allons nous pencher sur le cas d’une opportunité sur laquelle on souhaite associer une image affichant un ou plusieurs symboles monétaires € en fonction du montant de celle-ci. Les seuils utilisés seront les suivants :
- montant non renseigné, ne rien afficher
- 0 à 1000 €, afficher 1 symbole
- 1001 à 10000 €, afficher 2 symboles
- Au dela de 10000 €, afficher 3 symboles
Ceci va nécessiter de créer un champ formule dans lequel va être appelée la fonction Image.
Stockage de l’image
Avant de créer le champ formule, il faut au préalable disposer de l’image (au format 16 x 16 pixels, à créer ou récupérer sur internet) et la stocker dans Salesforce, soit au niveau de l’onglet Documents, soit en tant que ressource statique.
Selon la méthode employée, l’appel via la fonction Image se fera différemment.
Pour le cas d’un stockage dans l’onglet Documents :
- Créer un répertoire accessible par tous les utilisateurs en lecture seule (Onglet Documents | Créer un nouveau dossier)
2. Dans ce nouveau répertoire, uploader l’image, en cliquant sur le bouton Nouveau document et renseigner l’écran qui s’affiche comme suit :
3. Après avoir cliqué sur Enregistrer, l’écran ci-dessous apparaît. Noter l’Id (de l’image) qui est visible dans la barre d’adresse du navigateur Internet. Cette information va être utile par la suite. Ici, l’Id vaut 01520000002Mhvj.
Dans le cas d’un stockage en tant que ressource statique :
- Créer tout d’abord une ressource statique depuis Configuration | Développer | Ressource statique | Nouveau :
2. Une fois les données saisies, sur l’écran qui apparaît suite à l’enregistrement, cliquer sur l’hyperlien Afficher le fichier. Une nouvelle page s’ouvre, depuis laquelle il faut récupérer les informations affichées dans l’URL, en l’occurrence dans notre cas : /resource/1407440639000/DeviseEuro (utilisé en tant que 1er paramètre de la fonction Image)
Création d’un champ formule
Créer un champ formule (depuis le menu Configuration | Personnaliser | Opportunité | Champ) avec un type de renvoi de la formule = Texte
Saisir le code suivant dans l’éditeur de formule :
IF( ExpectedRevenue > 0, IMAGE("/servlet/servlet.FileDownload ?file=01520000002Mhvj", "€", 16, 16),"")
&
IF( ExpectedRevenue > 1000, IMAGE("/servlet/servlet.FileDownload ?file=01520000002Mhvj", "€", 16, 16),"")
&
IF( ExpectedRevenue > 10000, IMAGE("/servlet/servlet.FileDownload ?file=01520000002Mhvj", "€", 16, 16),"")
Une fois le champ créé, il peut être rajouté sur la présentation d’une opportunité ainsi que sur les différentes vues affichant des opportunités (en mode liste), ce qui donne le rendu suivant :
Dans le cas d’un stockage de l’image en tant que ressource statique, le 1er paramètre de la fonction image aurait du être remplacé ainsi :
IF( ExpectedRevenue > 0, IMAGE("/resource/1407440639000/DeviseEuro", "€", 16, 16),"")
&
IF( ExpectedRevenue > 1000, IMAGE("/resource/1407440639000/DeviseEuro", "€", 16, 16),"")
&
IF( ExpectedRevenue > 10000, IMAGE("/resource/1407440639000/DeviseEuro", "€", 16, 16),"")
Explications sur la formule Image
La fonction Image fait appel à 4 paramètres. Le 1er correspond à l’adresse de l’image / de la ressource.
Le 2e contient le texte de remplacement en cas de problème d’affichage de l’image et les 2 derniers arguments correspondent à la largeur et la hauteur de l’image en pixels.
Le code ci-dessus emploie le caractère & qui sert d’opérateur de concaténation (ici, jusque 3 images qui se succèdent).
A noter que Salesforce héberge un échantillon d’images utilisables directement. Des exemples sont cités dans l’aide en ligne :
Aide en ligne Salesforce
Par ailleurs, l’Appexchange propose des packages contenant des images utilisables dans des formules :
AppExchange Salesforce