KEPLIN Docs

Schritte, Entscheidungen und Wartezustände

Der Katalog der Knoten eines Workflows — Bedingungen, Schreiben in den Datensatz, Benachrichtigungen, E-Mails, Skripte, Wartezustände, Schleifen, Parallelität und Zusammenführungen.

Diese Seite geht alle Schritttypen durch, die man aus der Palette Knoten auf die Leinwand zieht. Für jeden: was er tut, was man ausfüllt und was bei der Ausführung passiert.

Davor ein Bauteil, das sich in fast allen wiederholt: die Herkunft eines Werts.

Woher ein Wert kommt

Immer wenn ein Schritt einen Wert verlangt — die rechte Seite einer Bedingung, das, was in ein Feld geschrieben wird —, bietet die Oberfläche dieselben vier Herkünfte an:

Herkunft Was sie mitbringt
Fester Wert Ein von Hand geschriebener Text („Ganha“, „25000“).
Feld des Datensatzes Ein Feld des Datensatzes, um den es in der Ausführung geht.
Variable Eine der Variablen des Prozesses.
Wer gestartet hat Wer den Prozess starten ließ — Benutzername (der Username) oder ID des Benutzers.

Deshalb braucht ein Prozess für das meiste, was er tut, keinen Code: Die Entscheidungen und die Schreibvorgänge setzen sich aus diesen vier Bauteilen zusammen.

Bedingung

Öffnet zwei Wege ausgehend von einer Frage. Sie hat immer zwei feste Ausgänge: Wahr und Falsch.

Der Dialog Bedingungen des Schritts
Der Dialog Bedingungen des Schritts

  1. Wählen Sie den Schritt aus und öffnen Sie Bedingungen über die Schaltfläche .
  2. Klicken Sie auf Bedingung hinzufügen.
  3. Wählen Sie die Herkunft der linken Seite (normalerweise Feld des Datensatzes), das Feld, den Operator und die rechte Seite.

Die Operatoren sind dieselben wie bei den Filtern und den Formatierungsregeln im Rest der Plattform:

Operator Bedeutet
eq / neq Gleich / ungleich
gt / gte Größer als / größer oder gleich
lt / lte Kleiner als / kleiner oder gleich
contains Enthält den Text
startsWith / endsWith Beginnt mit / endet auf
isEmpty / isNotEmpty Ist leer / ist nicht leer

„Alle müssen zutreffen“ — mehrere Bedingungen im selben Schritt werden mit UND verknüpft, nie mit ODER. Für ein ODER verwenden Sie zwei Bedingungsschritte hintereinander.

Ganz ohne Bedingungen „geht es immer über «Wahr» weiter“ — nützlich beim Entwerfen, gefährlich, wenn es so bleibt.

In den Datensatz schreiben

Speichert Felder in den Datensatz, um den es in der Ausführung geht. Es ist der Schritt, der den Kreis schließt: Der Prozess hat entschieden, jetzt muss die Akte im CRM das widerspiegeln.

Der Dialog In den Datensatz zu schreibende Felder
Der Dialog In den Datensatz zu schreibende Felder

  1. Öffnen Sie Zu schreibende Felder über die Schaltfläche .
  2. Klicken Sie auf Feld hinzufügen.
  3. Wählen Sie das Feld und die Herkunft des Werts.

Im Beispiel schreibt der Schritt Marcar como Ganha fase = "Ganha" (fester Wert) und responsavel = Wer gestartet hat (der Username dessen, der den Prozess begonnen hat).

Nota

Geschrieben wird „über dasselbe GraphQL der App, mit der Autorisierung dessen, der ihn gestartet hat“. Das heißt: die Berechtigungen zählen. Wenn die Person, die den Prozess gestartet hat, jene Entität nicht ändern darf, schlägt der Schritt fehl — und das zu Recht, denn ein Prozess ist kein Hintereingang zu den Berechtigungen.

Ein Schritt ganz ohne Felder „tut nichts“ — die Oberfläche sagt es, statt es zu verbergen.

Benachrichtigen

Schickt eine Benachrichtigung innerhalb der App — die Glocke in der Navigation, in Echtzeit für alle mit offener Sitzung und im Posteingang für alle anderen.

