1. Aktivita Podmínka

    Článek: AN0001925Aktualizováno:: 03.10.2018

    V Aktivitě Podmínka rozhodujeme, zda je určitý výraz pravdivý, a podle toho workflow dále pokračuje větví označenou jako Ano/Pravda nebo Ne/Nepravda.

    Podmínku může tvořit jednoduchý výraz jako je tomu v prvním příkladě nebo podmínka může obsahovat víceřádkový skript zjišťující např. hodnoty z různých tříd. Ve druhém případě skript musí obsahovat příkaz return, za nímž následuje výraz, který je možné vyhodnotit jako Pravda/Nepravda.

    Níže uvedené příklady jsou reálńě použity v řešeních Přístupová práva a Znalostní báze, které jsou k dispozici v balíčku ObjectGears s modely.

    Porovnání s vlastností workflow

    Následující skript zjistí, zda ve vlastnosti workflow 'application-gestor-approval' obsahuje hodnotu Ano/True.
    Místo použití skriptu: Aktivita workflow Podmínka

    OGWFActualRun.Property.GetBoolean( 'application-gestor-approval') == true;

    Zjištění, zda existuje schvalovatel

    Následující skript zjistí, zda je v záznamu, s nímž bylo workflow spuštěno, definován schvalovatel. Vrací Ano, pokud 'approver' existuje, a Ne, pokud neexistuje.
    Místo použití skriptu: Aktivita workflow Podmínka

    \\Přiřazení sloupce do proměnné.
    var colApprover = OG.Column.GetByCode( OGWFActualRun.InputDataRow, 'approver');

    \\Vrací True, pokud hodnota ve sloupci není null a False, pokud je null.
    return OGWFActualRun.InputDataRow.GetPerson( colApprover .Id) != null;

    Zjištění, zda jde o požadavek na smazání

    Následující skript zjistí, zda požadavek (záznam, s nímž bylo workflow spuštěno) je označen ve sloupci 'request for deletion'. Vrací Ano, pokud je to takový požadavek, a Ne, pokud není.
    Místo použití skriptu: Aktivita workflow Podmínka

    \\Přiřazení sloupce do proměnné.
    var colDel = OG.Column.GetByCode( OGWFActualRun.InputDataRow, 'request_for_deletion');

    \\Vrací True, pokud hodnota ve sloupci je true a False, pokud ve sloupci není true.
    return OGWFActualRun.InputDataRow.GetBoolean( colDel.Id) == true;

    Zjištění, zda byl předchozí úkol schválen

    Následující skript zjistí, zda byl úkol s kódem 'Article update' schválen. Vrací Ano, pokud byl schválen, a Ne, pokud nebyl. Po schválení je ve sloupci approval hodnota 1.
    Místo použití skriptu: Aktivita workflow Podmínka

    \\ Zjištění daného úkolu a sloupce
    var task = OGWFActualRun.Tasks.GetTasksByActivityCode( 'Article update');
    var colApp = OG.Column.GetByCode( task[0].DataRowParentId, 'approval');

    var dr = OG.WorkflowSeq.GetDataRowFromTask(task[0]);
    var id = dr.GetClassLink( colApp.Id);
    return ( id != null && id == 1);

    // 1 - approve
    // 2 - reject

×