Groovy makra v Openu
1. Makra - Syntaxe a použití
A. Syntaxe makra
- Groovy je objektově orientovaný programovací jazyk pro platformu Java.
- Jde o alternativu k programovacímu jazyku Java.
- Lze na něj pohlížet jako na skriptovací jazyk pro javovskou platformu.
- Využívá výhody objektového programování, ale zároveň poskytuje zjednodušenou „skriptovací“ syntaxi, která umí „zabalit a rozbalit“ často opakované části kódu.
Syntaxe makra má většinou toto členění.
- Třída je „program“ nebo „popis dat“ napsaný autory IS Open.
Třídy jsou opakovatelně použitelné pro práci, která zjednodušuje tvorbu maker.
- Na prvním místě jsou importy.
Všechny třídy, které použiji v makru musím naimportovat. Import obsahuje ce „cestu“ ke třídě, kde je uložena. Poté již mohu takové třídy použít bez této „cesty“.
- Dále pak následují vlastní metody. Zjednodušeně „bloky“ kódu, které vykonávají požadovanou činnost. Dříve se často používalo označení „funkce“ nebo „procedura“.
- mají parametry – vstupní hodnoty objektů, entit - vrací nějakou hodnotu – pomocí return
Parametry se liší podle místa, kde je makro voláno.
Většina metod vrací nějakou návratovou hodnotu - jedna proměnná, nebo celá třída
Typ návratové hodnoty nelze beztrestně změnit - většinou dojde k znefunkčnění makra.
- Přístup na atributy entity
- funkce začínající get – přečtení hodnoty atributu - funkce začínající set – nastavení atributu na hodnotu
- Možnosti volání jiných Groovy maker
Z makra mohu zavolat jiné makro, tímto mám stejný kód na jedno místě, nebo řeším případ, kdy z makra na klientu volám makro na serveru.
Vzorové případy použití maker jsou distribuované s instalací IS Open a mají kód makra začínající „vzor“.
B. Kde jsou Groovy makra použita
- Aktualizace dat - Wrapper – detail a browse
- Tlačítko v ikonové liště wrapperu
- Workflow – podmínky, plnění schvalovatelů, obsluha schvalovaného dokladu
- Šablony mailů – programové naplnění proměnných
- Tisk – před a po tisku
Aktualizace dat - Wrapper
- Seznam (browse)
- naplnění hodnoty sloupce browsu
- nastavení barev – getForegroundColor a getBackgroundColor
Makra jsou spouštěna na klientu.
- Tlačítko v ikonové liště wrapperu
- Detail
- editUvod – naplnění hodnot před editací
- validate – kontrola po opuštění pole
- kontrolaVeta – kontrola před uložením
- noEditDetail – doplnění zobrazovaných/dotahovaných hodnot
- povolení aktualizace
- canEdit - aktualizace
- canInsert - zakládání nové
- canCopy - kopie
- canDelete - smazání
Makra jsou spouštěna na klientu.
Makra jsou uložena přímo v pohledu, ve kterém pracují.
Workflow
- Podmínka spuštění postupu
- Podmínka předání na další krok – větvení oběhu
- Plnění Třídících a Dalších hodnot v postupu
- nastavení v Typech postupů
- Kontrola splnění kroku
- nastavení na kroku postupu
- Vyhodnocení zařazení následujícího kroku
- nastavení na vzoru postupu
Makra použitá ve výrazu jsou uvozena znakem „#“
Makra jsou spouštěna na serveru.
Makra jsou uložena v Groovy makrech
Šablony mailů
- Plní hodnoty pro předmět a tělo mailu
- V návrhu začíná jejich použití znakem „#“ který odpovídá metodě „get“
Makra jsou spouštěna na serveru.
Makra jsou uložena v šabloně mailu
Jasper tisky
- možnost naplnit atributy entity počáteční hodnotou
- kontrola pole po jeho vyplnění
- nastavení programové varianty
- možnost změny jména tiskové šablony
Makro má stejné jméno jako spouštěná sestava jrxml
Makro je uloženo v Groovy makrech