Změny stavu (přechody)
Tato stránka popisuje změny stavu — povolené cesty mezi stavy workflow — a pořadí, ve kterém se při změně stavu vyhodnocuje navázaná logika (handlery).
O funkci
Změna stavu (přechod) definuje, že záznam smí přejít z jednoho stavu do druhého — například z „Nová" do „Probíhá". Na přechod se věší veškerá aplikační logika: kontroly, které rozhodují, zda je změna možná, a kroky, které se po změně vykonají. Právě konfigurací přechodů se řídí, „co se v systému stane", když uživatel (nebo automatizace) záznam posune dál.
Nastavení přechodu
- Název — zobrazovaný název změny stavu (např. „Zrušit zpracování").
- Kód — identifikátor přechodu.
- Výchozí stav — stav, ze kterého přechod vede. Kromě konkrétního stavu lze zvolit „Jakýkoliv stav" — přechod je pak dostupný odkudkoli.
- Cílový stav je dán tím, u kterého stavu přechod spravujete — přechody se v editoru stavu zobrazují jako „Přechody do stavu".
- Priorita — pořadí, ve kterém se přechody nabízejí a vyhodnocují, pokud jich připadá v úvahu více.
- Viditelný přechod — určuje, zda je změna stavu viditelná i mimo administraci (např. pro zákazníka); neviditelné přechody slouží jen internímu zpracování.
- Nastavení layoutu — rozložení případného formuláře, který se uživateli při změně stavu zobrazí.
Handlery na přechodu
Každý přechod má čtyři sekce s logikou; jejich role a pořadí vyhodnocení:
- Podmínky — vyhodnocují se před nabídnutím změny stavu. Pokud některá podmínka není splněna, přechod se vůbec nenabídne — uživatel nevidí chybu, možnost prostě chybí.
- Validace — kontroly spuštěné při pokusu o změnu stavu (spolu s ověřením případných povinných dat přechodu). Pokud validace neprojde, změna stavu se zastaví a uživateli se zobrazí chyba s popisem problému.
- Akce — po úspěšné změně stavu se vykonají navázané kroky (generování dokladů, e-maily, skladové operace…), v pořadí podle priority. Každá akce může mít navíc vlastní podmínky spuštění, takže se provede jen v určitých situacích.
- Akce při chybě — pokud některá akce selže, spustí se kompenzační kroky této sekce (např. odemčení rezervovaných pozic) a chyba se poté ohlásí.
Souběh změn stavu
Systém hlídá, aby na jednom záznamu neprobíhaly dvě změny stavu současně — druhý pokus je odmítnut, dokud první změna neskončí.
Správa přechodů v administraci
Přechody se spravují v editoru stavu na záložce Přechody (viz Stavy) — tlačítkem Přidat přechod, nebo kliknutím na existující přechod.
Editor přechodu: nahoře nastavení (Výchozí stav, Priorita, Viditelný přechod), níže sekce Podmínky, Validace, Akce a Akce při chybě.
V každé sekci přidáte handler tlačítkem Přidat podmínku / validaci / akci. U přidaného handleru vyberete typ z nabídky (názvy jsou české, nabídka odpovídá cílovému objektu workflow) a vyplníte jeho parametry — formulář parametrů se zobrazí podle zvoleného typu.
Výběr typu akce — nabídka obsahuje všechny akce dostupné pro cílový objekt workflow; po výběru se zobrazí parametry zvolené akce.
Přehled dostupných handlerů podle modulů najdete v registru — viz Handlery.
Časté dotazy (FAQ)
Proč se mi změna stavu nenabízí?
Nejspíš není splněna některá podmínka přechodu (např. záznam nemá požadovaný typ dopravy). Podmínky přechod skrývají bez chybové hlášky — zkontrolujte konfiguraci podmínek daného přechodu.
Proč změna stavu skončí chybou?
Neprošla některá validace (nebo chybí povinná data přechodu) — systém zobrazí popis problému a záznam zůstává v původním stavu. Po odstranění příčiny lze změnu stavu spustit znovu.
Co se stane, když selže akce po změně stavu?
Spustí se akce při chybě (kompenzační kroky) daného přechodu a chyba se ohlásí. Zkontrolujte záznam a případně změnu stavu opakujte.
Související dokumentace
- Princip workflow
- Stavy
- Handlery
- Hromadné akce a úpravy — hromadná změna stavu ze seznamu