Ukládání rozvrhových akcí, výpis chyb

Na seznam témat a kapitol (obsah)Nadřízená kapitola

Rozvrhové akce jsou ukládány do databáze při každé jejich změně. V programu tedy neustále pracujete online přímo nad databází IS/STAG a všechny změny, které zde uděláte, se do databáze ihned projeví. Výjimkou jsou samozřejmě situace, kdy se rozvrhovou akci z nějakého důvodu do databáze uložit nezdaří (například z důvodu časoprostorové kolize nebo nějaké kontroly aplikace, která je nastavena tak, že její dodržení aplikace vynucuje) — při jakékoliv chybě při ukládání se chybová hláška jasně červeně zobrazí na spodní řádce okna aplikace (a příslušná akce se přesune do vrstvy chybných akcí, informace o stavech akcí k dispozici zde):

Výpis chyby v dolním řádku aplikace

Obrázek 725. Výpis chyby v dolním řádku aplikace. 

Obecně také platí, že pokud se chyba v dolním řádku nezobrazí, uložení proběhlo v pořádku.

Můžete se také ptát, co se stane, když mám otevřen rozvrh a někdo jiný, změní nějakou z akcí rozvrhu a přesune ji třeba na místo, které mám já v editoru rozvrhu označené jako volné. Aplikace tedy v danou chvíli neví, že někdo jiný změnil něco z rozvrhu v databázi. Jediné, co se stane bude to, že aplikace nebude v daném místě ukazovat kolizi (protože o ní ještě neví) a nechá vás tam rozvrhovou akci například přesunout. V okamžiku, kdy však akci přesunete, se ihned ukládá do databáze (jak bylo zmíněno — veškeré změny se ihned do databáze ukládají) — a databáze vrátí chybu. Čili aplikace vás nenechá způsobit nějakou nekonzistenci dat, pouze občas nemusí zobrazovat zcela aktuální data.

Rozvrhy jsou aktuální vždy při načtení nového rozvrhu či při stisknutí klávesy F5 (viz kontextové menu rozvrhu). Z implementačních důvodů, které nebudu dále rozepisovat, se teoreticky může stát, že se rozvrhové akce obnoví až za 20 vteřin po změně v databázi, ale prakticky nikdy by to neměl být problém. V každém případě nekonzistenci dat v databázi nikdy nezpůsobíte.