Článek: AN0002155Aktualizováno:: 09.11.2018
Skriptovací možnosti systému ObjectGears jsou široké. Rozšiřují možnosti základního nastavení o další pokročilejší funkce. Pomocí skriptů můžete provádět složitější kontroly před uložením záznamů nebo manipulovat s daty, spouštět importy, exporty, workflow nebo joby.
Ve všech skriptech lze používat základní funkce (objekt OG) a dle typu použití skriptu další objekty specifické pro určité použití (popsáno dále).
Jak psát skripty
Pro skriptování v systému ObjectGears je použit jazyk JavaScript, který je rozšířený o vlastní objekty a datové typy. Skriptování je tak jednoduché a vystačíte se základní znalostí programování. Pro základní seznámení jsme připravili stránku s přehledem jednotlivých programovacích konstrukcí.
Objekty skriptu vs. datové typy
Všiměte si, že některé objekty skriptů se jmenují stejně jako datové typy OG. Toto pojmenování je zvoleno z důvodu transparentnosti. Objekty skriptů obsahují funkce pro práci s daným datovým typem, zatímco datový typ obsahuje vlastní data třídy, exportu, importu...
Např. pro načtení záznamu ze třídy slouží tento zápis:
var dr = OG.DataRow.GetDataById( 10, 100);
Příkaz používá metodu GetDataById z objektu skriptu OG.DataRow a metoda vrací datový typ DataRow.
Speciální objekty
Existují i další skriptové objekty systému ObjectGears, ty jsou však pro speciální určení, např pro některé aktivity workflow. Jsou popsány na jiném místě této nápovědy. Zde uvádíme jejich seznam:
Opakované použití skriptů
V případech, kdy potřebujeme určitý skript použít vícekrát, využijeme bloky skriptů, jejichž funkce lze následně volat z různých míst ObjectGears (tlačítka, pravidla, workflow...). Podívejte se na příklad.
Testování skriptů
Pro otestování skriptů nebo pro spuštění skriptu za účelem změny dat můžete použít Skriptovací okno.
Konverze hodnot do Integer
Použitý JavaScriptový interpreter interně používá pro čísla datový typ double. To je třeba zohlednit při použití .NET objektů systému ObjectGears, které mají datový typ int? (nullable int). JavaScriptový interpreter neprovede konverzi z double na nullable int. Proto v těchto případech použijte konverzní funkci ToInt.
Příklad:
V objektu DataRowFilter je vlastnost Filter_MaximumRows typu int?. Pokud do ní přiřadíte číselnou hodnotu, pak dojde k chybě. Při použití funkce ToInt přiřazení již proběhne v pořádku.
var f = OG.DataRow.GetDataRowFilter(1);
//přiřazení bude provedeno
f.Filter_MaximumRows = ToInt(14);
//dojde k chybě
f.Filter_MaximumRows = 17;