Definovatelný formulář a definovatelné panely na definovatelné agendě
Definovatelná agenda (viz Jak vytvořit definovatelnou agendu) je z pohledu uživatelského rozhraní běžnou agendou ABRA Flores, a proto může využívat stejnou obecnou infrastrukturu vlastních formulářů jako kterákoli systémová agenda: variantní vstupní formulář i definovatelný formulář poskládaný z definovatelných panelů. Tento návod popisuje, jak definovatelný formulář založit a použít nad definovatelným business objektem - jak nad hlavičkou, tak nad řádkovou kolekcí, u číselníkové i dokladové definovatelné agendy. Obecný postup přidání položky na oba typy formuláře popisuje kapitola Použití uživatelsky definovatelné položky na variantním a definovatelném formuláři.
Definovatelné panely a definovatelný formulář - stručně
Definovatelný formulář je alternativou k variantnímu vstupnímu formuláři. Umožňuje poskládat vlastní rozvržení formuláře z tzv. definovatelných panelů - stavebních prvků jako Svislý panel, Vodorovný panel, Celý panel nebo Pořadač se Záložkami - a do nich libovolně umístit pole, včetně uživatelsky definovaných položek. Na rozdíl od variantního formuláře, který upravuje rozložení existujícího detailu, definovatelný formulář vzniká jako samostatná definice v číselníku agendy Definovatelné formuláře a zobrazuje se na vlastní záložce Formuláře (ta bývá ve výchozím stavu skrytá). Kompletní popis všech dostupných prvků a jejich vlastností najdete v referenční kapitole Popis prvků a jejich údajů agendy Definovatelné formuláře.
Vytvoření definovatelného formuláře
Postup je stejný bez ohledu na to, jde-li o číselníkovou nebo dokladovou definovatelnou agendu, a stejně tak bez ohledu na to, zda formulář zakládáte nad hlavičkou, nebo nad řádkovou kolekcí (v tom případě jej otevřete nad konkrétním řádkem v mřížce):
- Otevřete definovatelnou agendu vytvořenou podle návodu Jak vytvořit definovatelnou agendu a založte nebo otevřete záznam, na kterém chcete formulář použít.
- Pokud záložku Formuláře na detailu ještě nevidíte, zobrazte ji přes Menu → Ostatní nastavení → Zobrazit definovatelný formulář.
- Na záložce Formuláře klikněte na šipku pro vyvolání číselníku definovatelných formulářů a založte funkcí Nový novou definici. V poli cílové třídy vyberte váš definovatelný business objekt - nabízí se stejně jako kterákoli systémová třída.
- V editoru definice formuláře přidejte vhodný panel (Svislý panel, Vodorovný panel nebo Celý panel), případně Pořadač se Záložkami, chcete-li formulář rozdělit do více karet, a do něj umístěte pole - zděděná systémová pole (např. Kód, Název) i vlastní uživatelsky definovanou položku vytvořenou podle kapitoly Doplnění vlastních položek.
- Definici uložte - podle svých práv buď jako globální variantu (platnou pro všechny uživatele agendy), nebo jako svou vlastní.
Od této chvíle se vámi vytvořený formulář na záložce Formuláře nabízí a chová stejně jako u kterékoli jiné agendy - včetně chování po zavření a opětovném otevření agendy.
Pokud definovatelnou agendu teprve zakládáte, počítejte s tím, že po založení řádkového objektu i business objektu obecně bývá potřeba restartovat aplikační server (viz Jak vytvořit definovatelnou agendu) - definovatelný formulář samotný je ale obecná, dříve existující funkce, takže po jeho vlastním založení či úpravě restart typicky potřeba není.
Poznámky
- Pole cílové třídy v editoru definovatelných formulářů filtruje nabízené třídy podle Popisku, nikoli podle technického Názvu třídy - stejně jako obdobné pole Třída def. BO na definici agendy (viz Vytvoření definovatelné agendy). Pokud tedy zadaný text nenajde očekávanou třídu, otevřete rozbalovací seznam a vyberte ji ručně.
- Chování definovatelného formuláře je stejné pro číselníkovou i dokladovou definovatelnou agendu, i pro hlavičku i pro řádkovou kolekci - není potřeba řešit jej pro každý případ zvlášť.
Tento návod je součástí skupiny návodů k definovatelným objektům. Další návody z této skupiny:
- Definovatelné objekty - úvod
- Jak vytvořit definovatelnou agendu
- Jak připojit definovatelnou kolekci k existující agendě
- Tisková sestava nad definovatelnou agendou
- Definovatelný formulář a definovatelné panely na definovatelné agendě
- Přenos definovatelného řešení mezi spojeními pomocí instalační sady
- Příklad z praxe - definovatelná agenda Reklamace
- Přílohy definovatelného business objektu přes API a skriptování
- Definovatelný business objekt kompletně přes REST API