Záložka Formuláře - obecně

Tato subzáložka slouží:

Pokud se jedná o agendu, která slouží pouze pro prohlížení dokladů, ale v níž nelze dané doklady editovat, pak subzáložka slouží samozřejmě pouze pro prohlížení zadaných údajů.

Pro zobrazení a použití definovatelných formulářů definovaných pro řádky či další Business objekty dané agendy slouží Panel definovatelných formulářů.

Je k dispozici jako subzáložka pod záložkou Detail (resp. adekvátní záložkou zobrazující detailní informace aktuálního záznamu) ve všech agendách, které práci s definovatelnými položkami a definovatelnými formuláři podporují, ale pouze tehdy, pokud je v menu Nastavení dané agendy aktuálně zatržena volba pro zobrazení definovatelných formulářů.

V některých agendách není k dispozici přímo záložka Formuláře, nicméně pokud daná agenda práci s definovatelnými položkami a formuláři podporuje, je k dispozici jiná adekvátní subzáložka s obdobným významem pod záložkou Detail (resp. adekvátní záložkou zobrazující detailní informace aktuálního záznamu). Typicky se jedná o subzáložku Ostatní resp. Mzdové údaje, která se vyskytuje např. v agendách Zaměstnanci či Mzdové listy. Pro subzáložku Ostatní resp. Mzdové údaje platí stejná pravidla použití a ovládání jako pro záložku Formuláře s jednou výjimkou - zobrazuje se vždy a její zobrazování v dané agendě nelze potlačit nastavením v menu Nastavení, jelikož by to v uvedených agendách nebylo smysluplné.

V horní části subzáložky je k dispozici položka:

Název Popis
Definovatelný formulář

Jedná se o číselníkovou položku pro výběr jednoho z nadefinovaných formulářů:

Příklad subzáložky Formuláře s položkou pro výběr formuláře

Příklad adekvátní subzáložky Ostatní údaje v agendě zaměstnanců

Zadáte název požadovaného formuláře nebo jej vyberete z číselníku definovatelných formulářů.

Ve vyvolaném výběrovém číselníku definovatelných formulářů se nabízejí definovatelné formuláře, které jsou určeny jen pro tu třídu Business objektů, k němuž si údaje zobrazujeme, resp. editujeme. Např. v subzáložce Formuláře v agendě faktur vydaných se nabízejí definovatelné formuláře nadefinované k třídě "Faktura vydaná", v panelu definovatelných formulářů řádků faktur vydaných se nabízejí jen definovatelné formuláře nadefinované k třídě "Faktura vydaná - řádek" apod.

Nabídnutý číselník def. formulářů lze prostřednictvím omezovací lišty v horní části záložky Seznam omezovat podle různých kritérií, tj. podle toho, zda def. formulář je či není globální a dále podle toho, jak je pro něj nastaveno nabízení k výběru aktuálnímu uživateli (v seznamu def. formulářů lze funkcí Nabízet nastavovat, které se mají danému uživateli nabízet k výběru a které se mu mají skrýt).

Nastavené nabízení zde neomezuje použití, jenom usnadňuje výběr. Tj. i formulář, který má aktuálně nastaveno "nenabízet" danému uživateli, lze vybrat a použít zadáním jeho názvu (resp. aktuálně zvolené výběrové položky) přímo z klávesnice.

Výběr vhodného def. formuláře lze i automatizovat na základě splnění zadaných podmínek (dále viz definice podmínek definovatelných formulářů). Objasníme na příkladech:

