5.6. Formulářové akce a další souvislosti

Upravit obsah stránky

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í:
  • V kmeni dokumentu – akce se váže na dokument jako celek (např. při uložení nebo při volbě „Odeslat“).
  • V konkrétních místech formuláře – akce je vyvolána specifickou událostí.
  • Možnosti spouštěcích bodů:
    1. Menu – vloží název/štítek akce do menu, jehož kotva se ve formuláři zobrazí.
    2. Odeslat – tlačítko „Uložit“ nebo „Uložit a zavřít“ je nahrazeno tlačítkem „Odeslat“ se šipkou.
    3. Zavřít – při kliknutí na křížek pro zavření formuláře se spustí akce, která může zavření i zablokovat.
    4. Jako šablonu – určeno pouze pro intranetní Comex.
    5. 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.
    6. Otevřít – obdobné jako „Nový formulář“, ale při editaci již existujícího dokumentu.
    7. Vytisknout – opět pouze pro intranet, zde nerozebíráme.
    8. 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).
    9. Po uložení – akce spuštěná po dokončení uložení. V praxi se používá málo.
    10. 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.
    Výhodou XDS definice je možnost:
    • 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).
    Vlastnost trigger lze uvádět zejména u uzlu action (spustitelná akce v CBA definici).

    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á.

    Atribut run-point

    V rámci formulářových akcí je možné používat tzv. run-point. Tento atribut je formulářem na klientské straně umístěn do uzlu, u kterého byla akce spuštěna.  Atribut ru-point má zvláštní význam v případech, kdy je tlačítko zobrazeno u opakování segmentu. V takové situaci je potřeba, aby akce věděla, které konkrétní opakování dokumentového draftu má být zpracováno, případně které je předmětem spuštěné akce.