Verwenden von Schnellaktionen, benutzerdefinierten Schaltflächen oder Apex
Lernziele
Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
- Erstellen von Schnellaktionen (anstelle von JavaScript) zum Überprüfen von Feldern, Erstellen von Datensätzen mit vorab aufgefüllten Werten und Umleiten des Benutzers zu einer Visualforce-Seite
- Beschreiben, wie Sie mithilfe benutzerdefinierter URL-Schaltflächen dieselben Navigations- und Umleitungsfunktionen wie mit JavaScript-Schaltflächen erhalten
- Verwenden einer benutzerdefinierten Visualforce-Schaltfläche oder Schnellaktion anstelle einer JavaScript-Schaltfläche, um mit mehreren Datensätzen in Listen zu arbeiten
Sie haben Schaltflächen? Wir haben Alternativen
Zuvor haben wir erläutert, warum es Zeit ist, zu Lightning Experience zu migrieren, denn dank der überzeugenden neuen Features dieser Umgebung können Sie JavaScript-Schaltflächen hinter sich lassen. Als Nächstes erklären wir, wie Sie Ihre benutzerdefinierte JavaScript-Schaltflächenfunktionalität mithilfe von Lösungen einfach migrieren können, die sowohl in Salesforce Classic als auch Lightning Experience funktionieren.
Diese Tabelle zeigt eine Zuordnung von Anwendungsfällen für JavaScript-Schaltflächen zu alternativen (und in den meisten Fällen) besseren Lösungen in Lightning.
Wichtigste Anwendungsfälle für JavaScript-Schaltflächen | Lightning-Alternativen | Deklarativ/Programmgesteuert |
---|---|---|
Überprüfen von Feldern (vor dem Speichern) |
Schnellaktionen (unter Verwendung von Standardwerten oder Formeln) |
D |
Apex-Auslöser |
P |
|
Erstellen von Datensätzen mit vorab aufgefüllten Werten |
Schnellaktionen (unter Verwendung von Standardwerten oder Formeln) |
D |
Umleiten zu einer Datensatzseite |
Benutzerdefinierte URL-Schaltflächen |
D |
Massenaktionen für Datensätze in der Listenansicht |
Schnellaktionen |
D |
Benutzerdefinierte Visualforce-Schaltflächen für Listenansichten |
P |
|
Umleiten zu einer Visualforce-Seite |
Visualforce-Schnellaktionen |
P |
Lightning-Webkomponentenaktionen |
P |
|
Vorabausfüllen von Werten basierend auf Eingaben |
Lightning-Webkomponentenaktionen |
P |
Anzeigen von Bestätigungsfenstern |
Lightning-Webkomponentenaktionen |
P |
API-Aufrufe (Salesforce und andere Anbieter) |
Lightning-Webkomponentenaktionen |
P |
Feedbackfenster |
Lightning-Webkomponentenaktionen |
P |
Integration mit anderen Anbietern |
Lightning-Webkomponentenaktionen |
P |
Wie Sie sehen, bietet Salesforce mehrere deklarative Tools zum Konvertieren der Funktionalität Ihrer benutzerdefinierten JavaScript-Schaltflächen.
Schnellaktionen
Schnellaktionen unterstützen viele der gängigen Anwendungsfälle von JavaScript-Schaltflächen. Schnellaktionen können auf einem bestimmten Objekt basieren oder global sein, was bedeutet, dass sie allgemeiner sind und auf sie aus beliebigen Datensätzen oder dem Chatter-Feed zugegriffen werden kann. In Salesforce gibt es für praktisch alles eine Schnellaktion. Hier sind einige Beispiele.
Überprüfen von Feldwerten
Mitunter möchten Sie sicherstellen, dass bestimmte Felder ausgefüllt oder mit bestimmten Kriterien aufgefüllt sind, wenn Benutzer Datensätze erstellen oder aktualisieren.
Angenommen, Sie möchte eine Aktion zum Abschließen einer Aufgabe erstellen, ohne dass der Benutzer zur vollständigen Bearbeitungsseite navigieren muss. Sie möchten aber auch, dass die Aufgabe ein Fälligkeitsdatum hat, ehe sie abgeschlossen werden kann.
Alle diese Anforderungen können Sie erfüllen, indem Sie eine Schnellaktion für das Objekt "Aufgabe" erstellen.
- Wechseln Sie in den Objektverwaltungseinstellungen für Kundenvorgänge zu "Schaltflächen, Links und Aktionen".
- Klicken Sie auf Neue Aktion.
- Wählen Sie für "Aktionstyp" die Option Datensatz aktualisieren aus.
- Geben Sie für "Label (Bezeichnung)" den Text
Close Task
(Aufgabe abschließen) ein. - Klicken Sie auf Speichern.
Jetzt aktualisieren wir das Layout der Schnellaktion "Close Task (Aufgabe abschließen)", um die Felder auszuwählen, die in der Aktion angezeigt werden sollen. Über seine Feldeigenschaften können Sie ein Feld ganz einfach als Pflichtfeld oder schreibgeschütztes Feld definieren. In diesem Beispiel haben wir das Feld "Due Date" (Fälligkeitsdatum) als Pflichtfeld markiert.
Nachdem Sie die Felder im Aktionslayout festgelegt haben, können Sie vordefinierte Feldwerte für alle Felder im Aufgabendatensatz hinzufügen. Wir haben auch einen vordefinierten Wert für das Feld "Status" hinzugefügt, das in "Completed" (Abgeschlossen) geändert werden soll.
Nachdem wir das Layout für die Aktion konfiguriert haben, bearbeiten wir nun das Seitenlayout "Task (Aufgabe)". Wir ziehen die Aktion aus der Kategorie "Mobile & Lightning Actions (Mobile Anwendung und Lightning: Aktionen)" in der Palette in den Abschnitt "Salesforce Mobile and Lightning Experience Actions (Mobile Salesforce-Anwendung und Lightning Experience: Aktionen)".
Benutzer können dann sowohl in Lightning Experience als auch der mobilen Salesforce-Anwendung auf einer Datensatzseite des Typs "Task (Aufgabe)" auf die Aktion "Close Task (Aufgabe abschließen)" zugreifen. Es folgt ein Beispiel der Aktion "Aufgabe abschließen" auf der Seite "Aufgaben".
Durch Klicken auf Aufgabe abschließen wird die Aktion angezeigt, die der Benutzer rasch verarbeiten und speichern kann.
So sieht das Ganze in der mobilen Salesforce-Anwendung aus.
Vorabauffüllen von Feldern mit Werten
Ein komplexerer Anwendungsfall liegt vor, wenn Sie Benutzer einen Datensatz erstellen lassen möchten, aber zugleich wollen, dass eines oder mehrere der Felder basierend auf Werten in einem abhängigen Feld automatisch aufgefüllt werden.
Angenommen, die typische Quartalsquote Ihres internen Vertriebsteams beträgt ein Viertel des Jahresumsatzes seiner Kunden plus 10 %. Da diese einfache Formel nicht immer gilt, möchten Sie den Opportunity-Betrag vorab mit dem Wert auffüllen, aber dem Benutzer dessen Änderung ermöglichen. Erstellen Sie eine Aktion, damit Ihre Benutzer das Feld rasch und effizient ändern können, ohne zur vollständigen Opportunity-Datensatzseite zu navigieren.
Zum Erstellen dieser Beispielaktion führen Sie dieselben Schritte wie zuvor beim Erstellen der Opportunity-Schnellaktion aus.
- Wechseln Sie in den Objektverwaltungseinstellungen für Accounts zu "Buttons (Schaltflächen)", "Links" und "Actions (Aktionen)".
- Klicken Sie auf Neue Aktion.
- Stellen Sie "Aktionstyp" auf Datensatz erstellen ein.
- Wählen Sie für "Zielobjekt" Opportunity aus.
- Wählen Sie den entsprechenden Datensatztyp.
- Geben Sie für "Bezeichnung"
Neue Oppty
ein. - Klicken Sie auf Speichern.
Nachdem Sie die Felder für das Aktionslayout ausgewählt haben, können Sie vordefinierte Feldwerte für das Feld "Betrag" hinzufügen. In unserem Beispiel haben wir diese Formel verwendet:
Account.AnnualRevenue * 1.10 / 4
Fügen Sie diese Aktion zum Seitenlayout "Account" hinzu. Wenn Benutzer sie aufrufen, wird das Feld mit einem vorab aufgefüllten Wert angezeigt, den sie akzeptieren oder überschreiben können.
Das Tolle an dieser Aktion ist, dass Sie beim Erstellen der Opportunity Daten aus dem Account der Opportunity abrufen können. Salesforce unterstützt auch das sog. Record Traversal. Wenn Sie also über hierarchische Accounts verfügen, können Sie die Umsätze aus dem übergeordneten Account wie folgt abrufen:
Account.Parent.AnnualRevenue
Machen Sie sich keine Gedanken über das Erinnern der Formelformate. Schnellaktionen sind deklarativ und arbeiten mit dem Salesforce-Formelgenerator.
Umleiten zu einer Visualforce-Seite basierend auf Eingabewerten
Sie können Visualforce-Seiten zum Verbessern Ihrer Geschäftsprozesse erstellen. Benutzer können auf verschiedene Weisen zu diesen Visualforce-Seiten navigieren, z. B. über benutzerdefinierte Schaltflächen, Aktionsüberschreibungen oder Registerkarten.
Ein Vorteil von Visualforce-Seiten ist, dass Sie durch Verwenden des Standardcontrollers angepasste Datensatzseiten erstellen und eine Vorabprüfung, vorab ausgefüllte Felder, Formeln u.v.m. hinzufügen können.
JavaScript-Schaltflächen dienen in Salesforce Classic zum Lesen und Übergeben von Werten aus einem Datensatz in einen URL, der Benutzer anschließend zu einer Visualforce-Seite umleitet. Sie können Ihren Benutzern auch über Schnellaktionen einen Zugriff auf Visualforce-Seiten gewähren. Das Erstellen von Visualforce-Schnellaktionen ist einfach und erfolgt ähnlich wie bereits behandelte Prozesse. Der einzige Unterschied ist, dass Sie "Benutzerdefinierte Visualforce-Seite" als Aktionstyp auswählen.
Für objektspezifische Visualforce-Schnellaktionen müssen Sie den standardController des Objekts Ihrer Visualforce-Seite hinzufügen, um Zugriff auf die Datensatzdaten zu erhalten und die Visualforce-Seite in der Auswahlliste der Schnellaktionen anzuzeigen.
Benutzerdefinierte URL-Schaltflächen und Links
Sie nutzen JavaScript-Schaltflächen ggf. für die Navigation, zum Umleiten von Benutzern zu einer anderen Seite mit dem Befehl window.open(URL) und für einige Variablen. In den meisten Fällen können Sie stattdessen benutzerdefinierte URL-Schaltflächen oder Links in Lightning Experience verwenden.
Hier sehen Sie eine Liste diverser URL-Schaltflächen und Links und ihr Umleitungsverhalten in Lightning Experience.
Benutzerdefinierte URL-Schaltflächen oder Links | Lightning Experience-Verhalten |
---|---|
Externer URL
|
URL wird auf neuer Registerkarte geöffnet |
Relativer Salesforce-URL, Ansicht
|
Startseite des Datensatzes wird auf vorhandener Registerkarte geöffnet |
Relativer Salesforce-URL, Bearbeiten
|
Bearbeitungs-Overlay wird auf der vorhandenen Seite eingeblendet |
Relativer Salesforce-URL, Liste
|
Startseite des Objekts wird auf vorhandener Registerkarte geöffnet |
$Action-URL, Ansicht
|
Startseite des Datensatzes wird auf vorhandener Registerkarte geöffnet |
$Action-URL, Bearbeiten
|
Bearbeitungs-Overlay wird auf der vorhandenen Seite eingeblendet |
Apex-Auslöser
Sie sind ggf. schon mit Apex-Auslösern vertraut, die seit Jahren auf unserer Plattform unterstützt werden. Apex-Auslöser können für eine Ausführung vor oder nach dem Klicken auf "Speichern" für einen Datensatz durch den Benutzer konfiguriert werden.
Wenn Sie die Überprüfung, Berechnung und Auffüllung von Feldern vorab speichern müssen, erwägen Sie Apex-Auslöser. Sie eignen sich besonders für die Integration von Lösungen anderer Anbieter, da die Regeln über die Salesforce-API in Salesforce Classic, Lightning Experience und der mobilen Salesforce-Anwendung erzwungen werden.
Weitere Informationen zu Apex-Auslösern finden Sie im Apex Developer Guide oder verdienen Sie sich den Badge "Apex-Auslöser".
Massenaktionen mit benutzerdefinierten Visualforce-Schaltflächen und Schnellaktionen
Eine weitere tolle Funktion in Lightning Experience ist die Unterstützung von Visualforce-Schaltflächen in Listenansichten. Mithilfe dieser Funktion können Sie Ihre vorhandenen Visualforce-Aktionen in Lightning Experience nutzen, um mit mehreren Datensätzen in Listen zu arbeiten. Dazu gehen Sie am besten wie folgt vor:
- Erstellen Sie Ihre Visualforce-Seite. Hier sehen Sie Beispielcode zum Bearbeiten der Phase und des Schlusstermins mehrerer Opportunities:
<apex:page standardController="Opportunity" recordSetVar="opportunities" extensions="tenPageSizeExt">
- Erstellen Sie eine benutzerdefinierte Schaltfläche, die auf Ihre Visualforce-Seite verweist.
- Fügen Sie die Schaltfläche Ihrer Listenansicht hinzu.
Sie können mit Schnellaktionen auch Massenaktionen in einer Listenansicht deklarativ einrichten. Massenschnellaktionen sind für Kundenvorgänge, Leads, Accounts, Kampagnen, Kontakte, Opportunities, Arbeitsaufträge und benutzerdefinierte Objekte verfügbar, die Schnellaktionen unterstützen und über ein Layout der Schaltfläche für die Listenansicht in Lightning Experience verfügen.
So wird eine Massenaktion eingerichtet.
- Richten Sie die Schnellaktionen "Create a Record(Datensatz erstellen)" oder "Update a Record (Datensatz aktualisieren)" für Ihre Objekte ein.
- Wechseln Sie in den Objektverwaltungseinstellungen für das Objekt, für das Sie Massenschnellaktionen zulassen möchten, zu List View Button Layout (Layout der Schaltfläche für die Listenansicht).
- Bearbeiten Sie das Layout "Listenansicht".
- Fügen Sie im Abschnitt "List View Actions in Lightning Experience (Listenansichtsaktionen in Lightning Experience)" die Aktionen hinzu, die Benutzer in Listenansichten für mehrere Datensätze ausführen dürfen.
- Speichern Sie Ihre Änderungen.
Hier sehen Sie, wie Massenaktionen in Lightning Experience angezeigt wird.
Wie Sie anhand unserer Beispiele erkennen können, bietet Salesforce viele Möglichkeiten zum Migrieren und Verlagern Ihrer JavaScript-Schaltflächenfunktionalität zu Lightning Experience.
Beginnen mit dem Konvertieren von JavaScript-Schaltflächen
Möglicherweise haben sich in Ihrer Organisation mit den Jahren viele JavaScript-Schaltflächen angesammelt. Sie erwarten jetzt vielleicht, dass der Migrations- oder Konvertierungsprozess lange dauern wird. Doch die Aufgabe ist womöglich nicht so schwierig, wie Sie meinen. Wir haben JavaScript-Schaltfläche in der internen Salesforce-Organisation analysiert, die alle unsere Mitarbeiter nutzen. Wir fanden heraus, dass viele Schaltflächen veraltet waren oder nur selten von den Benutzern aufgerufen wurden.
Andere waren schlicht Duplikate, d. h. dieselbe Schaltfläche, aber für verschiedene Objekte. Nach Durchsicht der Liste fanden wir heraus, dass viele der JavaScript-Schaltflächen in Lösungen umgewandelt werden konnten, die wir bislang behandelt haben. Bei den restlichen konnten wir einige mithilfe der Lightning-Webkomponentenaktionen umwandeln.
In der Liste der programmgesteuerten Lösungen haben Sie wahrscheinlich bemerkt, dass Lightning-Webkomponentenaktionen als gängiger Ersatz für viele der Anwendungsfälle von JavaScript-Schaltflächen fungieren. Lightning-Webkomponentenaktionen lassen sich einfach entwickeln, da sie auf dem Framework für Schnellaktionen basieren. Im nächsten Schritt beschäftigen wir uns eingehender mit Lightning-Webkomponentenaktionen.