Příklad 1: V agendě Aktivit chceme používat různé definovatelné formuláře v závislosti na aktuálním stavu aktivity. Máme i def. formulář, který není závislý na stavu aktivity. Aby si uživatel nemusel vždy při změně stavu aktivity měnit def. formulář ručně, může si zadefinovat definici podmínek pro výběr def. formuláře. V této definici si zadá dvě podmínky: Pokud bude stav na aktuální aktivitě "V procesu", výstupem z definice bude def. formulář určený pro aktivity "V procesu". Pokud bude stav aktivity "Dokončeno", výstupem definice bude formulář určený pro aktivity ve stavu "Dokončeno". Poslední podmínka bude vždy "pravda" a výstupem bude def. formulář "Obecný". Takto nastavenou definici uloží globálně (tj. zpřístupní i ostatním uživatelům) a nastaví ji jako výchozí. Poté se vždy po otevření agendy aktivit tato výchozí definice načte a vyhodnotí. Výsledkem bude, že aktivita bude mít automaticky nastavený "svůj" definovatelný formulář v závislosti na "svém" stavu, přičemž pokud žádná podmínka nevyhoví, bude nastaven def. formulář "Obecný".

Příklad 2: V agendě Aktivit nechť je požadováno, aby např. pro obchodníka (nechť má roli sales manager) se defaultně zobrazil pro něj potřebný formulář a pro konzultanta (nechť má roli konzultant) nad stejnými daty jiný formulář. Toto lze řešit dvěma způsoby: Nadefinují se dvě definice a každý uživatel si nastaví jako výchozí jednu z nich nebo definice pro výběr def. formuláře je jedna, ale se složitější podmínkou, která zajistí výběr formuláře podle role uživatele.

Pokud např. dodávané def. formuláře nevyužíváte, jelikož máte podle nich nadefinované své vlastní a nechcete, aby se vám "pletly" v seznamu def. formulářů, můžete si je nastavit jako "Nenabízet". Poté se budou nabízet jen vaše def. formuláře a originální nikoliv apod. Toto nastavení může být společné pro všechny uživatele pracující v ABRA Gen nebo si je může každý uživatel provést individuálně podle svých potřeb.

Defaultní omezení číselníku po jeho vyvolání - urychlení a automatizace výběru def. formuláře:

Pro urychlení výběru def. formuláře platí následující:

  • Číselník def. formulářů je po svém vyvolání apriori omezen za def. formuláře, u nichž je nastaveno, že se mají danému uživateli nabízet. (A samozřejmě jsou buď globální nebo jsou lokální, ale jím definované).
  • Pamatuje se naposledy použitý formulář daným uživatelem v dané agendě.
  • Kromě toho může být formulář označen jako Preferovaný (typicky výrobcem).
  • K dispozici je i možnost zavést si definice podmínek def. formulářů, na základě jejichž vyhodnocení se pak def. formuláře inteligentně automaticky vybírají. Příklad viz výše. Platí:
    • Uživatel si může (ale nemusí) nadefinovat jednu nebo více definic podmínek pro automatizaci výběru definovatelného formuláře.
    • Jednu z definic si uživatel může označit jako výchozí (pak se bude používat automaticky po otevření agendy) nebo si může některou vybrat ručně (pro dočasné použití). Definice ale nemusí používat vůbec.
    • Každá definice pro automatický výběr formuláře má jméno, pod kterým se ukládá a vybírá. Na pořadí definic nezáleží.
    • Každá definice může obsahovat odkaz na jeden či více def. formulářů a pro každý podmínku pro jeho výběr. Priorita je dána jejich pořadím (dále viz vyhodnocení podmínek v popisu položky Definice podmínky).
    • Definice podmínek jsou uloženy v samostatné datové struktuře v repositoři a zálohují se.
    • Vyhodnocení podmínek a tudíž i automatický výběr vhodného def. formuláře podle zvolené definice se provádí:
      • vždy, pokud se uživatel přepne na záložku Formuláře (resp. jinou záložku adekvátní záložce Formuláře),
      • vždy po listování v seznamu (podle hodnot aktuálního záznamu), je-li zapnuto zobrazení záložky Formuláře,
      • během editace aktuálního záznamu (tj. např. pokud podmínky zvolené definice závisí na aktuální hodnotě editované položky).
  • K tvorbě definic podmínek pro automatický výběr def. formulářů a k výběru definice, která se má použít, slouží Editor definic podmínek def. formulářů, který lze vyvolat tlačítkem umístěným vedle číselníkové položky pro výběr def. formuláře (viz dále popis následující položky).

    Postup platný pro výběr def. formuláře:

    • Při prvním vstupu uživatele do dané agendy se předvyplňuje def. formulář s nastavením Preferovaný. Pokud v dané agendě není žádný preferovaný formulář nebo pokud preferovaný formulář není aktuálně k výběru k dispozici (tj. má aktuálně nastaveno "nenabízet k výběru" nebo je aktuálně nadefinován jen jako lokální pro jiného uživatele či byl smazán), vybere se první v pořadí, který je k výběru k dispozici, a ten se předvyplní.
    • Při dalším vstupu se předvyplňuje def. formulář podle toho, zda v dané agendě pro daného uživatele existuje nějaká definice podmínek def. formulářů a zda je nějaká použita nebo podle zapamatovaného naposledy použitého def. formuláře daným uživatelem:
  • Pokud existuje výchozí definice, pak se def. formulář předvyplní podle ní.
  • Pokud žádná definice není výchozí nebo pokud výsledkem výchozí definice není žádný def. formulář (není splněna žádná podmínka, jejíž vyhodnocení by vedlo na některý z existujících def. formulářů), předvyplní se def. formulář zapamatovaný jako naposledy použitý. Pokud v dané agendě zatím není zapamatovaný naposledy použitý nebo tento není aktuálně k výběru k dispozici (význam viz výše), předvyplní se první v pořadí, který je aktuálně k výběru k dispozici.

