Aufgaben - Ereignisse (Beispiele)
WMS 1.1.1
Ereignisse dienen dazu, Aufgaben im WMS Portal dynamisch zu gestalten. So können Sie zum Beispiel auf Benutzereingaben reagieren und definierte Ereignisse auslösen.
Ein Ereignis wird also im Portal ausgelöst, daraufhin startet im Hintergrund ein Workflow, der Änderungen an der Aufgabe vornehmen kann. Sobald der Workflow abgeschlossen ist, erhält der Aufgabenbearbeiter im Portal Rückmeldung.
Einschränkungen
Der Aufgabenbearbeiter wartet, bis der Ereignis-Workflow abgeschlossen. Der Ereignis-Workflow soll also kein lang laufender Prozess sein (und z.B. eine Aufgabe starten). Der Workflow bricht automatisch nach 5 Minuten ab.
Ausnahme: Ereignisse bei Klick auf eine Schaltfläche: hier gibt es eine Einstellung, ob auf Abschluss des Workflows gewartet wird.Felder die durch ein Ereignis geändert werden lösen keinen weiteren Ereignisworkflow aus. Es sind also keine aufeinanderfolgenden Ereignisse möglich. So können wir ungewollte Endlosschleifen verhindern
Portal Designer / Aufgabe → Felder
Im Portal Designer des Workflow Studios können Sie für jede Aufgabe Ereignisse zu bestimmten Feldern hinterlegen. Wählen Sie dazu ein Feld der Aufgabe mit Doppelklick aus. Ein Fenster öffnet sich, in dem Sie das Feld der Aufgabe bearbeiten können.
Folgende Ereignisse stehen zur Verfügung:
Der Wert eines Feldes wurde geändert
Die Auswahlliste zu einem Feld wird geladen
Portal Designer / Aufgabe → Schaltflächen WMS 2020 (1.1.3)
Sie können für jede Schaltfläche eigene Ereignisse hinterlegen. Wählen Sie dazu eine Schaltfläche der Aufgabe mit Doppelklick aus. Ein Fenster öffnet sich, in dem Sie die Schaltfläche bearbeiten können.
Es stehen Ihnen zwei Zeitpunkt zur Verfügung, zu der Sie einen Workflow starten können:
Vor dem Speichern der Aufgabe: z.B. um Daten zu validieren oder zu vervollständigen
Nach dem Speichern der Aufgabe (und vor dem Abschluss): z.B. um Benachrichtigungen zu versenden
Workflows
Damit die Workflows, die sich hinter den Ereignissen befinden, ausgeführt werden, ist folgendes zu beachten:
Inaktive Workflows werden nicht ausgeführt
Gelöschte Workflows werden nicht ausgeführt
Die Gruppen/Benutzer-Zuordnung spielen bei Ereignis-Workflows keine Rolle
Die für die Workflow-Typen notwendigen Argumente sollten nicht verändert oder umbenannt werden
Ereignis "Feldwert wurde geändert"
Beispiel: Adresse automatisch vorbelegen
Bei Eingabe einer Kundennummer sollen Adressdaten in der Aufgabe automatisch vor belegt werden.
Auslöser: Der Bearbeiter der Aufgabe ändert den Wert in einem Feld (z.B. "Kundennummer").
Portal Designer - Konfiguration
Text-Feld "Kundennummer"
Weitere Text-Felder für die Adressdaten (Stadt, Straße, etc.)
Aufgaben / Felder:
Feld "Kundennummer": Im Ereignis "Wert wird geändert" ist ein Workflow hinterlegt
Keine besonderen Einstellungen für die Adressfelder
Nur lesende Felder
Ab WMS 1.1.2können auch Felder, die als nur lesend gekennzeichnet sind, aktualisiert werden!
Workflow
Aktivität: Feldwerte zuweisen, SELECT-Abfrage
Beschreibung:
Der Workflow ermittelt den Wert des Feldes, das das Ereignis ausgelöst hat (In diesem Beispiel "Kundennummer")
Die Aktivität SELECT-Abfrage sucht in einer DB den Kunden mit der Kundennummer
Die Aktivität Feldwerte zuweisen setzt die Felder "Straße" und "Stadt" mit den Werten aus der SQL-Abfrage
Wenn der Kunde nicht gefunden wurde gibt der Workflow die Meldung "Ungültige Kundennummer" an das Portal zurück
Ereignis "Auswahlliste zu einem Feld wird geladen"
Beispiel: Auswahlliste abhängig von einem Wert filtern
Eine Auswahlliste mit Städten ist abhängig von dem Inhalt eines anderen Felds (z.B. einem Bundesland).
Wenn der Aufgabenbearbeiter das Bundesland ändert sollen nur Städte dieses Bundeslandes zur Verfügung stehen.
Auslöser
Die Aufgabe wird geöffnet und die Auswahlliste wird angezeigt.
Der Wert von Feld A ändert sich: In Feld A ist hinterlegt, dass die Auswahlliste neu geladen werden muss
Portal Designer - Konfiguration
Aufgaben Felder: 2 Felder mit einer Auswahlliste ("Bundesland" und "Stadt")
"Bundesland": Als externe Id wird das Kürzel des Bundeslandes eingetragen.
"Stadt" : In der Datenquelle wurde zu jeder Stadt eine Eigenschaft "bundesland" hinzugefügt, das das Kürzel des Bundeslands enthält.
Aufgaben / Felder:
Feld "Bundesland": Im Ereignis "Wert wird geändert" soll die Auswahlliste "Stadt" neu geladen werden.
Feld "Stadt": Im Ereignis "Datenquelle wird geladen" ist eine Workflow hinterlegt
Workflow
Aktivität: Datenquelle filtern
Beschreibung:
Der Workflow ermittelt den Wert des Feldes "Bundesland"
Die Aktivität "Datenquelle filtern" filtert die Datenquelle "Städte" nach der Eigenschaft "bundesland" und dem Wert aus dem Feld "Bundesland"
Der Workflow setzt das Ergebnis "WmsTaskLoadDataSourceEventResult"
Wenn keine Städte gefunden wurde, gibt der Workflow eine Meldung an das Portal aus, indem er das Argument "WmsMessage" setzt
Beispiel-Workflow herunterladen: Ereignis_Datenquelle_filtern_Städte.xml
Die Datenquellen “Städte” und “Bundesland”
Ereignis: “Aufgabe” (z.B. Schaltfläche klicken) WMS 1.1.3
Bei Klick auf eine Schaltfläche kann der gestartete Ereignis-Workflow z.B. das Rechnungsobjekt oder Felder bearbeiten, Dokumente hochladen oder Kommentar hinzufügen.
Beispiel 1: Prüfung einer Kundennummer
Die im Portal eingetragene Kundenummer soll gegen eine SQL-Datenbank geprüft werden. Wenn Sie nicht gefunden wird, dann wird die Aufgabe auch nicht abgeschlossen
Auslöser: Der Bearbeiter der Aufgabe klickt die Schaltfläche “Prüfen und Abschließen”.
Portal Designer - Konfiguration
Aufgaben Felder: Text-Feld "Kundennummer"
Aufgaben / Schaltfläche “Prüfen und Abschließen“ (siehe Screenshot rechts):
Es wird ein Workflow gestartet, der die Kundennummer prüft
Die Aufgabe wird gespeichert
Die Aufgabe wird abgeschlossen
Workflow
Aktivität: Feldwerte zuweisen, SELECT-Abfrage
Beschreibung:
Der Workflow ermittelt den Wert des Feldes, das das Ereignis ausgelöst hat (In diesem Beispiel "Kundennummer")
Die Aktivität SELECT-Abfrage sucht in einer DB den Kunden mit der Kundennummer
Wenn der Kunde nicht gefunden wurde gibt der Workflow die Meldung "Ungültige Kundennummer" an das Portal zurück und bricht das Abschließen der Aufgabe ab (druch setzen von arg_CANCEL=true).
Beispiel-Workflow herunterladen:
Beispiel 2: E-Mail an den Aufgabenbearbeiter senden
Bei Klick auf die Schaltfläche “Rechnung per E-Mail senden” soll das Dokument der Aufgabe per E-Mail an den Benutzer gesendet werden, der die Schaltfläche klickt.
Auslöser: Der Bearbeiter der Aufgabe klickt die Schaltfläche “Rechnung per E-Mail senden”.
Portal Designer - Konfiguration
Aufgaben / Schaltfläche “Rechnung per E-Mail senden”: Es wird ein Workflow gestartet, die Aufgabe wird nicht gespeichert oder abgeschlossen
Workflow
Aktivitäten: Objekt per ID ermitteln, Aufgabe ermitteln, Dokument herunterladen (WMS), E-Mail versenden
Beschreibung:
Benutzer, der das Ereignis ausgelöst hat ermitteln (mit dem System-Argument "SYS_StartedById"), um die E-Mail-Adresse zu erhalten
Aufgabe ermitteln, um an die Dokumentmappe der Aufgabe zu gelangen
Dokumente der Mappe herunterladen, um sie als Anhang versenden zu können
Allgemein (gilt für alle Ereignisse)
Eine Meldung an das Portal ausgeben
In jedem Ereignis können Sie über das Argument “arg_wmsMessageResult“ eine Meldung an das Portal zurückgegeben.
Nutzen Sie z.B. ein Assign , um diesem Argument einen Wert zuzuweisen (Typ WmsMessage ).
Über
WmsMessage.CreateErrorMessage("Eine Fehlermeldung")
WmsMessage.CreatewWarningMessage("Eine Warnung")
WmsMessage.CreateInfoMessage("Nur eine Info")
können Sie einfach das passende Message-Objekt erstellen.
Benutzer, der das Ereignis ausgelöst hat
Um festzustellen, wer das Ereignis ausgelöst hat (also der Aufgabenbearbeiter, der die Schaltfläche geklickt oder das Feld geändert hat) nutzen die das System-Argument “SYS_StartedById” → Ausdruckseditor | System Argumente.
Das kann zum Beispiel dann hilfreich sein, wenn Sie bei Klick auf eine Schaltfläche eine E-Mail versenden möchten.
Verwandte Themen
Häufig verwendete Aktivitäten: