Ověřit shodnost hodnot - popis akce

Akce Ověřit shodnost hodnot slouží k porovnání hodnot ve dvou různých polích. Například zkontroluje, jestli je aktuální uživatel přímým nadřízeným uchazeče o dovolenou a pouze tehdy mu dovolí pomocí workflow žádost schválit.

Očekávaná hodnota Slouží k zadání očekávané hodnoty.
Skutečná hodnota Slouží pro definici pole, z něhož se má získat skutečná hodnota. V případě obou polí se jedná o pole, kde je možné zadávat SQL příkaz prostřednictvím SQL# předpony. Pro přehlednější zadání příkazu je možné kliknout na ikonu tří teček v pravé části pole (...). Po kliknutí na pole vyskočí větší textové pole, kde snadno váš příkaz zadáte.
Zpráva o nesplnění podmínky Zadejte text, který se zobrazí v případě, že se výše zadané hodnoty neshodují.

Pro zadávání hodnot je možné použít i systémové proměnné, které jsou podrobněji popsány v článku Systémové proměnné pro zadávání v akcích.

V závislosti na nastavení pole Způsob dokončení z předchozího kroku průvodce bude splnění podmínky buď povinné (Nemůže být ignorována pro vybrané skupiny uživatelů) a dokud nebude podmínka splněna, nebude přechod uživateli umožněn. V případě mírnější varianty kontroly (Může být ignorována) se uživateli při přechodu zobrazí upozornění, že očekávaná a skutečná hodnota nejsou shodné a zda si skutečně přeje přejít do dalšího stavu workflow.

Chcete-li si právě nadefinovanou akci uložit pro pozdější použití v jiném typu workflow absence, můžete tak udělat pomocí tlačítka Šablona -> Export. Pokud máte akci typu Ověřit shodnost hodnot již nadefinovanou a vyexportovanou z dřívějších úprav workflow, můžete ji znovu použít pomocí nabídky Šablona -> Import. Více o možnostech importu a exportu workflow akcí naleznete v samostatné kapitole Import a Export definic workflow akcí.

Příklad - Kontrola, zda je aktuální uživatel přímým nadřízeným

Tato kontrola je běžná ve většině schvalovacích workflow - např. žádost o absenci, o prémii.

Očekávaná hodnota

Hodnota, kterou očekáváme, v našem případě lze použít zástupný znak, který nám vrátí identifikátor aktuálně přihlášeného uživatele:

$CURRENT_USER[ItemID]
Skutečná hodnota

Hodnota, kterou obsahuje kontrolovaný objekt. U nás to je identifikátor přímého nadřízeného toho člověka, který žádá o absenci (pro čitelnost zde byl kód oddělen odřádkováním, které ve vkládaném kódu být nesmí!):

SQL#SELECT Supervisor.ItemID
FROM Users Supervisor INNER JOIN Relations ON Relations.ItemGUID1 = Supervisor.ItemID
INNER JOIN Users U2 ON U2.ItemID = Relations.ItemGUID2
INNER JOIN Relations rVacUser ON rVacUser.ItemGUID1=U2.ItemID
INNER JOIN Vacation ON Vacation.ItemID = rVacUser.ItemGUID2
WHERE Relations.RelationType LIKE 'SUPERVISOR' AND Relations.Direction = 2
AND rVacUser.RelationType='VACATION' AND Vacation.ItemID = '$CURRENT_ITEM[ItemID]'
Zpráva o nesplnění podmínky

Zobrazí se v případě, že podmínka nebyla splněna a hodnoty se nerovnají. Tedy například zpráva pro každého, kdo přímým nadřízeným není. Lze vepsat jakýkoliv text nebo použít systémovou zprávu jako v našem příkladu: "Aktuální uživatel není přímým nadřízeným."

Příklad - Kontrola, zda je připojena společnost

Tato kontrola je navržená pro příležitosti, ale je možné ji upravenou používat například na projektech.

Očekávaná hodnota

Hodnota, kterou očekáváme, v našem případě lze použít hodnotu 1.

1
Skutečná hodnota

Hodnota, kterou obsahuje kontrolovaný objekt. V tomto příkladě kontrolujeme, že v poli Customer (Odběratel) na příležitosti je vybrána hodnota z databáze.

SQL#SELECT CASE WHEN $Customer_RELATION_ITEM[ItemGUID] IS NULL THEN 0 ELSE 1 END
Zpráva o nesplnění podmínky

Zobrazí se v případě, že podmínkou z pole Skutečná hodnota je zjištěna 0 (vazba neexistuje), nikoli 1 (vazba existuje). Tedy například zpráva: "K příležitosti není připojena žádná společnost."