KEPLIN Docs

Aufgaben für Menschen

Schritte, die Benutzern der App zugewiesen sind — Entscheidungen, Fristen und der zu öffnende Bildschirm — die Arten, einen Prozess zu starten, und wie man die Ausführungen verfolgt.

Ein Workflow, der nur Felder schreibt und E-Mails verschickt, könnte auch ein Skript sein. Was ihn zu einem Geschäftsprozess macht, ist die Aufgabe: ein Schritt, der auf eine Person wartet, mit eigenen Schaltflächen, Frist und einem Bildschirm, auf dem sie entscheidet.

Diese Seite handelt von den Aufgaben, davon, wer den Prozess starten lässt, und davon, wie man verfolgt, was gerade läuft.

Der Schritt Aufgabe

Ziehen Sie Aufgabe aus der Palette auf die Leinwand und wählen Sie sie aus. Das rechte Panel zeigt alles, was eine Aufgabe braucht:

Die Konfiguration einer menschlichen Aufgabe
Die Konfiguration einer menschlichen Aufgabe

Feld Was es tut
Name des Schritts Das, was die Person in der Aufgabenliste liest, und das, was in der Historie bleibt.
Benutzer Von Hand ausgewählte Konten der App.
Rollen Alle Benutzer mit dieser Rolle.
Zu öffnender Bildschirm Der Bildschirm, den die Person zum Entscheiden öffnet. Er erhält den Schlüssel des Datensatzes als Parameter. Keiner = es wird nur über die Schaltflächen entschieden.
Frist (Tage) Tage, gezählt ab dem Moment, in dem die Aufgabe entsteht. 0 = keine Frist.
Entscheidungen Die Schaltflächen, die die Person sieht. Siehe unten.

Zu den Empfängern: „Wer die Aufgabe bekommt, wird bei ihrer Entstehung aufgelöst — eine spätere Änderung der Rolle nimmt die Aufgabe niemandem weg, der sie bereits hatte.“ Eine Aufgabe, die am Montag denjenigen zugewiesen wurde, die die Rolle direcao hatten, bleibt bei diesen Personen, auch wenn sich die Rolle am Mittwoch ändert.

Atenção

Eine Aufgabe ohne Benutzer und ohne Rollen ist ein Fehler im Entwurf: „Diese Aufgabe sagt nicht, wem sie zugewiesen wird — die Ausführung wird hier scheitern.“ Und sie scheitert weit weg von der Stelle, an der der Fehler gemacht wurde, was schlimmer ist — deshalb warnt der Entwurf früh.

Entscheidungen — die Schaltflächen und die Wege

Eine Entscheidung ist zugleich ein Button auf dem Bildschirm und ein Ausgang im Entwurf. Man deklariert sie einmal.

Der Dialog Entscheidungen der Aufgabe
Der Dialog Entscheidungen der Aufgabe

  1. Öffnen Sie Entscheidungen über die Schaltfläche .
  2. Jede Zeile hat eine Beschriftung (das, was die Person liest: „Aprovar“) und einen Bezeichner (das, was der Code verwendet: aprovar).
  3. Klicken Sie auf Entscheidung hinzufügen für die fehlenden.
  4. Schließen Sie den Dialog und verbinden Sie auf der Leinwand jeden Ausgang mit dem Schritt, der ihm entspricht.

Im Beispiel hat die Aufgabe Aprovação da direcção drei: Aprovar, Rejeitar und Pedir mais dados. Jede führt den Prozess auf einen anderen Weg — die erste schließt das Geschäft ab, die zweite markiert es als verloren, die dritte gibt den Fall an den Vertrieb zurück und wartet auf dessen Signal.

Dica

Ändern Sie die Beschriftung nach Belieben — das ist Text für Menschen. Der Bezeichner ist das, was die Verbindungen des Entwurfs und der Code verwenden: Ihn zu ändern zerbricht den Pfeil, der aus dieser Entscheidung hinausführt, und die Warnleiste sagt dann „Verbindung von einem Ausgang, den es nicht mehr gibt“.