Uživatel si však může vybrat jiný ručně nebo si může otevřít editor definic podmínek def. formulářů a zde si nadefinovat nové definice pro automatický výběr formulářů nebo si ručně vybrat některou z existujících definic (nadefinovaných jako globální jinými uživateli), na základě které se vybere def. formulář (takto ručně vybraná definice se bude používat jen dokud bude agenda otevřena (pokud si ji uživatel nenastaví jako výchozí)).

Vybraný definovatelný formulář (ať už ručně nebo automaticky podle zapamatovaného posledního použitého nebo podle vyhodnocení definic podmínek) se pak zobrazí v ploše subzáložky Formuláře (resp. adekvátní záložky v dané agendě). Tedy pomocí této položky si můžete postupně k danému záznamu zobrazovat jednotlivé definovatelné formuláře a zadávat jejich položky:

Příklad zobrazení vybraného definovatelného formuláře v ploše záložky pro výběr a použití def. formulářů

Platí, že pokud je mezi definovatelnými položkami nadefinovanými k danému Business objektu nějaká, jejíž vyplnění je povinné, pak se její vyplnění při uložení záznamu požaduje bez ohledu na to, jaký formulář si uživatel v subzáložce Formuláře aktuálně zobrazuje. V tomto případě nelze po zobrazení informativního hlášení o nutnosti vyplnění dané položky automaticky přepnout fokus na danou položku (jelikož může být na různých z formulářů apod.), tedy uživatel si musí odpovídající formulář zobrazit a požadovanou hodnotu zadat.

Možnosti zobrazení názvu položky v definovatelném formuláři

Jak bylo zmíněno v popisu Identifikace popisovaných položek, pokud se chcete ujistit, o jakou položku se v daném formuláři jedná (nejste si z jejího pojmenování v daném formuláři jisti), pak si můžete její název zobrazit:

Příklad zobrazení názvu položky definovatelného formuláře v tooltipu

+ název vybrané definice

Tlačítko pro vyvolání Editoru definic podmínek def. formulářů. Pomocí něj lze definice přidávat, upravovat, mazat, nastavovat jako výchozí a ručně vybírat z existujících definic.

Je-li nějaká definice aktuálně vybrána, zobrazuje se její název vedle tlačítka se šipkou:

Příklad zobrazení informace o vybrané definici s názvem Podle uživatele