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.

Der Aufgabenbearbeitet wartet, bis der Ereignis-Workflow abgeschlossen. Der Ereignis-Workflow soll also kein lang laufender Prozess sein (und z.B. eine Aufgabe starten).
Ausnahme: Ereignisse bei Klick auf eine Schaltfläche: hier gibt es eine EInstellung, ob auf Abschluss des Workflows gewartet wird.

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

  • Aufgaben Felder

    • 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

 

Der Ereignis-Workflow “Adresse ermitteln“





Studio: Feld “Kundennummer”






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")

  • Datenquellen:

    • "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

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

  • Typ: Workflow Typ - Ereignis (Aufgabe)

  • Aktivität: Feldwerte zuweisenSELECT-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

 

 

 

 

 


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” → .

Das kann zum Beispiel dann hilfreich sein, wenn Sie bei Klick auf eine Schaltfläche eine E-Mail versenden möchten.

 

Verwandte Themen