Tento dokument byl přeložen pomocí AI. Pro přesné informace se podívejte na anglickou verzi.
NocoBase obsahuje vestavěné běžné datové operace (přidávání, mazání, úpravy, prohlížení atd.). Pokud tyto operace nemohou uspokojit složité obchodní potřeby, můžete v pracovním postupu použít událost vlastní akce a navázat tuto událost 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+
Rozdílné typy kontextu určují, 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.
V závislosti na typu kontextu nakonfigurovaném v pracovním postupu se konfigurace akčních tlačítek v různých blocích liší.
v1.6.0+
V panelu akcí a dalších datových blocích lze přidat tlačítko „Spustit pracovní postup“:



Po přidání tlačítka navážete dříve vytvořený pracovní postup bez kontextu, jako příklad použijeme tlačítko v panelu akcí:


V libovolném datovém bloku lze do sloupce akcí pro jeden záznam přidat tlačítko „Spustit pracovní postup“, například ve formulářích, řádcích tabulky, 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:

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

Při výběru „Bez kontextu“ se jedná o globální událost a lze navázat pouze pracovní postupy typu bez kontextu.
Při výběru „Více záznamů“ lze navázat pracovní postup typu více záznamů, který lze použít pro hromadné operace po výběru více dat (aktuálně podporováno pouze tabulkami). Rozsah dostupných pracovních postupů je v tomto případě omezen na ty, které jsou nakonfigurovány pro kolekci odpovídající aktuálnímu datovému 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í:

Například máme kolekci „Vzorky“. Pro vzorky ve stavu „Odebráno“ potřebujeme poskytnout akci „Odeslat k inspekci“. Odeslání k inspekci nejprve zkontroluje základní informace o vzorku, poté vygeneruje záznam v kolekci „Záznamy o inspekci“ a následně změní stav vzorku na „Odesláno“. Tento proces nelze provést jednoduchým kliknutím na tlačítka „přidat, smazat, upravit, zobrazit“, proto lze k jeho realizaci použít událost vlastní akce.
Nejprve vytvořte kolekci „Vzorky“ a kolekci „Záznamy o inspekci“ a do tabulky vzorků zadejte základní testovací data:

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

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

Uspořádejte logiku v procesu podle obchodních požadavků, například odeslání k inspekci je povoleno pouze tehdy, když je parametr indikátoru větší než 90, jinak se zobrazí upozornění na problém:

Uzel „Zpráva odpovědi“ lze použít v synchronních událostech vlastní akce k vrácení informací klientovi. V asynchronním režimu jej nelze použít.
Po konfiguraci a povolení procesu 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 konfigurační okno:

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

Po odeslání změňte text tlačítka na název akce, například „Odeslat k inspekci“, a konfigurace procesu je hotová.
Při použití vyberte v tabulce libovolný záznam vzorku a klikněte na tlačítko „Odeslat k inspekci“, čímž spustíte událost vlastní akce. Podle dříve nastavené logiky, pokud je parametr indikátoru vzorku menší než 90, zobrazí se po kliknutí následující upozornění:

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

Tímto je jednoduchá událost vlastní akce hotová. Podobně lze pro složité operace, jako je zpracování objednávek nebo odesílání zpráv, využít události vlastní akce.
Spuštění události vlastní akce není omezeno pouze na operace v uživatelském rozhraní, lze ji spustit také prostřednictvím HTTP API. Konkrétně událost vlastní akce poskytuje pro všechny operace s kolekcemi nový typ operace pro spuštění pracovního postupu: trigger, který lze volat pomocí standardního API pro operace NocoBase.
Protože externí volání musí být také založena na identitě uživatele, musí volání přes HTTP API obsahovat stejné autentizační informace jako požadavky z běžného rozhraní, včetně hlavičky Authorization nebo parametru token (token získaný po přihlášení) a hlavičky X-Role (název aktuální role uživatele).
Pracovní postupy bez kontextu vyžadují spuštění operace nad prostředkem workflows:
Pracovní postup spouštěný tlačítkem, jako v příkladu, lze volat takto:
Protože je tato operace zaměřena na jeden záznam, je při volání pro existující data nutné specifikovat ID řádku a nahradit část <:id> v URL.
Pokud se volá pro formulář (např. přidání nebo aktualizace), u formuláře pro přidání dat nemusíte předávat ID, ale musíte předat odesílaná data jako kontext pro provedení:
U formuláře pro aktualizaci je nutné předat ID řádku i aktualizovaná data:
Pokud jsou předána ID i data, nejprve se načte datový řádek odpovídající ID a poté se vlastnosti z předaného datového objektu použijí k přepsání původního řádku, čímž se získá výsledný kontext spouštěcích dat.
Pokud jsou předána související data, budou také přepsána. Zejména při konfiguraci přednačítání souvisejících dat je třeba s předávanými daty zacházet opatrně, aby nedošlo k neočekávanému přepsání souvisejících dat.
Parametr URL triggerWorkflows je klíčem pracovního postupu, více pracovních postupů se odděluje čárkou. 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.
Při spouštění události po operaci prostřednictvím HTTP API je také třeba věnovat pozornost stavu povolení pracovního postupu a tomu, zda konfigurace kolekce odpovídá, jinak volání nemusí být úspěšné nebo může dojít k chybě.
Podobně jako u volání pro jeden záznam, ale předávaná data vyžadují pouze parametry primárních klíčů (filterByTk[]) a není třeba předávat část data:
Toto volání spustí událost vlastní akce v režimu více záznamů a jako data v kontextu spouštěče použije záznamy s ID 1 a 2.