Definovateľné číselníky - všeobecne
Za účelom zvýšenia prispôsobiteľnosti systému používateľovi je možné používateľsky si definovať vlastné číselníky. Ďalej ich budeme nazývať definovateľné číselníky alebo používateľské číselníky.
Označenie "používateľské číselníky" nie je úplne presné, no pre naše účely postačí. Ide totiž o číselníky, ktoré nie sú dodávané ako pevné v rámci každej inštalácie systému, no ktoré môžu byť nadefinované aj výrobcom, pokiaľ si to používateľ u výrobcu objedná.
Všetky používateľsky definovateľné číselníky obsahujú len základné položky (Kód, Názov). Zvyšok položiek sa realizuje pomocou používateľsky definovateľných položiek. Dáta všetkých používateľsky definovateľných číselníkov sú uložené v spoločnej tabuľke plus používateľsky definovateľných položkách.
Na definíciu používateľsky definovateľných číselníkov slúži nástroj DefRollEditor.exe - Editor definovateľných číselníkov.
Definícia číselníka neznamená len vytvorenie agendy, ktorú potom používateľ "vidí" medzi inými agendami, ale aj definíciu iných objektov. Tzn. definuje sa tzv. nevizuálny číselník, k nemu zodpovedajúca číselníková agenda (ktorú používateľ vidí medzi ostatnými agendami), k nemu zodpovedajúci Business objekt, dynamické SQL a programový bod (na dopyty do databázy, aby bolo možné tlačiť atď.). Definícia je ale veľmi jednoduchá, používateľ v zásade zadáva len názvy a umiestnenia číselníka do zoznamu zložiek v okne na spúšťanie agend, zvyšok už nástroj zaistí automaticky sám pri uložení do repository funkciou Export.
Definícia teda prebieha mimo systému ABRA Gen, pretože informácie o používateľsky definovateľných číselníkoch, súvisiacich objektoch a číselníkových agendách musia byť nezávislé od databázového spojenia (connection).
Súčasťou definície sú teda okrem CLSID, názvu a používateľského názvu číselníka aj CLSID, názov a používateľský názov pre prislúchajúci business objekt, číselníkovú agendu, definíciu DynSQL a programový bod. Ďalej je možné definovať, či ide o systémový číselník. Výsledné definície je možné jednak ukladať a načítať z textových súborov (rovnako ako v DynSQLEditore) ako aj exportovať a importovať z repository.
Podobne ako existujú systémové a nesystémové záznamy v iných agendách (napr. definície používateľských položiek a formulárov), aj definície číselníkov môžu byť systémové alebo nesystémové. Nesystémové sú tie, ktoré si nadefinuje používateľ príp. si ich nadefinovanie objedná u servisného strediska dodávateľa. Prípadné systémové definuje dodávateľ a pokiaľ nejaké existujú, sú dodávané prostredníctvom inicializačných dát.
Údaje o nadefinovaných číselníkoch sú uložené v centrálnom repository. Táto časť repository je súčasťou zálohy, ale len pre nesystémové definície. Viď Čo obsahuje záloha *.ABF. Tzn. prípadné systémové definície definovateľných číselníkov sa nezálohujú.
Systém s definovateľnými číselníkmi (tzn. s nevizuálnymi číselníkmi, business objektmi a číselníkovými agendami) pracuje podobne ako s pevnými. Vďaka tomu je možné s používateľsky definovateľnými nevizuálnymi číselníkmi, zodpovedajúcimi objektmi a číselníkovými agendami pracovať "takmer" ako s pevne definovanými číselníkmi, objektmi a číselníkovými agendami. (Sú teda dostupné v otvorenom rozhraní aj definovateľných formulároch.)
- Nevizuálne číselníky vzniknuté definíciou používateľských číselníkov je možné používať v používateľsky definovateľných položkách iných objektov a v otvorenom rozhraní.
- Business objekty, ktoré vzniknú vďaka definícii používateľských číselníkov, sú registrované v repository rovnako ako business objekty, ktoré sú naprogramované výrobcom. Je k nim možné nastaviť sledovanie zmien, je k nim možné definovať používateľsky definovateľné položky a je ich možné používať v otvorenom rozhraní.
- Číselníkové agendy vzniknuté definíciou používateľských číselníkov je možné používať v okne na spúšťanie agend a je ich možné používať v otvorenom rozhraní.