==== Činnost 9. 6. 2 - Uživatelské objekty ==== Slouží pro přizpůsobení systému potřebám konkrétní uživatelské firmy. Umožňuje definovat speciální pohledy na data nebo speciální akce s daty, které nejsou obsaženy v základním řešení.\\ V tomto číselníku jsou všechny tyto objekty definovány a uloženy, případný UPDATE systému se jich nedotkne.\\ \\ Nastavení uživatelských objektů může zásadním způsobem ovlivnit chování informačního systému, proto jejich nastavení provádí pouze pracovník s certifikátem implementace.\\ \\ === Vstupní formulář pro uživatelské objekty === Zadává se:\\ Typ objektu: procedura, pohled, trigger, funkce \\ Zda ihned po uložení provést (pouze pro uživatelské procedury): ne, ano, ano - mimo transakci \\ Popis, Komentář: uživatelský popis a vysvětlení\\ Název: název objektu tak, jak na něj bude odkazováno např. ve vstupních formulářích \\ Definice objektu: SQL kód, kterým je objekt vytvořen v databázi\\ Pořadí zpracování: umožňuje při překladu uživatelských objektů upřednostnit pořadí překladu vybraného objektu. Pokud není zadáno, doplní se automaticky při uložení záznamu takto : \\ - 1000 - automaticky spustitelné procedury\\ - 2000 - funkce \\ - 3000 - triggry \\ - 4000 - pohledy \\ - 5000 - ostatní procedury\\ Pro většinu uživatelských objektů je dostačující toto standardní pořadí překladu, v případě komplikovanějších závislostí je možno pořadí určit ručně tak, aby při hromadném překladu všech uživatelských objektů nedocházelo k syntaktickým chybám.\\ \\ Tlačítko **"Tvorba uživatelského objektu"** slouží pro podporu při psaní nového uživatelského objektu. Po vložení nového uživatelského objektu a výběru jeho typu se stiskem tlačítka zobrazí průvodce založením objektu. \\ \\ Uživatelské objekty - procedury, které nelze spustit současně s uložením objektu v rámci transakce (např. založení "Linked serveru") je možno vykonat tlačítkem **"Proveď proceduru mimo transakci"**. Při tomto spuštění nelze zadat případné vstupní parametry. Pokud tedy definice procedury obsahuje vstupní parametry, musí mít ve své definici defaultní hodnotu.\\ \\ Hromadný překlad všech uživatelských objektů se provádí například vždy při instalaci nové verze (na konci verzového SQL scriptu), nebo je možné jej spustit procedurou spUzivObj_Refresh. Překlad uživatelských objektů se provádí v pořadí definovaném v položce Pořadí zpracování (standardně tedy : automaticky spustitelné procedury, funkce, triggry, pohledy, ostatní procedury) a v rámci shodného pořadí se pak provádí dle idUzivObj. \\ \\ \\ === Odkaz "Kontrola" na formuláři pro uživatelské objekty === Podle zadaných parametrů kontroly porovná uživatelskou databázi s referenční databází eso9start. Pokud najde neevidované objekty, které nejsou součástí základního skriptu a nejsou ani evidovány v uživatelských objektech, zobrazí je v sestavě.\\ === Odkaz "Export" na formuláři pro uživatelské objekty === Slouží k exportu všech nebo pouze označených uživatelských objektů do textového souboru. To umožňuje zaslat objekt dodavatelské firmě informačního systému pro kontrolu stavu aplikace.\\ \\ Vstupní formulář se skládá ze dvou částí. Horní slouží pro export, ve spodní je zobrazen seznam všech uživatelských objektů. Export probíhá ve dvou krocích: \\ 1. vytvoření exportu: tlačítkem **"Export"** podle nastavení parametrů "Typ objektu" a "Název začíná" nebo tlačítkem **"Export označených"** pro označené objekty ve spodní části formuláře\\ 2. zápis do souboru: do souboru zadaného jména a umístění\\ === Odkaz "Hledání objektu v předlohách" na formuláři pro uživatelské objekty === Sestava, která zobrazí všechny soubory v adresářích uživatelského webu i webu eso9start, v nichž se jméno objektu vyskytuje.\\ === Odkaz "Datový model" na formuláři pro uživatelské objekty === Ve vstupním formuláři zobrazuje seznam všech tabulek datového modelu a pro každou seznam jejích sloupců. Slouží jako pomocník pro vyhledávání názvů a hodnot sloupců tabulek při vytváření uživatelských objektů.\\