Listen mit Mehrfachauswahl in Salesforce Lightning

Listen mit Mehrfachauswahl in Salesforce Lightning ohne Programmieren

Wenn Sie Listen mit Mehrfachauswahl in Salesforce Lightning realisieren wollen, ist das nicht so einfach. In Salesforce Classic gab es dafür Javacript Buttons, doch die sind in Lightning nicht mehr erlaubt. Bevor Sie Geld für individuelle Lightning Komponenten aus dem Fenster werfen: Mit einem kleinen Umweg können auch Sie Listen mit Mehrfachauswahl in Salesforce Lightning realisieren und zwar ohne zu programmieren. Alles was Sie brauchen, sind drei Dinge:

  1. Einen Flow. Der Flow enthält die Logik, die Sie auf die Datensätze anwenden wollen.
  2. Eine Visualforce Seite. Die Seite verbindet den Button mit dem Flow. Keine Panik, die Seite ist so einfach, die können Sie erstellen, ohne Programmierer zu sein.
  3. Einen Button für die Liste.

So sieht das Ganze aus:

Listen mit Mehrfachauswahl in Salesforce Lightning
Ergebnis: So sieht das Ganze aus.

In der Liste kann der Anwender mehrere Datensätze (Vorgänge) markieren und durch drücken des Accept Buttons sich selbst zuweisen.

1. Den Flow erstellen

Flows können Sie erstellen, indem Sie im Setup Bereich von Salesforce Prozessautomatisierung/Flow auswählen. Wenn Sie Flows noch nicht kennen, sehen Sie sich diese Trailhead Lektion an. Der Flow muss zwei Bedingungen erfüllen:

  1. Eine Eingabevariable für die ausgewählten Datensätze.
  2. Mindestens eine Bildschirmausgabe.

Mein Flow sieht wie folgt aus:

Flow um ausgewählte Datensätze dem angemeldeten Benutzer zuzuordnen

In einer Schleife werden alle ausgewählten Vorgänge durchgegangen. Wenn ein Vorgang sich noch in einer Queue befindet, weist der Flow den angemeldeten Benutzer als neuen Besitzer zu. Danach wird der Datensatz aktualisiert. Am Ende zeigt der Flow in einen Bildschirm, wie viele Vorgänge dem angemeldeten Benutzer zugewiesen wurden.

1.1 Die Eingabevariable für die Ausgewählten Datensätze

Wenn Sie im Flow-Designer links Ressourcen auswählen, klicken Sie „Variable für SObjekt-Sammlungen“ doppelt an.

Sammlungsvariable im Flow anlegen

Im nun erscheinenden Popup geben Sie der Variablen einen eindeutigen Namen. Diesen müssen Sie sich für die Visualforce Seite merken. Wählen Sie noch „Nur Eingabe“ aus und das Datenobjekt, welches in dieser Variable gespeichert wird.

1.2 Eine Bildschirmausgabe erstellen

Wenn Sie in dem Flow keine Bildschirmausgabe erstellen, zeigt Salesforce nach Abarbeitung des Flows die Liste in der Classic Ansicht an (Stand Spring 2017). Das wollen wir nicht. Deshalb zeige ich am Ende die Anzahl der zugewiesenen Vorgänge an.

Bildschirmausgabe Anzahl der Datensätze

Die Variable cntAccepted habe ich als Zahl-Variable erstellt und zähle sie bei der Zuweisung des neuen Benutzers hoch.

Wenn Sie den Flow speichern, wählen Sie bitte „Flow“ aus (und nicht z.B. Interview oder automatischer Flow).

2. Die Visualforce Seite erstellen

Die Visualforce Seite erstellen Sie auch über den Setup Bereich von Salesforce. Der Screenshot zeigt, wie die Seite auszusehen hat.

Visualforce Seite

In dem rot eingerahmten Bereich ersetzen Sie den Namen des Flows „acceptIssues“ mit dem Namen Ihres Flows. Ersetzen Sie außerdem den Namen der Datensatzvariable „varIssues“ durch den Namen der Variable, welche Sie im Flow verwenden.

Im gelb eingerahmten Bereich ersetzen Sie die Attribute durch die Attribute, welche Sie im Flow verwenden wollen. Die Datensatz Id {!row.Id} muss in jedem Fall enthalten sein. Im Beispiel sehen Sie, dass ich {!row.OwnerId} hinzugefügt habe, weil ich dieses Attribut im Flow verändere. Zudem habe ich {!row.IsAssignedToQueue__c} hinzugefügt, weil ich damit prüfe, ob der Vorgang noch in einer Queue ist.

Bei den grün eingerahmten Bereichen setzen Sie das Objekt ein, für welches Sie die Mehrfachauswahl realisieren wollen. Der Quelltext der Visualforce Seite zum rauskopieren:

<apex:page standardController="Issue__c" tabStyle="Issue__c" recordSetVar="AllRecords">
 <apex:repeat value="{!AllRecords}" var="row" rendered="false">
 {!row.Id} {!row.OwnerId} {!row.Name} {!row.isAssignedToQueue__c} {!row.Status__c}
 </apex:repeat>
 <flow:interview name="acceptIssues" finishLocation="{!URLFOR($Action.Issue__c.Tab,$ObjectType.Issue__c)}">
 <apex:param name="varIssues" value="{!Selected}" />
 </flow:interview>
</apex:page>

3. Der Button

Jetzt fehlt nur noch der Button. Den müssen Sie zunächst erstellen und dann noch dem Suchlayout „Listenansicht“ hinzufügen.

3.1 Button erstellen

Rufen Sie dazu im Setup Bereich den Objekt-Manager auf und wählen Sie das Objekt für die Listenansicht aus. Unter „Schaltflächen, Links und Aktionen“ wählen Sie dann „Neue benutzerdefinierte Schaltfläche oder benutzerdefinierter Link“.

Button erstellen

Achten Sie darauf, dass Sie „Schaltfläche für Liste“ ausgewählt haben. Außerdem muss die Option „Kontrollkästchen anzeigen“ aktiv sein. Als Inhaltsquelle wählen Sie „Visualforce-Seite“ und im Inhalt die Visualforce-Seite, die Sie gerade erstellt haben.

3.2 Button dem Suchlayout zuweisen

Im Objekt-Manager finden Sie unter Suchlayouts das Layout „Listenansicht“. Das müssen Sie bearbeiten und den neuen Button hinzufügen.

Button der Listansicht hinzufügen

Die Standardschaltfläche können Sie bei der Gelegenheit gleich ausschalten. Jetzt sollte die neue Schaltfläche und die Mehrfachauswahl auch in Ihrer Liste enthalten sein. Allerdings: Salesforce zeigt die Optionskästchen zur Auswahl nicht in der Ansicht „Zuletzt angezeigt“ an. Sie müssen zu einer Queue oder zu einer vorkonfigurierten Listenansicht wechseln.

Zuletzt angezeigt

Nun können auch Sie Listen mit Mehrfachauswahl in Salesforce Lightning realisieren, ohne jedes Mal einen Programmierer beauftragen zu müssen. Bleibt nur noch übrig, den Button in die korrekte Anwendersprache zu übersetzen.

Listen mit Mehrfachauswahl in Salesforce Lightning
Tags:                 

One thought on “Listen mit Mehrfachauswahl in Salesforce Lightning

Comments are closed.

Download Digitalisierungscockpit