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." |