Použití formulářových akcí je dáno základní volbou typu akce, tedy volbou „Spouštět z:“. Může se stát, že tato volba bude v určité fázi tvorby akce již zamčená. To znamená, že v tu chvíli není možné zvolit, zda je akce formulářová, tabulková nebo API. Důvodem je nastavení formátu vstupu či výstupu. Právě na formátu záleží, jaký typ akce je použitý:
- Formulářová akce má na vstupu draft daného typu dokumentu.
- Tabulková akce může mít na vstupu PDK list, pokud je aktivovaný.
- Služba / API akce může mít vstupní formát velmi různorodý.
Jakmile je akce jednou definována se vstupem či výstupem, uzamyká se volba režimu. Jedna akce může fungovat pouze v jednom ze tří režimů – formulář, přehled, nebo služba.
Spouštěcí body formulářových akcí
U formulářových akcí jsou velmi důležité tzv. spouštěcí body. Ty mohou být různého druhu a záleží na jejich umístění:- Menu – vloží název/štítek akce do menu, jehož kotva se ve formuláři zobrazí.
- Odeslat – tlačítko „Uložit“ nebo „Uložit a zavřít“ je nahrazeno tlačítkem „Odeslat“ se šipkou.
- Zavřít – při kliknutí na křížek pro zavření formuláře se spustí akce, která může zavření i zablokovat.
- Jako šablonu – určeno pouze pro intranetní Comex.
- Nový formulář – akce se spustí při vytvoření nového dokumentu. Pokud jde o podtabulku s nastaveným propojením klíče, provede se předvyplnění ještě před spuštěním akce.
- Otevřít – obdobné jako „Nový formulář“, ale při editaci již existujícího dokumentu.
- Vytisknout – opět pouze pro intranet, zde nerozebíráme.
- Uložit – při použití tlačítka „Uložit“ nebo „Uložit a zavřít“ se nejprve spustí akce. Před tím proběhnou validace (povinné kolonky a CBA kontroly).
- Po uložení – akce spuštěná po dokončení uložení. V praxi se používá málo.
- Přidání volby – na konec formuláře se vloží nové tlačítko s akcí. Tato varianta neprovádí validaci, pouze odešle draft do akce.
Vztah k XDS definici
Tyto spouštěcí body se používají pouze tehdy, pokud není v XDS definován uzel <action>.- Pokud uzel <action> v XDS existuje, jeho definice přetěžuje nastavení spouštěcích bodů v intranetu.
- Pokud v XDS žádný uzel <action> není, provede se při editaci dotaz na dynamické spouštěcí body a formulář je respektuje.
- Přidávat tlačítka s volitelným nebo dočasným zobrazením.
- Použít vlastnost trigger (definuje se v rámci substruktury <action>).
- Ovlivnit validaci pomocí vlastnosti validation – pokud je nastaveno na true, formulář před spuštěním akce provede povinnosti kolonek a CBA kontroly.
- Volba main zajistí nahrazení hlavního tlačítka dokumentu pro uložení tlačítkem takto označené akce. Volbu může mít i více akcí, ale měla by být zajištěna viditelnost jen jednoho hlavního.
Vlastnost trigger
Slouží k nastavení spouštěče akce a určuje její dostupnost ve formuláři.- button – Tlačítko u segmentu (v kmeni dokumentu, u oblasti či prvku).
- menu – Položka menu u segmentu (v kmeni dokumentu, u oblasti či prvku).
- on-before-close – Spustí se před zahozením draftu bez uložení (při zavření formuláře).
- on-before-save – Uložení dokumentu (po validaci) – spouští se těsně před uložením.
- on-change – Změna v kolonce; platí jen při umístění substruktury u konkrétní kolonky.
- on-open – Otevření existujícího dokumentu k editaci.
- on-new – Otevření nového (dosud neuloženého) formuláře.
- on-save – Uložení dokumentu (po validaci) – spouští se po uložení.
- on-select – Spuštění při výběru zdroje; platí jen při umístění na kolonku s výběrem.
- repetition-button – Tlačítko v nástrojích opakovatelné oblasti/prvku (u každého výskytu).
- repetition-tool – Ikona (bez štítku) v nástrojích opakovatelné oblasti/prvku (u každého výskytu).
- repetition-menu – Položka menu v nástrojích opakovatelné oblasti/prvku (u každého výskytu).
- tool – Ikona (nástroj) v kmeni dokumentu (globální lišta formuláře).
Komunikace formuláře s akcí
Důležitým aspektem formulářových akcí je způsob komunikace mezi formulářem, resp. modulem COMEX, a samotnou akcí. Na vstupu má formulářová akce vždy tzv. draft – tedy XML podobu rozpracovaného dokumentu daného typu. Tento draft je vstupním datem pro další zpracování a je tím, co akce přímo využívá.