Tento dokument byl přeložen umělou inteligencí. V případě nepřesností se prosím obraťte na anglickou verzi
NocoBase obsahuje vestavěné běžné datové operace (jako je přidávání, mazání, aktualizace a prohlížení). Pokud tyto operace nestačí pro složité obchodní požadavky, můžete využít události vlastní akce v rámci pracovního postupu. Tuto událost pak navážete na tlačítko „Spustit pracovní postup“ v bloku stránky. Po kliknutí uživatele se spustí pracovní postup vlastní akce.
Při vytváření pracovního postupu vyberte „Událost vlastní akce“:

v.1.6.0+
Typ kontextu určuje, ke kterým tlačítkům v blocích lze pracovní postup navázat:

Pokud je typ kontextu Jeden záznam nebo Více záznamů, musíte vybrat kolekci, ke které se má datový model navázat:

Pokud potřebujete v pracovním postupu použít související data spouštěného datového řádku, můžete zde vybrat hluboká související pole:

Tato pole se po spuštění události automaticky přednačtou do kontextu pracovního postupu, aby je bylo možné v pracovním postupu použít.
Konfigurace akčních tlačítek v různých blocích se liší v závislosti na typu kontextu nastaveném v konfiguraci pracovního postupu.
v.1.6.0+
V panelu akcí a dalších datových blocích můžete přidat tlačítko „Spustit pracovní postup“:



Po přidání tlačítka navážete dříve vytvořený pracovní postup bez kontextu. Zde je příklad s tlačítkem v panelu akcí:


V libovolném datovém bloku lze do panelu akcí pro jeden záznam přidat tlačítko „Spustit pracovní postup“, například ve formulářích, řádcích tabulek, detailech atd.:



Po přidání tlačítka navážete dříve vytvořený pracovní postup:


Poté kliknutím na toto tlačítko spustíte událost vlastní akce:

v.1.6.0+
V panelu akcí bloku tabulky se při přidávání tlačítka „Spustit pracovní postup“ zobrazí dodatečná možnost pro výběr typu kontextu: „Bez kontextu“ nebo „Více záznamů“:

Pokud je vybráno „Bez kontextu“, jedná se o globální událost a lze ji navázat pouze na pracovní postupy typu bez kontextu.
Pokud je vybráno „Více záznamů“, můžete navázat pracovní postup typu více záznamů, který lze použít pro hromadné akce po výběru více záznamů (aktuálně podporováno pouze tabulkami). Rozsah dostupných pracovních postupů je omezen pouze na ty, které jsou nakonfigurovány tak, aby odpovídaly kolekci aktuálního datového bloku:

Při kliknutí na tlačítko pro spuštění musí být v tabulce zaškrtnuty některé datové řádky; jinak se pracovní postup nespustí:

Představte si, že máme kolekci „Vzorky“. Pro vzorky se stavem „Odebráno“ potřebujeme zajistit akci „Odeslat k inspekci“. Tato akce nejprve zkontroluje základní informace o vzorku, poté vygeneruje „Záznam o inspekci“ a nakonec změní stav vzorku na „Odesláno k inspekci“. Jelikož tuto sérii procesů nelze provést pouhým kliknutím na standardní tlačítka pro přidávání, mazání, aktualizaci nebo prohlížení, můžeme k její realizaci použít událost vlastní akce.
Nejprve vytvořte kolekci „Vzorky“ a kolekci „Záznamy o inspekci“ a do kolekce „Vzorky“ zadejte základní testovací data:

Poté vytvořte pracovní postup „Událost vlastní akce“. Pokud potřebujete rychlou zpětnou vazbu z operačního procesu, můžete zvolit synchronní režim (v synchronním režimu nelze používat asynchronní uzly, jako je ruční zpracování):

V konfiguraci spouštěče vyberte pro kolekci „Vzorky“:

Uspořádejte logiku v procesu podle obchodních požadavků. Například povolte odeslání k inspekci pouze tehdy, když je parametr indikátoru větší než 90; jinak zobrazte relevantní zprávu:

