Article: AN0001566Updated:
Tento formulář poskytuje funkcionalitu pro rychlé vytvoření databázového view na pohodlné vytváření dotazů do třídy nebo dotazu. Název view a jeho sloupců jsou odvozeny od kódu modelu, třídy (dotazu) a sloupce, což je přehlednější než interní názvy systému ObjectGears.
Zároveň Vás tyto view odstíňují od nepřenositelných názvů databázových tabulek a sloupců odpovídajících třídám a sloupcům systému ObjectGears. Ty jsou totiž závislé na konkrétní instanci systému ObjectGears. Názvy tříd v sobě obsahují ID třídy a to se může měnit. Název databázového sloupce se sekvenčně odvozuje od pořadového čísla daného typu sloupce ve třídě. Zatímco kódy tříd a sloupců systému ObjectGears jsou plně ve vaší kompetenci a mohou být stejné přes více instancí systému ObjectGears (vývoj, test, provoz...).
Proto, pokud budete vytvářet funkcionalitu v databázi nad tabulkami systému, používejte tyto view.
Popis formuláře
Na toolbaru formuláře je výběrový ovládací prvek, kde vyberete požadovaný model. Následně se zobrazí všechny definovatelná databázová view pro daný model (od tříd a dotazů v modelu).
V prvním sloupci seznamu je název třídy nebo dotazu. Ve druhém je název view, jak se (bude) jmenovat v databázi. Ve sloupci Status je pro již vytvořené view informace o tom, zda je aktuální či nikoli.
V posledních třech sloupcích jsou ikony pro ovládání vytvoření, aktualizace a smazání view. Operaci spustíte dvojitým kliknutím na příslušné ikoně.
Změnou kódu modelu, třídy nebo dotazu nedojde k přegenerování databázového view. To je třeba provést ručně. Tím jste chráněni před nežádoucí automatickou změnou view, protože by se narušila tím Vaše přidaná funkcionalita.
Také při vytvoření nového nebo smazáním existujícího sloupce se view nemění. Zatímco při přidání nového sloupce nevzniká žádný problém, při jeho smazání dojde při čtení z view k chybě. V tomto případě je nutné po smazání sloupce ihned aktualizovat příslušné view a vaši přidanou funkcionalitu.
Názvy view
Název databázového view je vytvářen v následujícím formátu a nelze měnit:
Pro třídy: API_vc_MODEL_TRIDA
Pro dotazy: API_vq_MODEL_DOTAZ
Kde MODEL je kód modelu, TRIDA je kód třídy a DOTAZ je kód dotazu.