Was die Person in der App sieht

Aus der Sicht derer, die die Anwendung benutzen, erscheint eine Aufgabe über zwei Widgets des Bildschirm-Baukastens:

Die Workflow-Widgets in der Palette des Bildschirm-Baukastens
Die Workflow-Widgets in der Palette des Bildschirm-Baukastens

Widget Was es zeigt
Meine Aufgaben Der Posteingang der angemeldeten Person: ihre offenen Aufgaben, mit den Entscheidungs-Buttons einer jeden.
Status des Prozesses Wo der Prozess eines Datensatzes steht — „Jetzt bei“, die letzten Sprünge und (optional) die Entscheidungs-Buttons.

Eigenschaften, die man kennen sollte:

  • Entscheidungs-Buttons anzeigen — „sie erscheinen nur, wenn die offene Aufgabe der Person zugewiesen ist, die gerade hinsieht“. Niemand entscheidet für jemand anderen.
  • Den Bildschirm der Aufgabe öffnen — ein Klick auf eine Aufgabe öffnet den Bildschirm, den sie angibt, bereits mit dem Schlüssel des Datensatzes.
  • Anzuzeigende Schritte (im Status des Prozesses) — wie viele Schritte der Historie zu sehen sind.
  • Entität und Schlüssel des Datensatzes — welchem Datensatz das Widget folgt.

Wenn die Person auf eine Schaltfläche drückt, schließt sich die Aufgabe und der Prozess geht über den entsprechenden Ausgang weiter — sofort, ohne dass jemand irgendetwas „laufen lassen“ müsste.

Im Code macht man dasselbe mit dem SDK der Bildschirme (TypeScript):

const minhas = await keplin.workflow.tasks();
await keplin.workflow.complete(minhas[0].id, "aprovar", { nota: "ok" });

Arten des Starts

Ein Workflow weiß nicht, wer ihn startet — und das mit Absicht. Wer entscheidet, ist der Bildschirm, der Code oder der Elternprozess. Es gibt vier Arten:

Art Wie es geht
Schaltfläche oder Ereignis eines Bildschirms In einem TypeScript-Ereignis: await keplin.workflow.start("wf_4ef9ed11", id).
Python-Skript workflow.start("Aprovação de oportunidade", 42) — nimmt den Namen oder die Kennung.
Unter-Workflow Ein Schritt Unter-Workflow in einem anderen Prozess, über denselben Datensatz.
Signal Ein bereits laufender Prozess, der bei einem Auf Ereignis warten steht, wird mit signal(...) fortgesetzt.

Bei allen ist der Schlüssel des Datensatzes verpflichtend: Jede Ausführung dreht sich um einen Datensatz. Der Start antwortet, „sobald die Maschine die erste Wartestelle erreicht — er wartet nie darauf, dass der Prozess endet“, und gibt die Kennung der erzeugten Ausführung zurück.

Die Kennung des Prozesses (wf_…) kopiert man mit einem Klick in der Kopfzeile des Entwurfs — das ist es, was man in den Code einfügt.

Nota

Ein Prozess auf Aus startet über keinen dieser Wege. Das ist der Schalter, den man verwendet, wenn man die Zugänge stoppen will, ohne etwas zu löschen.

Die Ausführungen verfolgen

Im Tab Ausführungen des Prozesses sieht man alles, was bereits gelaufen ist:

Der Tab Ausführungen eines Prozesses
Der Tab Ausführungen eines Prozesses

Oben ein Filter nach Status (Alle Status), die Anzahl der Ausführungen und die Schaltfläche Beendete löschen. Ein Prozess, der noch nicht gelaufen ist, zeigt „Dieser Prozess ist noch nie gelaufen.“.

Die Status einer Ausführung:

Status Bedeutet
Läuft Sie führt in diesem Moment Schritte aus.
Wartet Angehalten — bei einer Aufgabe, einem Warten oder einem Auf Ereignis warten.
Abgeschlossen Sie hat ein Ende erreicht.
Fehlgeschlagen Ein Schritt hat einen Fehler geworfen (ein Skript, das geplatzt ist, ein abgelehnter Schreibvorgang).
Abgebrochen Sie wurde vor dem Ende beendet.

Jede Zeile zeigt den Datensatz, den Status, wann sie begonnen hat und wie viele Schritte sie getan hat. Öffnet man die Zeile, sieht man die Historie — ein Eintrag pro Ereignis, mit dem Namen des Schritts genau so, wie er im Entwurf steht:

Ereignis Wann es erscheint
gestartet Zu Beginn der Ausführung.
Schritt Jeder ausgeführte Schritt.
Entscheidung Eine Bedingung, die einen Weg gewählt hat, oder eine entschiedene Aufgabe.
gewartet / fortgesetzt Sie ist in eine Wartestelle eingetreten / wurde geweckt.
beendet / fehlgeschlagen / abgebrochen Der Ausgang.

Die Schaltfläche Den Pfad im Entwurf anzeigen ist die nützlichste von allen: Sie hebt auf der Leinwand die Schritte hervor, die jene Ausführung durchlaufen hat, nummeriert in der Reihenfolge, in der sie geschahen. Zum Normalzustand kehrt man mit den Pfad löschen zurück, neben den Tabs.

Die Historie aufräumen

Beendete löschen „löscht die abgeschlossenen, fehlgeschlagenen und abgebrochenen Ausführungen dieses Prozesses samt ihrer Historie. Die, die noch laufen oder warten, bleiben. Es gibt kein Zurück.“

Für eine automatische Regel verwenden Sie die Rotation der Einträge in den Einstellungen der App: Die beendeten Workflow-Instanzen werden nach der von Ihnen festgelegten Frist gelöscht, „Instanzen, die noch laufen oder auf jemanden warten, werden nie gelöscht“, und „fehlgeschlagene bleiben doppelt so lange“.

Häufige Fragen

Die Person sieht ihre Aufgabe nicht. Nach Wahrscheinlichkeit geordnet: Der Bildschirm, auf dem das Widget Meine Aufgaben liegt, ist für sie nicht zugänglich; die Aufgabe wurde einer Rolle zugewiesen, die sie nicht hat; oder das Konto der App ist nicht dieselbe Person, für die Sie es halten — die Konten der App sind unabhängig von den Konten der Plattform (siehe Benutzer der App).

Kann ich eine Aufgabe einer anderen Person neu zuweisen? Die Zuweisung wird in dem Moment festgeschrieben, in dem die Aufgabe entsteht. Für Vertretungsfälle entwerfen Sie den Prozess mit Rollen statt mit Benutzern: Dann genügt es, der vertretenden Person die Rolle zu geben.

Bewirkt die Frist von allein etwas? Die Frist markiert die Aufgabe und wird demjenigen angezeigt, der sie hat. Um auf eine Verspätung zu reagieren — den Chef benachrichtigen, eskalieren — entwerfen Sie diesen Weg: ein Parallel mit einem Zweig, der zu einem Warten von N Tagen und von dort zu einem Benachrichtigen führt.

Eine Ausführung ist fehlgeschlagen. Kann ich sie fortsetzen? Eine fehlgeschlagene Ausführung wird mit dem Schritt und dem Fehler vermerkt. Der normale Weg ist, die Ursache zu beheben (das Skript, die Berechtigung) und den Prozess erneut über denselben Datensatz zu starten — steht die Nebenläufigkeit auf Nur eine zur selben Zeit, prüfen Sie vorher, dass die fehlgeschlagene Ausführung nicht mehr als lebend zählt.