Článek: AN0001642Aktualizováno::
Na třídě a dotazech je možné definovat pravidla. Pravidla umožňují formátovat zobrazení dat, provést kontroly před zobrazením nebo uložením dat, odeslat upozornění atd.
Každé pravidlo má Typ události, který říká, kdy se má něco stát a Typ akce, který říká, co se má stát.
Pravidel můžete definovat kolik chcete a jsou vyhodnocovány v pořadí dle rostoucí hodnoty ve vlastnosti Pořadí. Hodnota Pořadí nemusí být jedinečná. V takovém případě však pravidla se stejným pořadím budou vyhodnocovány v náhodném pořadí.
Pomocí vlastnosti Povoleno můžete pravidlo dočasně zakázat.
Do vlastnosti Funkční popis vkládejte popis pravidla. Vložením popisu do tohoto pole místo do vlastního skriptu se zmenší velikost skriptu a zvýší rychlost zpracování.
Typ události
Následující tabulka zobrazuje seznam všech typů událostí, na které můžete v modelu reagovat.
Název |
Před zobrazením nového záznamu v detailu |
Před zobrazením existujícího záznamu v seznamu |
Před uložením nového záznamu |
Po uložení nového záznamu |
Před uložením existujícího záznamu |
Po uložení existujícího záznamu |
Před smazanim záznamu |
Před uložením nové šablony |
Před uložením existující šablony |
Typ akce
Název |
Popis |
Odeslat upozornění |
Odeslat upozornění v závislosti na datech v konkrétním záznamu. V podmínce a výpočtu kódu můžete používat funkce. |
Spustit workflow |
Pro nový nebo aktualizovaný záznam lze spustit workflow. |
Nastavit formátování |
Pro jednotlivé sloupce můžete nastavit barvy textu a pozadí, pro písmo bold a kurzívu. Dále můžete celý řádek podbarvit zadanou barvou. V podmínce můžete používat funkce. |
Nastavit nebo vypočítat hodnotu |
Pro každý sloupec lze zadat vzorec pro výpočet hodnoty. V podmínce a výpočtu můžete používat funkce. |
Podmínka |
Používá se před uložení nebo smazáním záznamu, kdy se vyhodnocuje zadaná podmínka. Při jejím nesplnění se záznam neuloží/nesmaže a je vypsáno chybové hlášení.
Pomocí tohoto pravidla lehce přidáte do třídy kontroly dat vyplněných uživatelem.
V podmínce a výpočtu můžete používat funkce.
|
Spustit skript |
V tomto pravidle můžete přidat libovolné rozšíření pomocí skriptů. Lze tak spustit proceduru, import, export, workflow atd. |
Ve skriptu podmínky můžete použít následující objekty:
Pravidlo Spustit skript
V pravidle je možné měnit všechny sloupce záznamu třídy, kromě systémových sloupců (ty nastavuje systém sám). Skript je brán jako bezpečná součást systému a neplatí pro něj omezení na aktualizaci sloupců.
Ve skriptu je možné řešit i initializaci dat při založení nového záznamu.
Ve skriptu můžete použít následující objekty:
Pomocí objektu OGActualMessage můžete ze skriptu vypsat hlášení, které se zobrazí uživateli po ukončení pravidla. Pro hlášení můžete použít metody SetError, SetInfo a SetSuccess. Použití metody SetSuccess v pravidle Po uložení nového/existujícího záznamu potlačíte zobrazení standartní hlášení o uložení záznamu.
Pokud má pravidlo nastavený Typ události na Před uložením nového/existujícího záznamu, pak je k dispozici nastavení Nejprve zkontrolovat povinné sloupce.
Tímto nastavením můžete vytvořit pravidlo, které běží před nebo po kontrole vyplnění povinných sloupců. V případě pravidel před kontrolou, můžete skriptem doplnit nezadané povinné sloupce. A v pravidle po kontrole vyplnění se můžete bez nebezpečí odkazovat na hodnoty povinných sloupců.
Před zobrazením nového záznamu v detailu
V pravidle lze zadat pro jednotlivé sloupce výchozí hodnotu.
U sloupce typu Odkaz do číselníku můžete výchozí hodnotu definovat jako ID odkazovaného záznamu (toto však není doporučováno kvůli přenostitelnosti na jiné instance) nebo jako textový kód uzavřený v apostrofech. Tento kód musí být v odkazované třídě v textovém sloupci s kódem code. V hodnotě kódu se rozlišují velká a malá písmena. Pokud ID nebo kód v odkazované třídě neexistuje, je nastavení ignorováno.
U násobných odkazů hodnoty oddělte čárkou. V případě použití více hodnot u jednoduchého odkaz se použije jen první hodnota a ostatní se ignorují.
Příklad: 'assigned' 'assigned,new,closed'
U sloupce typu Odkaz do číselníku (na různé třídy) můžete výchozí hodnotu definovat jako textový kód s kódem třídy uzavřeným v apostrofech. Tento kód musí být v odkazované třídě v textovém sloupci s kódem code. V hodnotě kódu se rozlišují velká a malá písmena. Pro jednoduchý odkaz se použije jen první hodnota a ostatní se ignorují. Pokud ID nebo kód v odkazované třídě neexistuje, je nastavení ignorováno.
Pro násobné odkazy hodnoty oddělte čárkou.
Formát: 'kod_tridy:kod_zaznamu'
Příklad: 'status:assigned' 'status:assigned,type:all'
Pořadí inicializace záznamu při zobrazení nového záznamu na DataDetail.aspx
Zobrazení nového záznamu a jeho inicializaci můžete ovlivnit z několika míst. Následující přehled zobrazuje pořadí volání:
- výchozí hodnoty definované u sloupců
- hodnoty ze šablony - pokud je použita
- sekvence od sloupců
- pravidla Nastavení hodnoty a Skript - zpracovávají se dle pořadí definovaného na pravidle
- skript od třídy
- inicializace přes URL
Nedoporučuje se používat všechny možnosti pro inicializaci najednou - řešení by bylo nepřehledné. Pro různé scénáře se hodí různé varianty. Proto je vhodné jejich použití promyslet.
Pravidla pro šablony
Pravidla pro šablony jsou určena k úpravě ukládaného záznamu do šablony. V okamžiku aplikování pravidla můžete z předaného DataRow (OGActualDataRow) vymazat sloupce, které nechcete v šabloně mít. K tomu použijte funkce z DataRow ClearColumn, RemoveColumn, RemoveColumnsExceptThose.