Kroki i bramki

Diagram obiegu składa się z siedmiu typów kroków. Ten artykuł opisuje każdy z nich, rodzaje bramek i trzy rodzaje oczekiwania wraz z regułami, których pilnuje linter.

Opublikowano
Zaktualizowano
Wersja systemu26.39
Czas czytania3 min
Na tej stronieTypy krokówReguły, których pilnuje linterStartZadanie użytkownikaZadanie serwisoweBramkaOczekiwaniePętlaKoniecBramkiOczekiwanie
Diagram obiegu z krokami różnych typów

Typy kroków#

KrokWykonuje się sam?Może mieć akcje?Do czego służy
StarttaktakPunkt wejścia procesu. Dokładnie jeden w obiegu.
Zadanie użytkownikanietakCzeka na decyzję człowieka — użytkownik wybiera akcję.
Zadanie serwisowetaktakWykonuje akcje automatycznie i idzie dalej.
BramkataknieRozgałęzia proces: XOR (jedna ścieżka), OR (wiele), AND (równolegle).
OczekiwanietaknieParkuje obieg do czasu płatności, sygnału albo upływu terminu.
PętlataktakIteruje po kolekcji i wykonuje kroki podrzędne.
KoniectaktakZamyka instancję obiegu. Może mieć akcje końcowe.

Reguły, których pilnuje linter#

Linter działa w edytorze i przed włączeniem definicji. Ostrzeżenia nie blokują zapisu, ale każde z nich wskazuje realny problem w działaniu obiegu.

Start#

  • Obieg musi mieć dokładnie jeden krok startowy.
  • Krok startowy nie może mieć wejść.

Zadanie użytkownika#

  • Musi mieć przypisanie (użytkownicy, role lub jednostki) albo tryb „ktokolwiek".

Zadanie serwisowe#

  • Powinien mieć co najmniej jedną akcję automatyczną, inaczej tylko przepuszcza obieg dalej.

Bramka#

  • Bramka XOR i OR wymaga przejścia domyślnego — inaczej niedopasowane zamówienie utknie.
  • Bramka AND uruchamia wszystkie wyjścia równolegle i nie używa warunków.

Oczekiwanie#

  • Wyjścia są nazwane; strzałkę podpina się do konkretnego wyniku.
  • Termin bez podpiętego wyjścia „przeterminowano" zostawia proces bez decyzji.
  • Czas oczekiwania nie liczy się do limitu czasu procesu.

Pętla#

  • Wymaga źródła kolekcji (zmienna procesu, model albo wynik akcji).

Koniec#

  • Obieg musi mieć co najmniej jeden krok końcowy.

Bramki#

Bramka rozgałęzia proces. Warunki bramek budujesz z pól zamówienia, klienta, zmiennych procesu i wyników akcji.

RodzajZachowanie
Wyłączająca (XOR)Pierwszy spełniony warunek wybiera jedną ścieżkę.
Włączająca (OR)Sprawdza warunki po kolei, jak XOR.
Równoległa (AND)Uruchamia wszystkie wyjścia naraz i czeka na ich zejście.

Oczekiwanie#

Krok Oczekiwanie parkuje obieg do czasu, aż wydarzy się coś, na co czeka. Każdy rodzaj ma nazwane wyniki, a strzałkę wychodzącą podpinasz do konkretnego wyniku.

RodzajCzeka naWynikiWymaga zamówienia
Płatność zamówieniawpłatę za zamówieniepaid, failed, cancelled, expiredtak
Upływ czasuupływ ustawionego czasuelapsednie
Sygnał zewnętrznysygnał z zewnątrzreceived, expirednie

Znaczenie wyników:

  • paid - cała kwota zamówienia została rozliczona (webhook operatora, rekoncyliacja albo ręczne rozliczenie).
  • failed - płatność nie powiodła się.
  • cancelled - zamówienie zostało anulowane w trakcie oczekiwania.
  • expired - minął ustawiony termin. Podepnij to wyjście zawsze, gdy ustawiasz termin; bez niego proces zostaje bez decyzji.
  • elapsed - upłynął zadany czas (rodzaj „Upływ czasu”).
  • received - nadszedł sygnał zewnętrzny.
PodsumowanieW skrócie
  • Obieg ma dokładnie jeden start i co najmniej jeden koniec.
  • Zadanie użytkownika czeka na człowieka, zadanie serwisowe wykonuje akcje samo.
  • Bramki XOR i OR potrzebują ścieżki domyślnej, bramka AND uruchamia wyjścia równolegle.
  • Oczekiwanie ma nazwane wyniki, a wyjście expired trzeba podpiąć.