Aktionsskripte

Mit Aktionsskripten kann Logik zu Aktionen, die für Kontakte, Ressourcen und Suchergebnisse ausgeführt werden können, hinzugefügt werden. Optional können Aktionen Bedingungsskripte haben, die die Verfügbarkeit der Aktion festlegen. Wenn für die Aktion ein Bedingungsskript definiert ist, ist die Aktion nur verfügbar, wenn das Bedingungsskript true zurückgibt. Für manuelle Aktionen bedeutet dies, dass die Aktion nicht im Web Client angezeigt wird. Für automatische Aktionen, bedeutet es, dass das Aktionsskript nicht ausgeführt wird.

Hintergrundwissen über Aktionen

Aktionen sind für drei Arten von Objekten verfügbar:

Aktionen für Vorgänge heißen Workflow-Aktivitäten und werden mit Skripten des Typs Workflow implementiert.

Aktionen können folgende Typen haben:

Manuelle Aktionen können Formulare haben, die geöffnet werden, wenn der Benutzer im Web Client auf die Aktion klickt. Das Formular muss ausgefüllt werden, um die Aktion abzuschließen, siehe Aktionsformulare.

Verfügbare Skripttypen

Der für Aktionsskripte verwendete Skripttyp hängt von der Nutzung des Skripts ab. Es sind folgende Skripttypen verfügbar:

Logik von Aktionsskripten

Die Logik eines Aktionsskripts umfasst normalerweise zwei Aspekte:

Wenn das Skript als Bedingungsskript verwendet wird, hat es folgenden Zweck:

Für Aktualisierungsaktionen müssen Sie sicherstellen, dass der Code des Aktionsskripts keine Endlosschleife auslöst. Das kann beispielsweise passieren, wenn Sie in einem Kontaktaktualisierungsskript die Methode unitService.update(Unit) aufrufen.

Arbeiten mit dem aktuellen Objekt

Das Objekt, für das die Aktion ausgeführt wird, ist implizit im Skript verfügbar. So kann das Objekt aktualisiert oder eine beliebige andere Aktion durchgeführt werden. Folgende Objekte sind verfügbar:

Definieren des Verhaltens nach der Aktion

In allen Aktionsskripten kann das Verhalten des Systems nach Abschluss der Aktion mithilfe von Methoden der Klasse OperationResponseBuilder definiert werden. Ein Objekt dieser Klasse mit dem Namen client ist implizit in allen Aktionsskripten verfügbar. Das gilt sowohl für manuelle als auch für automatische Aktionen. Das Objekt ist auch in Workflow-Skripten verfügbar.

Das Objekt client enthält Methoden für folgende Operationen: 

Details zu den verfügbaren Methoden finden Sie in der ConSol CM API-Dokumentation.

Definieren der Einbindung von Aktionsformularen

Mit der automatischen Einbindung können Sie die Werte des Ausgangsobjekts, d. h. des Vorgangs, Kontakts oder der Ressource, für die das Aktionsformular geöffnet wurde, direkt im Formular verändern. Nach dem Speichern des Formulars wird das Ausgangsobjekt automatisch entsprechend aktualisiert. Mit client.goToUnit(contact) oder client.goToResource(resource) können Sie die Web Client-Seite neu laden, um die im Formular geänderten Werte anzuzeigen.

Standardmäßig ist die automatische Einbindung aktiviert, wenn die Aktion kein Aktionsskript hat. Andernfalls müssen Sie sie im Skript aktivieren, indem Sie folgenden Code hinzufügen:

def isAutoBindingEnabled() {

return true;

}

Sie können die automatische Einbindung deaktivieren, indem Sie „false“ zurückgeben. Wenn die automatische Einbindung deaktiviert ist, werden im Formular vorgenommene Änderungen nicht im Objekt gespeichert.

Code-Beispiele

Öffnen der Seite zum Erstellen eines Vorgangs

Nutzen Sie eine der folgenden Methoden:

Im folgenden Beispiel wird die Seite zur Erstellung eines Vorgangs geöffnet. Die Queue „Helpdesk“ ist vorausgewählt und einige Felder sind vorausgefüllt.

import com.consol.cmas.common.model.ticket.Ticket

 

Ticket ticket = new Ticket();

ticket.setQueue(queueService.getByName("Helpdesk"))

ticket.setSubject("sample subject")

ticket.set("queue_fields.string", "test")

client.goToCreateTicket(ticket)

//to additionally set the main contact use withCustomer()

//client.goToCreateTicket(ticket).withCustomer(unit)

Code-Beispiel 1: Öffnen der Seite zum Erstellen eines Vorgangs

Öffnen eines Vorgangs mit Anzeige eines Aktivitätsformulars

Nutzen Sie folgende Methode:

Im folgenden Beispiel wird der Vorgang mit dem Namen „100270“ geöffnet und direkt das Aktivitätsformular von der Aktivität Vorgang verwerfen geöffnet.

client.goToTicket("100270").openActivityForm("defaultScope/Service_Desk/Ticket_dismissed/Dismiss_ticket_")

Code-Beispiel 2: Öffnen einer Ticketseite mit einem ACF

Anzeigen von Meldungen im Web Client

Sie können Melden mit einem grünen oder roten Hintergrund anzeigen.

Mit den folgenden Methoden wird eine Meldung mit einem grünen Hintergrund angezeigt. Der Text der Meldung kann als String oder Bezeichnung angegeben werden.

Mit den folgenden Methoden wird eine Meldung mit einem roten Hintergrund angezeigt. Der Text der Meldung kann als String oder Bezeichnung angegeben werden.

Standardmäßig aktualisieren die Methoden zum Anzeigen von Meldungen die Seite nicht. Deshalb sind Aktualisierungen des Objekts, die im Aktionsskript durchgeführt wurden, noch nicht sichtbar, wenn die Meldung angezeigt wird. Sie können withRefreshContent() an die Methode anhängen, um die Seite vor dem Anzeigen der Meldung zu aktualisieren:

client.showMessage("controlForm.info.executionOK").withRefreshContent()

Die folgende Abbildung zeigt eine Meldung mit einem grünen Hintergrund: