==== Multidatabázové prostředí ==== {{ :images:multiDB:MultiDB_Sync.png?400 | aa}} Jedna aplikace ESO9 pracuje standardně s jednou aplikační databází. V některých případech může být užitečné mít možnost z jedné aplikace pořizovat data do jiné databáze/-í (např. pro firmy ve skupině či holdingu lze pořizovat došlé doklady centrálně v jedné aplikaci bez nutnosti přihlašovat se do více aplikací). V jedné stránce lze tak mít každou formu napojenou na jinou databázi. Napojení formy na jinou pracovní databázi se provádí parametrem:\\ \\ Napojení formy na jinou pracovní databázi znamená zejména: * čtení dat do formy * zápis nových dat ve formě * editace stávajících dat ve formě * volání všech obchodních pravidel nad formou * volání všech číselníků nad formou * volání uživatelských akcí nad formou * tisk sestav z formy Při stisku libovolného odkazu z takto modifikovaného formuláře se i do následujícího formuláře či sestavy přenáší stejný parametr, není-li v cílovém formuláři tímto parametrem řečeno jinak.\\ Uživatel se v jiné pracovní databázi ověřuje podle svého kódu z aplikační databáze. Pokud je tedy v aplikaci přihlášen (kterýmkoli ze tří způsobů podporovaných v ESO9) např. pod uživatelem s kódem //klient//, bude se v jiné pracovní databázi hledat uživatel se stejným kódem. Pokud nebude nalezen, dojde při prvním otevření takové formy k chybě //Uživatel nebyl v databázi nazev_databaze nalezen//. Pokud bude nalezen, použije se jeho ID a kompletní sada UP parametrů pro práci ve formě.\\ Další možností je parametr //ESO9DB// dále parametrizovat v syntaxi:\\ \\ Hodnota takového parametru se pak hledá v datovém zdroji zdrojové formy. Lze si tak dynamicky přepínat pracovní databázi u vybraných forem. Zdrojová forma pak může vypadat např. takto:\\
Výběr databáze
\\ Pokud není hodnota takového parametru nalezena v datovém zdroji zdrojové formy, hledá se v jejích parametrech. \\ Pokud stránka obsahuje další formy, není třeba v nich parametr ESO9DB explicitně uvádět, automaticky se přebírá ze zdrojové formy. Je tím zajištěna referenční integrita, tj. všechny datové parametry z více forem se musí vztahovat k datům ve stejné databázi.\\ Pokud je změna hodnoty položky //MF_DBNAME// navázána na pohledový FChange, který má na rozhraní položku //@REQUERYSTATE//, provede se po jeho zavolání obnova dat ve všech závislých formách a tím dojde k načtení datového zdroje závislé formy z jiné pracovní databáze.