1. Časové operace

    Article: AN0002031Updated: 24.03.2019

    Systém ObjectGears umožňuje snadno definovat různé operace, které mají proběhnout v závislosti na datech ve třídě/dotazu, konkrétně hodnotě ve sloupci typu Datum a čas. Může jít o nejrůznější emailové notifikace, spuštění workflow či akce provedené pomocí skriptu.

    Každá časová operace je definována na určité třídě/dotazu, která obsahuje sloupec typu Datum a čas. Každá třída/dotaz může mít více časových operací. V každé časové operaci může být definováno až pět operací (0-4) lišících se vztahem k datu ve sloupci řídícím provedení časové operace pro daný záznam (Sloupec záznamu s datem ve vlastnosti časové operace). Toto umožňuje např. v první operaci odeslat upozornění v dostatečném předstihu před datem definovaném ve sloupci. Pokud uživatel nereaguje může dle dalších operacích následovat eskalační email, spuštění workflow nebo akce dané skriptem.

    Vyhodnocování spuštění časové operace

    Časové operace nejsou pro všechny záznamy ve třídách vyhodnocovány automaticky pravidelně jako je tomu u jobů, workflow nebo vyčítání emailů z mailboxů, ale dle nastavení v jednotlivých časových operacích. V časové operaci lze určit den vyhodnocení uvedením dnů v měsíci nebo dnů v týdnu, kdy má být operace spuštěna. Pokud je zadáno více hodnot, k vyhodnocení dochází v každý den splňující alespoň jedno zadání. Dále se určuje hodina spuštění vyhodnocení (lze zadat více hodnot) a minuta spuštění.

    Systém ObjectGears kontroluje každých 15 minut, zda jednotlivé časové operace splňují podmínku pro své spuštění. Pokud je tomu tak, dojde ke spuštění daných časových operací.

    Máte tak možnost provádět kontrolu každý den v týdnu, nebo jen např. v pondělí ráno či každých 14 dní.

    Spuštění časové operace

     V rámci spuštění časové operace dochází k porovnávání hodnot ve sloupci řídícím časovou operaci (Sloupec záznamu s datem) u jednotlivých záznamů ve třídě s:

    1. nastavením časové operace ve vlastnostech Aktivní od data a Aktivní do data - toto umožňuje např. vynechat z operací záznamy se starým datem. Toto je vhodné nastavit, pokud chcete časovou operaci použít pouze pro nové záznamy (např. až od následujícího měsíce).

    Tyto dvě vlastnosti se porovnávají pouze s hodnotou ve sloupci s datem bez ohledu na posun u jednotlivých operací. Pokud tak máte nastavenu některou operaci např. na zaslání upozornění 30 dní po datu, pak systém toto upozornění odešle, i když je již aktuální datum za hodnotou Aktivní do data. Máte-li nastavenu platnost v rozsahu 1.4. - 10.4. a záznam s datem 7.4. a nakonfigurovanou operaci na +30 dní, pak se daná operace spustí 7.5., i když je platnost jen do 10.4..

    2. nastavením časové operace ve vlastnostech Typ spuštění a Spustit pokaždé - min. po dnech - toto např. umožňuje, aby každá operace (0-4) z dané časové operace byla pro daný záznam provedena maximálně jednou. Pokud však dojde u určitého záznamu ke změně hodnoty ve sloupci Sloupec záznamu s datem, budou operace spuštěny znovu. Alternativou je nechat operace spouštět pro jednotlivé záznamy opakovaně. V tomto případě lze využít nastavení minimálního počtu dnů, po kterém může být daná operace opět spuštěna.

    Při nastavení Spustit jen jednou pro každý identifikátor bude pro každý záznam spuštěna jen jednou každá z operací (0-4), pokud jsou nakonfigurovány. Při nastavení Spustit pokaždé se operace spustí při každém spuštění kontroly časových operací a vyhovujícímu datu.

    První variantu použijte při požadavku jednorázového upozornění či zpracování. Druhou pro pravidelné upozornění uživatelů, např. na chybu v datech, kterou je třeba opravit. Uživatel tak bude periodicky upozorňován do okamžiku než chybu opraví.

    3. nastavením časové operace ve vlastnostech Posun ve dnech oproti datu u jednotlivých operací (0-4) - toto umožňuje, aby jednotlivé operace byly provedeny s určitým odstupem ve vztahu k datu v záznamu ve Sloupci záznamu s datem. V případě záporného čísla dojde k provedení dané operace daný počet dnů před datem ve Sloupci záznamu s datem, v případě kladného čísla pak daný počet dnů po tomto datu. Pokud je zadána 0, provede se daná operace v den dle hodnoty ve Sloupci záznamu s datem.

    Provedení operací (0-4)

    V rámci spuštění časové operace může dojít k vyhodnocení, že má být určitá operace (0-4) provedena. V té chvíli dochází k odeslání emailů, spuštění workflow, spuštění skriptu nebo kombinaci těchto akcí. Pro jeden záznam může být v rámci jednoho spuštění časové operace provedeno více operací (0-4), pokud vyhovují podmínce pro spuštění.

    Je třeba si uvědomit, že předpokladem k provedení operace je, aby vůbec došlo k vyhodnocení, že má být daná časová operace spuštěna. Proto jsou jednotlivé operace fakticky vykonávány při nejbližším spuštění časové operace po okamžiku, kdy by dle data ve Sloupci záznamu s datem a nastavení časové operace mohlo ke spuštění operace dojít.

    Identifikátor

    Pro zajištění pouze jednoho zpracování záznamu při nastavení Spustit jen jednou pro každý identifikátor je třeba pro třídu/dotaz určit identifikátor. To je sloupec, který jednoznačně identifikuje záznam po celou dobu jeho "životnosti". U třídy je možné vybrat pouze sloupec Id. U dotazu sloupec musíte určit. Pokud po dobu "životnosti" časové operace (i v rozmezí několika měsíců či let, kdy budete časovou operaci používat) dojde ke změně identifikátoru pro záznam, bude daný záznam časovou operací opětovně zpracován.

    Skript

    V každé operaci můžete spustit skript. Pro ten máte k dispozici několik dostupných objektů:

    Název Popis
    ActualTimeOperation OGActualAto Definice časové operace.
    int OGActualAtoOperation Číslo operace (0-4), pro kterou se kontrola spouští.
    DataRow OGActualDataRow Aktuální záznam, který se zpracovává.
×