Nastavit hodnotu pole - popis akce

Akce Nastavit hodnotu pole slouží k automatickému vyplnění zadané hodnoty do určeného pole na kartě záznamu. Vyplní například pole Plánovaná konečná cena při přechodu mezi stavy na projektu hodnotou, která je součtem Plánovaných nákladů lidí a Plánovaných nákladů ostatních, které jsou násobeny zvoleným koeficientem. Při vyvolání akce Nastavit hodnotu pole se vybrané pole uzamkne pro editaci a předvyplní se do něj hodnota stanovená v definici akce. Po uložení změn na položce se pole opět odemkne a je možné hodnotu v něm dodatečně editovat.

Databázové pole Zadává se název pole na kartě záznamu, které chcete automaticky vyplnit. Vkládat se mohou databázové názvy jen těch polí, které jsou k dispozici na modulu, který workflow nese. Databázový název pole zjistíte snadno tak, že do něj na dialogu kliknete myší a stisknete klávesy Alt+F1 a tím se zobrazí popisek s názvem sloupce.
Hodnota pole Slouží k vyplnění hodnoty, která se v poli po vyvolání akce objeví. Lze zadávat obyčejný text, ale je možné využít i SQL dotazů 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.

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 následující tabulce naleznete přehled možných hodnot pro různě typy polí:

Typ polePole Hodnota pole
Text nebo Odkaz Vepište požadovaný text.
Desetinné číslo (např. Cena)

Např. 5000, lze zadávat i desetinná čísla. Možné je zadat je formou klasického číselného zápisu jako 0.123 či 0,123 anebo případně jako SQL dotaz, který vždy vrátí hodnotu správně, aby nedošlo k chybnému převodu čísla:

SQL# SELECT 0.123

Nulovou hodnotu je možné zadat jako:

SQL# SELECT NULL

Lze také pracovat s SQL dotazy a využít tak pro výpočet konečné ceny projektu nějaký vzorec jako na příkladu níže, kde se součet Plánovaných nákladů lidí a Plánovaných nákladů ostatních násobí koeficientem 1,4:

SQL# SELECT (EstimatedPeopleExpenses + EstimatedOtherExpenses)*1.4 FROM Projects WHERE HID = '$CURRENT_ITEM[HID]'
Procenta Zadává se jako desetinné číslo - 0,3 nebo 0.3 pro 30 %, případně je možné využít i další formy zápisu, které jsou uvedené v předchozí řádce.
Zaškrtávací pole

1 nebo 0, případně TRUE či FALSE.

I v tomto případě je možné použít SQL zápis, a to v následující formě:

SQL# SELECT CAST(0 AS BIT)
Datum

Lze zadat pevné datum, například ve formátu DD.MM.RRRR.

Je také možné využít SQL funkce getDate, která vrací dnešní datum a umí k němu přičítat či odečítat dny. Ve vzorovém kódu bude vyplněno datum za 20 dní od dnešního dne (dne, kdy byla akce vyvolána):

SQL# SELECT getdate()+20
Roletkový seznam

Nutno vyplnit databázový identifikátor hodnoty seznamu.

Lze vložit GUID hodnoty, která má být vybrána, například:

7F16D9CE-1FD1-419E-B4DB-0217DC8303E2

Lze zadat například takto pro vyplnění zdroje příležitosti, kde cs je sloupec s českým názvem hodnoty seznamu a text v uvozovkách je hodnota, kterou hledáme. Pro porovnávání lze použít i jiné jazykové sloupce (en, ru, de, sk, no):

SQL# SELECT ItemID FROM EnumValues WHERE cs = 'Stávající zákazník'
Zaškrtávací seznam

Je možné zadat podobně jako v případě roletkového seznamu. Vzhledem k tomu, že je možné vybrat více hodnot, lze zadat více GUID, a to oddělených čárkou, jako například:

7F16D9CE-1FD1-419E-B4DB-0217DC8303E2, A836B394-8FE0-4A65-A0A6-0231B37040DE

I v tomto případě je možné zadávat SQL dotazy, kdy následující zaškrtne všechny hodnoty v zaškrtávacím seznamu (AF_XXX je potřeba nahradit za skutečné databázové jméno pole):

SQL# SELECT ItemID FROM EnumValues WHERE EnumType = (SELECT ItemID From EnumTypes WHERE EnumName = 'AF_XXX')
Relace

Nutno vyplnit databázový název pole (viz. první řádek ukázky). Lze zadat například takto pro vyplnění Odběratele na projektu nebo dokladu. Společnost můžete porovnávat jako v prvním případě pomocí názvu (FileAs) nebo pomocí ID společnosti jako v případě druhém:

CUSTOMER
SQL# SELECT ItemID FROM Companies WHERE FileAs='eWay-CRM'
CUSTOMER
SQL# SELECT ItemID FROM Companies WHERE ID='253'

V případě uživatelských polí se na začátku nepoužívá označení modulu a zapisuje se pouze jako af_XXX (XXX je číselné označení uživatelského pole, které je možné snadno zjistit tím, že ve chvíli, kdy máte kurzor na daném poli a stisknete ALT+F1, administrátoři vidí databázový název pole v administrační aplikaci v sekci Uživatelská pole).

Chcete-li si právě nadefinovanou akci uložit pro pozdější použití v jiném typu workflow, můžete tak udělat pomocí tlačítka Šablona -> Export. Pokud máte akci typu Nastavit hodnotu pole 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í.