Suivez votre progression
Accueil Trailhead
Accueil Trailhead

Utilisation des actions rapides, boutons personnalisés ou d’Apex

Objectifs de formation

Une fois cette unité terminée, vous pourrez :
  • Créer des actions rapides (au lieu d’utiliser du JavaScript) pour valider des champs, créer des enregistrements dont les valeurs sont préremplies et rediriger vers une page Visualforce.
  • Expliquer comment utiliser des boutons d’URL personnalisés pour qu’ils remplissent les mêmes fonctions de navigation et de redirection que des boutons JavaScript.
  • Utiliser un bouton Visualforce personnalisé au lieu d’un bouton JavaScript pour travailler avec plusieurs enregistrements dans des listes.

Vous avez des boutons ? Nous avons des alternatives

Nous avons précédemment expliqué pourquoi il était temps de migrer vers Lightning Experience, où de nouvelles fonctionnalités géniales vous permettent de vous passer des boutons JavaScript. Nous expliquerons ensuite comment vous pouvez sans difficulté migrer les fonctionnalités de vos boutons JavaScript en utilisant des solutions fonctionnant à la fois sous Salesforce Classic et Lightning Experience.

Ce tableau associe des scénarios d’utilisation de boutons JavaScript à des alternatives qui sont des solutions dans Lightning (généralement meilleures).

Principaux scénarios d’utilisation de boutons JavaScript Alternatives Lightning Déclaratif / de programmation
Valider des champs (préenregistrement) Actions rapides (utilisant des valeurs et/ou formules par défaut) D
Déclencheurs Apex P
Créer des enregistrements dont les valeurs sont préremplies Actions rapides (utilisant des valeurs et/ou formules par défaut) D
Rediriger vers une page d’enregistrement Boutons d’URL personnalisés D
Rediriger vers une page Visualforce Actions rapides Visualforce P
Actions Lightning P
Préremplir les valeurs en fonction des entrées Actions Lightning P
Écrans contextuels de confirmation Actions Lightning P
Appels d’API (Salesforce et tiers) Actions Lightning P
Écrans contextuels de commentaires Actions Lightning P
Intégration à un produit tiers Actions Lightning P
Actions de masse sur les enregistrements en vue Liste Boutons Visualforce personnalisés en vues Liste P

Comme vous pouvez le voir, Salesforce offre plusieurs outils déclaratifs qui vous permettent de convertir les fonctionnalités de vos boutons JavaScript personnalisés.

Actions rapides

Les actions rapides prennent en charge nombre d’utilisations courantes des boutons JavaScript. Les actions rapides peuvent être basées sur un objet spécifique ou peuvent être globales, ce qui signifie qu’elles sont plus accessibles et génériques, que ce soit depuis un enregistrement ou le flux Chatter. Dans Salesforce, il y a une action rapide pour tout. Voici quelques exemples :

Valider des valeurs de champs (préenregistrement)

Vous voudrez parfois vous assurer que certains champs sont remplis ou renseignés par des critères spécifiques lorsque vos utilisateurs créent ou mettent à jour des enregistrements.

Admettons que vous souhaitez créer une action pour fermer une tâche sans que les utilisateurs n’aient à accéder à une page complète de modification. Mais vous voulez aussi vous assurer qu’une date d’échéance est affectée à la tâche avant de la fermer.

Vous pouvez répondre à toutes ces exigences en créant une action rapide pour l’objet Tâche.
  1. Dans le Gestionnaires d’objets, dans Configuration, cliquez sur Tâche puis sur Boutons, Liens et Actions.
  2. Cliquez sur Nouvelle action.
  3. Pour Type d’action, sélectionnez Mettre à jour un enregistrement.
  4. Pour Libellé, entrez Fermer la tâche.
  5. Cliquez sur Enregistrer.

Sélectionnons maintenant les champs que nous souhaitons voir apparaître dans l’action rapide Fermer la tâche. Vous pouvez facilement rendre un champ obligatoire ou accessible en lecture seule via ses propriétés de champ.

Propriétés de champ d’action

Une fois que vous avez défini les champs apparaissant dans la présentation de l’action, vous pouvez ajouter des valeurs de champ prédéfinies pour n’importe lequel des champs de l’enregistrement de tâche. Dans cet exemple, nous avons marqué le champ Date d’échéance comme obligatoire. Nous avons également ajouté une valeur prédéfinie au champ État pour qu’elle passe à l’état Terminé.

Choisir une valeur prédéfinie pour le champ État

Maintenant que nous avons terminé de configurer l’action, nous l’ajoutons à la mise en page de la tâche. Les utilisateurs peuvent y accéder via une page d’enregistrement de tâche, aussi bien dans Lightning Experience que dans l’application mobile Salesforce. Voici un exemple d’action Fermer la tâche sur la page Tâches.

