Definovateľné číselníky - všeobecne
Za účelom zvýšenia prispôsobiteľnosti systému užívateľovi je možné užívateľsky si definovať vlastné číselníky. Ďalej ich budeme nazývať definovateľné číselníky alebo užívateľské číselníky.
Označenie "uží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 užívateľ u výrobcu objedná.
Všetky užívateľsky definovateľné číselníky obsahujú len základné položky (Kód, Názov). Zvyšok položiek sa realizuje pomocou užívateľsky definovateľných položiek. Dáta všetkých užívateľsky definovateľných číselníkov sú uložené v spoločnej tabuľke plus užívateľsky definovateľných položkách.
Na definíciu uží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 uží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ú uží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á, uží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 uží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 užívateľského názvu číselníka aj CLSID, názov a uží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 uží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 uží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 uží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 užívateľských číselníkov je možné používať v užívateľsky definovateľných položkách iných objektov a v otvorenom rozhraní.
- Business objekty, ktoré vzniknú vďaka definícii uží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ť užívateľsky definovateľné položky a je ich možné používať v otvorenom rozhraní.
- Číselníkové agendy vzniknuté definíciou uží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í.