Einen Workflow mit Aktionen, Phasen und Schritten konfigurieren
Dieses Thema bezieht sich auf Dynamics 365 Customer Engagement (on-premises). Die Power Apps-Version dieses Themas finden Sie unter: Echtzeit-Workflowphasen und -schritte konfigurieren
Wenn Sie Workflows konfigurieren, müssen Sie vier Hauptbereiche beachten:
Wann sollen sie gestartet werden?
Sollen sie als Echtzeitworkflow oder als Hintergrundworkflow ausgeführt werden?
Welche Aktionen sollen sie ausführen?
Unter welchen Bedingungen sollen Aktionen ausgeführt werden?
Das Thema Workflowprozessübersicht erläutert, wie Workflowprozesse gefunden werden, wann sie gestartet werden sollen und ob sie als Echtzeit- oder Hintergrundprozesse ausgeführt werden sollen. Dieses Thema zeigt, welche Aktionen Workflows ausführen können, und welche Bedingungen für die Ausführung dieser Aktionen gelten.
Workflowphasen und Schritte
Wenn Sie Workflows entwerfen, haben Sie die Möglichkeit, die Logik für die einzelnen Phasen und Schritte anzugeben.
Phasen
Mit Phasen kann die Workflowlogik leichter gelesen werden. Zudem erklären sie die Workflowlogik. Wenn ein Prozess Phasen enthält, müssen alle Schritte in einer Phase des Prozesses enthalten sein.
Schritte
Schritte sind eine Geschäftslogikeinheit innerhalb eines Workflows. Schritte können Bedingungen, Aktionen, weitere Schritte oder eine Kombination aus diesen Elementen umfassen.
Aktionen, die Workflowprozesse durchführen können
Workflowprozesse können die in der folgenden Tabelle aufgeführten Aktionen ausführen.
Aktion | Beschreibung |
---|---|
Datensatz erstellen | Erstellt einen neuen Datensatz für eine Entität und weist Attributen Werte Ihrer Wahl zu. |
Datensatz aktualisieren | Sie können den Datensatz, für den der Workflow ausgeführt wird, alle Datensätze, die mit dem Datensatz in einer n:1-Beziehung verknüpft sind, oder alle in früheren Schritten erstellten Datensätze aktualisieren. |
Datensatz zuweisen | Sie können den Datensatz, für den der Workflow ausgeführt wird, alle Datensätze, die mit dem Datensatz in einer n:1-Beziehung verknüpft sind, oder alle in früheren Schritten erstellten Datensätze zuweisen. |
E-Mail senden | Sendet eine E-Mail. Sie können angeben, dass eine neue E-Mail-Nachricht erstellt wird oder eine E-Mail-Vorlage verwenden, die für die Entität des Datensatzes konfiguriert ist, für die der Workflow ausgeführt wird oder für alle Entitäten mit einer n:1-Beziehung zu der Entität oder für die Entität für alle von früheren Schritten erstellte Datensätze. |
Untergeordneten Workflow starten | Startet einen Workflowprozess, der als untergeordneter Workflow konfiguriert wurde. |
Status ändern | Ändert den Status des Datensatzes, für den der Prozess ausgeführt wird, alle Datensätze, die mit dem Datensatz in einer n:1-Beziehung verknüpft sind, oder alle in früheren Schritten erstellten Datensätze. |
Workflow beenden | Beendet den aktuellen Workflow. Sie können den Status Erfolgreich oder Abgebrochen und eine Statusmeldung angeben. Wenn für ein Ereignis Echtzeitworkflows konfiguriert sind, verhindert das Beenden eines Workflows mit dem Status Storniert den Abschluss der Ereignisaktion. Weitere Informationen finden Sie unter Echtzeitworkflows verwenden. |
Benutzerdefinierter Schritt | Entwickler können benutzerdefinierte Workflowschritte erstellen, die Aktionen definieren. Es gibt keine benutzerdefinierten Schritte, die standardmäßig verfügbar sind. |
Einstellen von Datensatzwerten
Wenn Sie einen Datensatz erstellen, können Sie Werte für den Datensatz einstellen. Wenn Sie einen Datensatz aktualisieren, können Sie Werte einrichten, anfügen, erhöhen, verringern, multiplizieren oder löschen.
Wenn Sie Eigenschaften festlegen auswählen, wird ein Dialog zum Anzeigen des Standardformulars für die Entität geöffnet.
Unten in dem Dialogfeld sehen Sie eine Liste der zusätzlichen Felder, die nicht im Formular vorhanden sind.
Für jedes Feld können einen statischen Wert festlegen, der vom Workflow eingestellt wird.
Auf der rechten Seite des Dialogs Formular-Assistent können Sie dynamische Werte aus dem Kontext des aktuellen Datensatzes einrichten oder anfügen. Dies schließt Werte aus verknüpften Datensätzen ein, auf die über die n:1-Beziehungen (Viele-zu-Eins) für die Entität zugegriffen werden kann.
Die Optionen, die im Formular-Assistent verfügbar sind, hängen von dem Feld ab, das Sie im Formular ausgewählt haben. Wenn Sie einen dynamischen Wert festlegen, sehen Sie einen gelben Platzhalter, der als „Platzhalterfeld“ bezeichnet wird. Er zeigt, wo die dynamischen Daten enthalten sein werden. Wenn Sie den Wert entfernen möchten, wählen Sie einfach das Platzhalterfeld aus, und löschen Sie es. Für Textfelder können Sie eine Kombination aus statischen und dynamischen Daten verwenden.
Bei dynamischen Werten wissen Sie nicht genau, ob ein Feld oder eine verwandte Entität den festzulegenden Wert enthält. Beim Versuch, einen Wert festzulegen, sollten Sie eine Reihe von Feldern definieren und sie mithilfe der grünen Pfeile sortieren. Wenn das erste Feld keine Daten enthält, wird das zweite Feld durchsucht usw. Wenn keines der Felder Daten enthält, können Sie einen Standardwert angeben.
Einstellen von Bedingungen für Workflowaktionen
Die Aktionen, die Sie anwenden, hängen von Bedingungen ab. Workflowprozesse bieten mehrere Möglichkeiten, Bedingungen festzulegen und die Verzweigungslogik zu erstellen, um die Ergebnisse zu erzielen, die Sie wünschen. Sie können Werte des Datensatzes prüfen, für den Workflowprozess ausgeführt wird, alle in einem n:1-Verhältnis mit diesem Datensatz verknüpften Datensätze sowie die Werte in dem Prozess selbst.
Bedingungstyp | Beschreibung |
---|---|
Überprüfungsbedingung | Eine logische „Wenn <Bedingung> dann“-Anweisung Sie können die aktuellen Werte für den Datensatz, für den der Workflow ausgeführt wird, alle Datensätze, die mit dem Datensatz in einer n:1-Beziehung verknüpft sind, oder alle in früheren Schritten erstellten Datensätze prüfen. Auf Grundlage dieser Werte definieren Sie weitere Schritte, wenn die Bedingung erfüllt ist. In der Anweisung „wenn-<Bedingung>-dann“ können Sie folgende Operatoren verwenden: Gleich, Ungleich, Enthält Daten, Enthält keine Daten, Unter und Nicht unter. Hinweis: Unter und Nicht unter sind hierarchische Operatoren. Sie können nur bei Entitäten verwendet werden, für die eine hierarchische Beziehung definiert ist. Wenn Sie versuchen, diese Operatoren für Entitäten zu verwenden, für die keine hierarchische Beziehung definiert ist, wird die folgende Fehlermeldung angezeigt: „Sie verwenden einen hierarchischen Operator für eine Entität, für die keine hierarchische Beziehung definiert ist. Machen Sie entweder die Entität hierarchisch (durch Markieren einer Beziehung als hierarchisch) oder verwenden Sie einen anderen Operator." Weitere Informationen zu hierarchischen Beziehungen finden Sie unter Hierarchische Daten abfragen und visualisieren. Ein Screenshot, der der Tabelle folgt, ist ein Beispiel der Definition des Workflowprozesses, der die hierarchischen Operatoren Unter und Nicht unter verwendet. |
Bedingungsverzweigung | Eine logische Anweisung vom Typ „else-if-then“; der Editor verwendet den Text „andernfalls, wenn <Bedingung> dann:“ Wählen Sie eine Überprüfungsbedingung aus, die Sie bereits definiert haben, und Sie können eine Bedingungsverzweigung hinzufügen, um zusätzliche Schritte zu definieren, wenn die Bedingung "false" zurückgibt. |
Standardaktion | Eine logische Anweisung des Typs „else“ der Editor verwendet den Text "Otherwise:" Wählen Sie eine Überprüfungsbedingung, eine Bedingungsverzweigung, eine Wartebedingung oder eine parallele Warteverzweigung aus, die Sie bereits definiert haben, und Sie können eine Standardaktion verwenden, um Schritte für alle Fälle zu definieren, die nicht den in Bedingungs- oder Verzweigungselementen definierten Kriterien entsprechen. |
Wartebedingung | Ermöglicht das Unterbrechen eines Hintergrund-Workflows, bis die in der Bedingung definierten Kriterien erfüllt sind. Der Workflow wird automatisch gestartet, wenn die Kriterien in der Wartebedingung erfüllt sind. Echtzeitworkflows können keine Wartebedingungen verwenden. |
Parallele Warteverzweigung | Definiert eine alternative Wartebedingung für einen Hintergrund-Workflow mit einem entsprechenden Satz von zusätzlichen Schritten, die nur ausgeführt werden, wenn das Anfangskriterium erfüllt ist. Sie können parallele Warteverzweigungen verwenden, um in Ihrer Workflowlogik Zeitgrenzen zu erstellen. Dadurch wird vermieden, dass vom Workflow unbegrenzt auf die Erfüllung der in einer Wartebedingung definierten Kriterien gewartet wird. |
Benutzerdefinierter Schritt | Entwickler können benutzerdefinierte Workflowschritte erstellen, die Bedingungen definieren. Es gibt keine benutzerdefinierten Schritte, die standardmäßig verfügbar sind. |
Der folgende Screenshot enthält ein Beispiel der Workflowprozessdefinition mit den hierarchischen Operatoren Unter und Nicht unter. In unserem Beispiel wenden wir zwei unterschiedliche Rabatte auf zwei Gruppen von Konten an. In Schritt hinzufügen wählten wir Bedingung überprüfen aus, um die wenn-dann-Bedingung anzugeben, die die Operatoren Unter und Nicht unter enthalten. Der erste betrifft die wenn-dann-Bedingung, und gilt für alle Konten, die Unter dem Konto Alpine Ski House sind. Diese Konten erhalten 10 % Einkaufsrabatt auf gekaufte Waren und Services. Die zweite wenn-dann-Bedingung betrifft alle Konten, die Nicht unter dem Konto Alpine Ski House sind, und sie erhalten einen 5 % igen Rabatt. Dann haben wir Datensatz aktualisieren ausgwählt, um die Aktion zu definieren, die aufgrund der Bedingung ausgeführt werden soll.
Verwenden von Echtzeitworkflows
Sie können Echtzeitworkflows konfigurieren, Sie sollten sie jedoch vorsichtig verwenden. Hintergrundworkflows werden im Allgemeinen empfohlen, da diese dem System erlauben, sie zu verwenden, wenn auf dem Server Ressourcen verfügbar sind. Dies hilft, die Arbeit, auszugleichen, die der Server leisten muss, und die optimale Leistung für alle Benutzer des Systems zu wahren. Der Nachteil besteht darin, dass die Aktionen, die von Hintergrundworkflows definiert werden, nicht sofort wirken. Sie können nicht voraussagen, wann diese angewendet werden, aber im Allgemeinen dauert dies einige Minuten. Für die meisten Automatisierungen von Geschäftsprozessen ist dies in Ordnung, da die Personen, die das System verwenden, nicht sehen müssen, dass der Prozess ausgeführt wird.
Verwenden Sie Echtzeitworkflows, wenn ein Geschäftsprozess erfordert, dass jemand die Ergebnisse des Prozesses sofort sieht, oder wenn Sie den Vorgang abbrechen können wollen. Beispielsweise möchten Sie spezielle Standardwerte für einen Datensatz einrichten, wenn er zum ersten Mal gespeichert wird, oder Sie möchten sicherstellen, dass einige Datensätze nicht gespeichert werden.
Konvertieren von Echtzeit und Hintergrundworkflows
Sie können einen Echtzeitworkflow in einen Hintergrundworkflow ändern, indem Sie auf der Symbolleiste In einen Hintergrundworkflow konvertieren auswählen.
Sie können einen Hintergrundworkflow in einen Echtzeitworkflow ändern, indem Sie auf der Symbolleiste In einen Echtzeitworkflow konvertieren auswählen. Wenn der Hintergrundworkflow Wartebedingungen verwendet, wird er ungültig, und Sie können ihn erst dann wieder aktivieren, wenn Sie die Wartebedingung entfernt haben.
Initiieren eines Echtzeitworkflows vor oder nach Statusänderungen
Wenn Sie für Echtzeitworkflows Optionen für automatische Prozesse konfigurieren, ermöglichen Ihnen die Starten bei-Optionen für das Statusänderungsereignis die Auswahl von Nach oder Vor Statusänderungen. Die Standardoption ist Nach
Wenn Sie Vor auswählen, geben Sie an, dass die Logik in dem Workflow angewendet wird, bevor die Daten, die den Status ändern, gespeichert werden. Dadurch können Sie die Werte prüfen, bevor weitere Logik nach der Operation angewendet wird und verhindern, dass weitere Logik ausgeführt wird. Beispielsweise verfügen Sie unter Umständen über zusätzliche Logik in einer Plug-In- oder benutzerdefinierten Workflowaktion, die Aktionen auf einem anderen System auslösen könnte. Indem Sie die weitere Verarbeitung anhalten, können Sie Fälle vermeiden, von denen andere Systeme betroffen sind. Die Anwendung von Echtzeitworkflows vor diesem Ereignis bedeutet auch, dass andere Workflow- oder Plug-in-Aktionen, die Daten speichern könnten, nicht rückgängig gemacht werden müssen, wenn der Vorgang abgebrochen wird.
Verwenden der Workflow-Stoppfunktion mit Echtzeitworkflows
Wenn Sie die Aktion Workflow beenden in einem Workflow anwenden, haben Sie die Möglichkeit, eine Statusbedingung anzugeben, die entweder Erfolgreich oder Storniert sein kann. Wenn Sie den Status auf „Abgebrochen“ setzen, wird der Vorgang verhindert. Eine Fehlermeldung, die den Text aus der Endaktionsstatusmeldung enthält, wird dem Benutzer mit dem Titel Geschäftsprozessfehler angezeigt.
Siehe auch
Erstellen benutzerdefinierter Geschäftslogik mit Prozessen
Übersicht über Workflowprozesse
Überwachen und Verwalten von Workflowprozessen
Bwährzte Verfahren für Workflowprozesse