Action Fermer la tâche sur la page Tâches

Cliquer sur Fermer la tâche sollicitera l’action grâce à laquelle l’utilisateur pourra rapidement agir et enregistrer.

Superposition de l’action Fermer la tâche

Elle se présente comme suit dans l’application mobile Salesforce.

Action Fermer tâche dans l’application Salesforce

Préremplir des champs par des valeurs

Un scénario d’utilisation plus avancé intervient lorsque vous souhaitez permettre aux utilisateurs de créer un enregistrement tout en voulant qu’un ou plusieurs des champs soient remplis automatiquement selon les valeurs d’un champ dépendant.

Par exemple, disons que le quota trimestriel typique de votre équipe de vente interne représente un quart de ses recettes clients de l’an dernier, avec une augmentation de 10 %. Comme une formule simple ne s’applique pas toujours, vous voulez préremplir le montant d’opportunité avec une valeur, mais vous souhaitez aussi permettre aux utilisateurs de le modifier. Créez une action afin que vos utilisateurs puissent rapidement et efficacement modifier ce champ sans avoir à se rendre sur la page complète de l’enregistrement d’opportunité.

Pour créer cet exemple d’action, suivez les mêmes étapes que précédemment pour créer l’action rapide Opportunité.
  1. Dans le Gestionnaires d’objets, dans Configuration, cliquez sur Compte, puis sur Boutons, Liens et Actions.
  2. Cliquez sur Nouvelle action.
  3. Pour Type d'action, sélectionnez Créer un enregistrement.
  4. Pour Objet cible, sélectionnez Opportunité.
  5. Choisissez le type d’enregistrement approprié.
  6. Pour Libellé, entrez Nouvelle opportunité.
  7. Cliquez sur Enregistrer.
Une fois que vous aurez choisi des champs pour la mise en page de l’action, vous pourrez ajouter des valeurs prédéfinies pour le champ Montant. Dans notre exemple, nous avons utilisé cette formule :
Account.Last_Year_Revenue_Generated__c  * 1.10  / 4

Ajoutez cette action à la page Compte. Lorsque les utilisateurs l’invoquent, ils voient une valeur préremplie dans champ et peuvent l’accepter ou la rejeter.

Superposition de l’action Nouvelle opportunité

Le côté pratique de cette action, c’est que vous pouvez extraire des données du compte de l’opportunité pour les utiliser dans la création de l’opportunité. Salesforce prend également en charge les enregistrements transversaux, donc si vous disposez de comptes hiérarchisés, vous pouvez extraire les recettes du compte parent de la manière suivante :
Account.Parent.Last_Year_Revenue_Generated__c

Ne vous inquiétez pas si vous ne parvenez pas à mémoriser les formats de formule ; les actions rapides sont déclaratives et reposent sur le créateur de formules de Salesforce.

Rediriger vers une page Visualforce en fonction des valeurs entrées

Vous pouvez créer des pages Visualforce pour améliorer les processus de votre entreprise. Les utilisateurs peuvent naviguer vers ces pages Visualforce de différentes manières, notamment via des boutons personnalisés, des remplacements d’action et des onglets.

L’un des avantages des pages Visualforce, puisqu’elles utilisent le contrôleur standard, c’est que vous pouvez créer des pages d’enregistrement personnalisées et y ajouter une prévalidation, des champs préremplis, des formules et bien d’autres choses.

Les boutons JavaScript sont couramment utilisés dans Salesforce Classic pour lire et transmettre les valeurs d’un enregistrement à une URL qui redirigera ensuite les utilisateurs vers une page Visualforce. Vous pouvez aussi permettre à vos utilisateurs d’accéder aux pages Visualforce via des actions rapides. La création d’actions rapides Visualforce s’effectue en toute simplicité, le processus est similaire à celui que nous avons déjà abordé. La seule différence est que vous sélectionnez Action personnalisée Visualforce comme type d’action.

Créer une action Visualforce

Pour les actions rapides Visualforce spécifiques à un objet, vous devez inclure standardController pour que l’objet de votre page Visualforce puisse accéder aux données de l’enregistrement et que la page Visualforce puisse apparaître dans la liste de sélection d’actions rapides.

URL, boutons et liens personnalisés

Vous utilisez peut-être des boutons JavaScript pour la navigation, la redirection d’utilisateurs vers une autre page via la commande window.open(URL) et quelques variables. Dans la plupart des cas, vous pouvez utiliser des boutons ou des liens d’URL personnalisés dans Lightning Experience.

Voici une liste des différents boutons et liens d’URL, ainsi que leur comportement de redirection dans Lightning Experience.

