Definovatelné číselníky - obecně
Pro zvýšení přizpůsobitelnosti systému uživateli je možno si uživatelsky definovat vlastní číselníky. Dále je budeme nazývat definovatelné číselníky nebo uživatelské číselníky.
Označení "uživatelské číselníky" není úplně přesné, nicméně pro naše účely postačí. Jedná se totiž o číselníky, které nejsou dodávány jako pevné v rámci každé instalace systému, nicméně které také mohou být nadefinovány výrobcem, pokud si toto uživatel u výrobce objedná.
Všechny uživatelsky definovatelné číselníky obsahují jen základní položky (Kód, Název). Zbytek položek je realizován pomocí uživatelsky definovatelných položek. Data všech uživatelsky definovatelných číselníků jsou uložena ve společné tabulce plus uživatelsky definovatelných položkách.
K definici uživatelsky definovatelných číselníků slouží nástroj DefRollEditor.exe - Editor definovatelných číselníků.
Definice číselníku neznamená pouze vytvoření agendy, kterou pak uživatel "vidí" mezi jinými agendami, ale i definici jiných objektů. Tj. definuje se tzv. nevizuální číselník, k němu odpovídající číselníková agenda (kterou uživatel vidí mezi ostatními agendami), k němu odpovídající Business objekt, dynamické SQL a programový bod (pro dotazy do databáze, aby bylo možno tisknout atd.). Definice je ale velmi jednoduchá, uživatel v zásadě zadává pouze názvy a umístění číselníku do seznamu složek v okně pro spuštění agend, zbytek již nástroj zajistí automaticky sám při uložení do repozitoře funkcí Export.
Definice tedy probíhá mimo systém ABRA Gen, protože informace o uživatelsky definovatelných číselnících, souvisejících objektech a číselníkových agendách musí být nezávislé na databázovém spojení (connection).
Součástí definice tedy jsou kromě CLSID, názvu a uživatelského názvu číselníku i CLSID, název a uživatelský název pro příslušející business objekt, číselníkovou agendu, definici DynSQL a programový bod. Dále je možné definovat, zda se jedná o systémový číselník. Výsledné definice je možné jednak ukládat a načítat z textových souborů (stejně jako je to v DynSQLEditoru) a také exportovat a importovat z repozitoře.
Obdobně jako existují systémové a nesystémové záznamy v jiných agendách (např. definice uživatelských položek a formulářů), i definice číselníků mohou být systémové nebo nesystémové. Nesystémové jsou ty, které si nadefinuje uživatel příp. si jejich nadefinování objedná u servisního střediska dodavatele. Případné systémové definuje dodavatel a pokud nějaké existují, jsou dodávány prostřednictvím inicializačních dat.
Údaje o nadefinovaných číselnících jsou uloženy v centrální repozitoři. Tato část repozitoře je součástí zálohy, ale jen pro nesystémové definice. Viz Co obsahuje záloha *.ABF. Tj. případné systémové definice definovatelných číselníků se nezálohují!
Systém s definovatelnými číselníky (tj. s nevizuálními číselníky, business objekty a číselníkovými agendami) pracuje obdobně jako s pevnými. Díky tomu je možné s uživatelsky definovatelnými nevizuálními číselníky, odpovídajícími objekty a číselníkovými agendami pracovat "téměř" jako s pevně definovanými číselníky, objekty a číselníkovými agendami. (Jsou tedy dostupné v otevřeném rozhraní i definovatelných formulářích.)
- Nevizuální číselníky vzniklé definicí uživatelských číselníků je možné používat v uživatelsky definovatelných položkách jiných objektů a v otevřeném rozhraní.
- Business objekty, které vzniknou díky definici uživatelských číselníků, jsou registrované v repozitoři stejně jako business objekty, které jsou naprogramované výrobcem. Je k nim možné nastavit sledování změn, je k nim možné definovat uživatelsky definovatelné položky a je možno je používat v otevřeném rozhraní.
- Číselníkové agendy vzniklé definicí uživatelských číselníků je možné používat v okně pro spuštění agend a je možno je používat v otevřeném rozhraní.