Feld Hinweise
Benutzer Konten der App, von Hand ausgewählt.
Rollen Alle Benutzer mit dieser Rolle. Übersteht das Kommen und Gehen von Personen.
Titel Die Zeile, die in der Benachrichtigung erscheint.
Text Der Rumpf.

In Titel und Text können Sie Werte aus dem Datensatz oder aus Variablen in geschweiften Klammern einsetzen: A oportunidade {titulo} foi rejeitada.

E-Mail

Wie Benachrichtigen, aber das Ziel ist die E-Mail, über den in den Einstellungen der App konfigurierten Kanal. Sie hat zwei Felder mehr: Der Rumpf ist HTML, geschrieben in einem eigenen Editor, und kann einen Bericht als Anhang mitführen.

Der ausgewählte Schritt E-Mail, mit dem Eigenschaften-Panel
Der ausgewählte Schritt E-Mail, mit dem Eigenschaften-Panel

Feld Hinweise
Benutzer / Rollen Die Empfänger. Wer keine E-Mail-Adresse hat, bleibt außen vor.
Betreff Nimmt {campo} an wie die übrigen Nachrichten.
Text Öffnet über die Schaltfläche einen HTML-Editor (Text der E-Mail).
Bericht anhängen Einer der Berichte der App, oder Kein Anhang.

Zum Anhang: „Das PDF wird im Moment des Versands erzeugt, für den Datensatz dieser Ausführung“ — es ist keine gespeicherte Datei, sondern das Dokument jenes Falls, in jenem Augenblick erstellt. Siehe das Kapitel Berichte.

Atenção

Ohne aktiven E-Mail-Kanal mit vollständigem SMTP in den Einstellungen der App kann der Schritt nichts versenden. Richten Sie ihn unter Einstellungen der App → Benachrichtigungen ein, bevor Sie den Prozess laufen lassen.

Skript ausführen

Ruft mitten im Prozess ein Python-Skript der App auf. Es ist das Ventil für alles, was der Entwurf nicht kann: einen externen Dienst aufrufen, eine Marge berechnen, gegen ein anderes System prüfen.

Der ausgewählte Schritt Skript ausführen
Der ausgewählte Schritt Skript ausführen

Feld Hinweise
Skript Eines der Skripte der App.
Speichern in Die Variable, in der landet, was das Skript zurückgibt. Leer = „wird verworfen“.

Das Skript „erhält den Datensatz, den Schlüssel und die Variablen als Argumente“ — man muss sie nicht von Hand übergeben. Was es zurückgibt, landet in der angegebenen Variablen und steht dann den folgenden Schritten zur Verfügung.

Schlägt das Skript fehl, bleibt die Ausführung bei diesem Schritt auf Fehlgeschlagen, mit dem in der Historie gespeicherten Fehler.

Warten

Vertagt den Prozess um eine feste Zeit: Tage und Stunden. „Null in beiden = es wird gar nicht gewartet.“

Es ist das Bauteil für „erinnere mich in drei Tagen, falls es noch keine Antwort gibt“. Die Ausführung schläft und wird zur richtigen Zeit automatisch fortgesetzt, auch wenn der Server zwischendurch neu gestartet wurde.

Auf Ereignis warten

Vertagt den Prozess, bis jemand ein Signal mit einem vereinbarten Namen schickt.

Der ausgewählte Schritt Auf Ereignis warten
Der ausgewählte Schritt Auf Ereignis warten

Das einzige Feld ist der Name des Signals (im Beispiel dados-completos). „Wer das Signal sendet, schreibt diesen Namen. Ohne Frist: Sendet es niemand, wartet der Prozess weiter.“

Das Signal schickt man auf zwei Arten:

  • in einem Bildschirmereignis (TypeScript): keplin.workflow.signal("dados-completos", id)
  • in einem Skript (Python): workflow.signal("dados-completos", key=id)

Ohne Angabe des Datensatzes weckt das Signal alle Prozesse auf, die bei jenem Namen stehen; mit Datensatz nur die zu diesem. Null Geweckte ist kein Fehler — es heißt, dass niemand gewartet hat.

Dica