Uzel "Zpráva odpovědi" lze použít v synchronních událostech vlastní akce k vrácení zprávy klientovi. V asynchronním režimu jej nelze použít.
Po konfiguraci a povolení pracovního postupu se vraťte do rozhraní tabulky a přidejte tlačítko „Spustit pracovní postup“ do sloupce akcí tabulky:

Poté v konfiguračním menu tlačítka vyberte navázání pracovního postupu a otevřete vyskakovací okno konfigurace:

Přidejte dříve povolený pracovní postup:

Po odeslání změňte text tlačítka na název akce, například „Odeslat k inspekci“. Konfigurace je nyní dokončena.
Při použití vyberte v tabulce libovolný vzorek dat a klikněte na tlačítko „Odeslat k inspekci“ pro spuštění události vlastní akce. Jak bylo dříve uspořádáno v logice, pokud je parametr indikátoru vzorku menší než 90, po kliknutí se zobrazí následující zpráva:

Pokud je parametr indikátoru větší než 90, proces se provede normálně, vygeneruje se „Záznam o inspekci“ a stav vzorku se změní na „Odesláno k inspekci“:

Tímto je jednoduchá událost vlastní akce dokončena. Podobně lze pro podnikové procesy se složitými operacemi, jako je zpracování objednávek nebo odesílání zpráv, použít události vlastní akce.
Spouštění událostí vlastní akce není omezeno pouze na operace uživatelského rozhraní; lze je spustit také prostřednictvím volání HTTP API. Konkrétně události vlastní akce poskytují pro všechny akce kolekcí nový typ akce pro spouštění pracovních postupů: trigger, který lze volat pomocí standardního akčního API NocoBase.
Pracovní postup spouštěný tlačítkem, jak je uvedeno v příkladu, lze volat takto:
Jelikož tato akce je určena pro jeden záznam, při volání na existující data je nutné zadat ID datového řádku a nahradit část <:id> v URL.
Pokud je volána pro formulář (například pro vytvoření nebo aktualizaci), pro formulář, který vytváří nová data, můžete ID vynechat, ale musíte předat odeslaná data jako kontext pro spuštění:
Pro aktualizační formulář je nutné předat jak ID datového řádku, tak aktualizovaná data:
Pokud jsou předány ID i data, nejprve se načte datový řádek odpovídající ID a poté se použijí vlastnosti z předaného datového objektu k přepsání původního datového řádku, aby se získal konečný kontext spouštěcích dat.
Pokud jsou předána související data, dojde rovněž k jejich přepsání. Buďte obzvláště opatrní při zpracování příchozích dat, pokud je nakonfigurováno přednačítání položek souvisejících dat, abyste předešli neočekávanému přepsání souvisejících dat.
Dále je URL parametr triggerWorkflows klíčem pracovního postupu; více klíčů pracovních postupů je odděleno čárkami. Tento klíč lze získat najetím myši na název pracovního postupu v horní části plátna pracovního postupu:

Po úspěšném volání se spustí událost vlastní akce pro odpovídající kolekci samples.
Jelikož externí volání také vyžadují ověření identity uživatele, při volání prostřednictvím HTTP API je nutné poskytnout ověřovací informace, stejně jako u požadavků odesílaných z běžného rozhraní. To zahrnuje hlavičku požadavku Authorization nebo parametr token (token získaný po přihlášení) a hlavičku požadavku X-Role (aktuální název role uživatele).
Pokud potřebujete v této akci spustit událost pro související data typu „jedna k jedné“ (typ „jedna k mnoha“ aktuálně není podporován), můžete v parametru použít ! k určení spouštěcích dat souvisejícího pole:
Po úspěšném volání se spustí událost vlastní akce pro odpovídající kolekci categories.
Při spouštění události po akci prostřednictvím volání HTTP API je také nutné věnovat pozornost stavu povolení pracovního postupu a tomu, zda konfigurace kolekce odpovídá; v opačném případě volání nemusí být úspěšné nebo může dojít k chybě.