URL, boutons et liens personnalisés Comportement Lightning Experience
URL externe
www.google.com
L’URL s’ouvre dans un nouvel onglet
URL Salesforce relative, Affichage
/{!Account.Id}
La page d’accueil de l’enregistrement s’ouvre dans l’onglet existant
URL Salesforce relative, Modification
/{!Account.Id}/e
Permet de modifier les fenêtres contextuelles superposées à la page existante
URL Salesforce relative, Liste
/001/o
La page d’accueil de l’objet s’ouvre dans l’onglet existant
$URL d’action, Affichage
{!URLFOR($Action.Account.View, Account.Id)}
La page d’accueil de l’enregistrement s’ouvre dans l’onglet existant
$URL d’action, Modification
{!URLFOR($Action.Account.Edit, Account.Id)}
Permet de modifier les fenêtres contextuelles superposées à la page existante

Déclencheurs Apex

Vous connaissez peut-être déjà les déclencheurs Apex ; ils sont pris en charge par notre plate-forme depuis des années. Les déclencheurs Apex peuvent être configurés pour s’exécuter avant ou après qu’un utilisateur a cliqué sur l’option Enregistrer pour un enregistrement.

Lorsque vous devez préenregistrer la validation, le calcul et le remplissage des champs, pensez à utiliser des déclencheurs Apex. Ils sont particulièrement utiles pour l’intégration tierce, car les règles s’appliquent via l’API Salesforce dans Salesforce Classic, Lightning Experience et l’application mobile Salesforce.

Pour plus d’informations sur les déclencheurs Apex, vous pouvez consulter le Guide du développeur Apex ou décrocher le badge Déclencheurs Apex.

Boutons Visualforce personnalisés

Une autre caractéristique intéressante de Lightning Experience, c’est sa prise en charge de l’utilisation de boutons Visualforce en vues Liste. Grâce à cet avantage, vous pouvez utiliser des actions Visualforce existantes dans Lightning et travailler avec plusieurs enregistrements dans les listes. Procédez comme suit :
  1. Créez votre page Visualforce.
    Voici un exemple de code illustrant la modification des dates d’étape et des dates de clôture pour plusieurs opportunités :
    <apex:page standardController="Opportunity" recordSetVar="opportunities" extensions="tenPageSizeExt">
       <apex:form>
          <apex:pageBlock title="Edit Stage and Close Date" mode="edit">
             <apex:pageMessages />
             <apex:pageBlockButtons location="top">
                <apex:commandButton value="Save" action="{!save}"/>
                <apex:commandButton value="Cancel" action="{!cancel}"/>
             </apex:pageBlockButtons>
             <apex:pageBlockTable value="{!selected}" var="opp">
                <apex:column value="{!opp.name}"/>
                <apex:column headerValue="Stage">
                   <apex:inputField value="{!opp.stageName}"/>
                </apex:column>
                <apex:column headerValue="Close Date">
                   <apex:inputField value="{!opp.closeDate}"/>
                </apex:column>
             </apex:pageBlockTable>
          </apex:pageBlock>
       </apex:form>
    </apex:page>
  2. Créez un bouton personnalisé référençant votre page Visualforce.
  3. Ajoutez l’action à votre vue de liste.
    Remarque

    Remarque

    Les actions de masse ne sont pas prises en charge dans la liste d’enregistrements Récemment affichés. Elles ne sont disponibles qu’en vues Liste.

Exemple

Voici la manière dont cette action s’affiche dans Lightning Experience.

Bouton Visualforce personnalisé dans Lightning Experience

Comme vous pouvez le voir dans nos exemples, Salesforce propose des fonctions intéressantes qui vous permettent de migrer les fonctionnalités de votre bouton JavaScript vers Lightning Experience.

Vous disposez peut-être d’un grand nombre de boutons JavaScript qui se sont accumulés dans votre organisation au fil des années. Vous vous attendez peut-être à ce que le processus de migration ou conversion prenne beaucoup de temps. Mais ce n’est pas aussi difficile que vous pourriez le penser. Nous avons analysé les boutons JavaScript dans l’organisation interne Salesforce qu’utilisent tous nos employés. Nous avons découvert que de nombreux boutons étaient obsolètes ou rarement employés par les utilisateurs. D’autres étaient tout simplement en double : le même bouton mais pour différents objets. Une fois le parcours de la liste terminé, nous avons constaté que de nombreux boutons JavaScript pouvaient être convertis en ayant recours aux solutions que nous avons étudiées jusqu’ici. Pour le reste, nous avons pu en traiter une partie avec des actions Lightning.

Vous avez probablement remarqué que les actions Lightning de la liste de solutions de programmation remplaçaient couramment le JavaScript dans de nombreux scénarios d’utilisation. Les actions Lightning sont faciles à concevoir, car elles sont basées sur l’infrastructure des actions rapides. La méthode que vous employez pour les configurer est similaire à celle que vous utilisez pour les actions rapides Visualforce. Nous aborderons les actions Lightning de manière plus approfondie ultérieurement.