Häufig kombiniert man Auf Ereignis warten mit einem Pfeil zurück zu einer Aufgabe: Die Person gibt den Fall zurück und bittet um mehr Daten, der Prozess wartet auf das Signal, und wenn der Vertrieb die Akte vervollständigt, bringt das Signal den Fall zur selben Aufgabe zurück. Genau das tut das Beispiel dieser Dokumentation.

Schleife

Durchläuft eine Liste, einen Wert nach dem anderen. Sie hat zwei Ausgänge: Jedes (der Rumpf der Schleife, der einmal pro Wert läuft) und Am Ende (wenn die Liste zu Ende ist).

Feld Hinweise
Liste Die Variable mit den Werten, die durchlaufen werden. „Meist erzeugt sie ein Skript-Schritt.“
Jeden speichern in Die Variable, die den Wert des aktuellen Durchlaufs erhält.

Ohne gewählte Liste warnt der Entwurf: „Diese Schleife sagt nicht, welche Liste sie durchlaufen soll: Sie geht sofort über «Am Ende» hinaus.“

Parallel

Startet mehrere Wege gleichzeitig. Jeder Zweig ist ein Ausgang des Knotens.

Der Dialog Parallele Zweige
Der Dialog Parallele Zweige

  1. Öffnen Sie Parallele Zweige über die Schaltfläche .
  2. Jede Zeile ist ein Zweig, mit einer Beschriftung (was man im Entwurf liest) und einem Bezeichner.
  3. Verbinden Sie jeden Ausgang mit dem ersten Schritt des jeweiligen Zweigs.

Im Beispiel öffnet der Schritt Fechar e comunicar zwei Zweige: Registo (der die Phase speichert) und Cliente (der die E-Mail verschickt). Keiner wartet auf den anderen.

Zusammenführung

Führt die Zweige eines Parallel wieder zusammen. Es ist der Schritt, der auf die Frage „auf wie viele wird gewartet?“ antwortet.

Die ausgewählte Zusammenführung, mit dem Eigenschaften-Panel
Die ausgewählte Zusammenführung, mit dem Eigenschaften-Panel

Warten auf Was es tut
Alle Zweige Der Prozess geht erst weiter, wenn der letzte Zweig ankommt.
Der Erste entscheidet Geht mit dem ersten weiter, der ankommt — „die anderen Zweige werden abgebrochen, sobald einer ankommt“.
Eine Anzahl davon Geht weiter, sobald Wie viele Zweige angekommen sind.

Unter-Workflow

Ruft einen anderen Prozess auf, über denselben Datensatz.

Feld Hinweise
Auszuführender Prozess Einer der Workflows der App.
Warten, bis er fertig ist Eingeschaltet hält dieser Prozess an, bis der andere endet. „Ausgeschaltet läuft dieser Prozess weiter und der andere läuft eigenständig.“

„Er läuft auf DEMSELBEN Datensatz und muss deshalb dieselbe Entität behandeln“ — ein Prozess über Verkaufschancen kann keinen Prozess über Konten aufrufen. Und ein Prozess kann sich nicht selbst aufrufen: „das wäre eine endlose Rekursion“, und der Entwurf meldet es.

Ende

Beendet die Ausführung. Es hat ein einziges Feld, Ergebnis, einen kurzen Text wie aprovado, ganha oder perdida. „Es bleibt in der Historie und ist das, was das Status-Widget anzeigt.“

Ein Prozess kann mehrere Ende-Knoten haben — einen pro Ausgang — und genau das sollte man tun: statt eines allgemeinen Endes eines pro Ergebnis, damit die Historie demjenigen etwas sagt, der sie Monate später liest.

Wie man einen Schritt auf der Leinwand liest

Jeder Kasten auf der Leinwand zeigt drei Dinge: den Namen des Schritts (das, was Sie unter Name des Schritts geschrieben haben und was in der Historie erscheint), den Typ in kleinen Buchstaben darunter und die Ausgänge rechts, mit dem Namen eines jeden. Ein bernsteinfarbenes Dreieck in der Ecke markiert einen Schritt mit Problemen.

Dica

Geben Sie den Schritten fachliche Namen — „Aprovação da direcção“, „Marcar como Ganha“ — und keine technischen. Es ist dieser Text, den Sie in der Historie jeder Ausführung lesen werden, wenn jemand fragt: „Wo hängt dieser Fall gerade?“.