Lekce 8 - Objekty systému ObjectGears - Vlastnosti objektu Sloupce
V minulé lekci, Objekty systému ObjectGears - Sloupce, jsme si popsali co jsou to sloupce pro třídu a jak je vytvořit.
V dnešním ObjectGears tutoriálu si ukážeme další vlastnosti objektu Sloupce. Bude to např. dědičnost, globální hledání v datech, opačné sloupce a rozdíly v zobrazení.
Opačné sloupce
Každá třída vlastní několik svých sloupců. Pokud je ale na třídu odkazováno z jiné třídy, pak je v odkazované třídě vytvořen opačný sloupec.
Tento opačný sloupec lze smazat jedině smazáním původního sloupce z referencované třídy. Opačnému sloupci můžeme měnit jen některé vlastnosti, jako je Kód, Název a Zobrazení ve filtru. Hlavním důvodem existence opačného sloupce je umožnit tuto vazbu zobrazit na formuláři i z druhé strany.
Mějme třídu Téma
a Kategorie
. Každá kategorie
může být přiřazena pouze do jednoho tématu. Proto do třídy
Kategorie
přidáme nový sloupec Odkaz na číselník
a jako referencovanou třídu vybereme třídu Téma
. Tím se nám
vytvoří sloupec do třídy Kategorie
a zároveň
opačný sloupec do třídy Téma
.
Tento opačný sloupec pak lze zobrazit na formuláři u tématu a takto je vidět, kde všude je použit:
Opačný sloupec v seznamu sloupců vidíme takto:
Zobrazení sloupců na formuláři
Systém ObjectGears umožnuje na detailním formuláři rozvrhnout sloupce podle potřeb. K tomu slouží návrhář, na kterém jsou v levé části tři záložky.
Na záložce Sloupce je seznam dostupných sloupců. Na záložkách Prvky a Rozvržení je seznam organizačních prvků pro rozvrhnutí formuláře:
Význam jednotlivých prvků je následující:
- Záložka – přidá na formulář prvek záložky.
- Karta záložky – do prvku záložky vloží novou záložku.
- Skupina – pomocí skupiny je možné graficky spojit několik sloupců, které významově patří k sobě.
- Oddělovač – zobrazí barevný pruh s textem pro oddělení větších skupin sloupců.
- Text – umožňuje přímo na formulář vložit konstantní text.
Záložka Rozvržení
Prvky na záložce Rozvržení slouží pro cílové umístění sloupců. Ty lze umístit do 1 až 12 sloupcového schématu. Větší počet sloupců použijeme pro kratší sloupce (např. zaškrtávátka).
Všechna rozvržení kromě 2. sloupce (dyn)
zachovávají
rozvržení i při menší šířce obrazovky. Rozvržení
2. sloupce (dyn)
se dynamicky mění při
zmenšování šířky tak, že se dva sloupce zobrazené vedle sebe zobrazí
pod sebou. Zároveň se název sloupce přesouvá nad vlastní pole a pole je
přes celou šířku obrazovky. Toto rozvržení je vhodné pro mobilní
zobrazení.
Ukázka velkého rozlišení:
Ukázka malého rozlišení:
Druhy zobrazení sloupců
Pro zobrazení sloupce na detailním formuláři máme k dispozici tři základní zobrazení. Mezi zobrazeními se přepínáme pomocí ikony v návrháři obrazovky:
Na obrázku výše, od shora dolů, vidíme tyto tři druhy zobrazení sloupců:
- V prvním případě je zobrazen název sloupce a za ním pole pro hodnotu sloupce. Toto zobrazení je vhodné pro datum, kratší texty, čísla, malé obrázky. Podle velikosti obrazovky je možné na řádku umístit více takovýchto sloupců.
- Druhý případ je podobný prvnímu, jen je sloupec zobrazen přes celý aktuální řádek. Vhodné pro delší jednořádkový text.
- Poslední typ je určen pro dlouhé texty. Např. skripty, popisy, atd. Název sloupce je umístěn nad pole a vlastní pole pak zaujímá celou šířku na formuláři.
Následující obrázek zobrazuje, jak jednotlivé typy vypadají:
Globální hledání
V systému ObjectGears můžeme prohledávat všechny třídy a sloupce, které jsou k tomu povoleny. Povolení se řídí na úrovni každého sloupce ve třídě a to vlastností Povolit pro globální hledání. Ve výchozím stavu je vlastnost pro sloupec zakázána. Jednoduše tak omezíme, kde můžou uživatelé hledat a co má být naopak před hledáním skryto.
Pro vlastní hledání musí mít uživatel právo na danou třídu.
Sekvence
Pro textové, číselné a guid sloupce lze nastavit vlastnost Povolit sekvence. Při vytvoření nového záznamu je pak v těchto sloupcích přednastavena nová hodnota z číselné sekvence. Nově vygenerovaná hodnota bude vždy o 1 větší.
Je však třeba upozornit, že po vytvoření nového záznamu a jeho neuložení, se daná hodnota ztratí. Nelze se tak spoléhat, že řada bude souvislá. Sekvence je zde chápána jako jedinečný identifikátor.
To lze velmi pěkně použít ve třídách, kde evidujeme nové úkoly, požadavky, faktury, atd. Automaticky jim bude přidělena nová hodnota. Pro textové sloupce je možné ve vlastnosti Formát sekvence nastavit i masku:
INC{#:00000000}
Kde #
představuje nově vygenerované číslo a
00000000
číslo zarovnané zleva nulami na 8 míst.
Příklad vygenerované hodnoty:
INC000896041
Vazby sloupce
V detailu již existujícího sloupce najdeme na toolbaru tlačítko Vazby objektu. Po kliknutí se zobrazí stránka, která ukáže použití daného sloupce. Význam to má jen u sloupce typu Číselníková hodnota.
Obrázek ukazuje sloupec Projekt
, který je použit ve třídě
Úkol
:
Tato funkce je šikovná v okamžiku, kdy potřebujeme sloupec smazat nebo chceme upravovat datové schéma a hledáme, jak se sloupec používá.
Použití sloupců ve skriptech
Pro zjištění použití sloupců ve skriptech použijeme z menu funkci Správa => Modely => Skripty => Funkce v modelu. Po zadání kódu sloupce jsou prohledány všechny skripty a dotazy a je zobrazen přehled skriptů se zvýrazněním hledaného textu.
Na obrázku níže vidíme výsledek hledání textu .code
:
Tato funkcionalita se používá pro kontrolu před změnou kódu objektu nebo jeho smazáním.
Dědičnost sloupců
Některé třídy existují zcela osamoceně, např. číselníky. Naproti tomu u složitějších datových schémat, jako je třeba model CMDB, existuje jedna základní třída a z ní dědí v několika úrovních další třídy.
Sloupců se dědičnost jako taková nijak netýká, ale při zobrazení seznamu sloupců je vpravo nahoře zobrazen combo box pro výběr předků/potomků třídy. Tím lze rychle přecházet mezi sloupci v hierarchii tříd a vyhledat tak požadovaný sloupec.
Na obrázku níže vidíme možnost přejít na jednoho předka Konfigurační položky, nebo tři potomky:
V další lekci, Aplikační katalog a Konfigurační databáze CMDB v ObjectGears, se podíváme na Aplikační katalog jako vizitku IT, ukázku využití dat z Konfigurační databáze CMDB a cool zobrazení pro uživatele mimo IT.