Uživatelský manuál
Stručný průvodce
Dashboard
Přehledy
Detail případu (Caseoverview)
Případ - Událost
Úkoly
Poznámky případu
Dokumenty
Nastavení uživatele
Oblíbené
Komponenta tabulky
FAQ
Novinky/Oznámení v Team assistant
Nastavení mobilní aplikace
Admin dokumentace
Platforma
Administrace
Crony
Autentizace a synchronizace
Nastavení mobilní aplikace pro vaše prostředí
Schéma
Dynamické tabulky
Archivace
Skripty
Servisní konzole
Naplánované úkoly
HR Agenda
Sekvence
CSP hlavičky - zásady zabezpečení obsahu
Logy
Nastavení přístupového tokenu a vypršení platnosti relace
Šablona
Role
Plánování
Uživatelé
Organizační struktura
Události
Překlady
AXIOS API
Výpočty a funkce
Integrace
TAS Forms
Pokročilé funkce a tipy
Partneři
Produkt
Technický changelog
Business Changelog
Průvodce upgradem z předchozích verzí
Upgrade na 5.9
Upgrade na 5.3
Migrace dynamických podmínek
Úprava a kontrola tisku pdf
Úprava Popis úkolu vs Instrukce k úkolu
Transpilace forEach na for loop
Vykreslení HTML na Caseoverview
Upgrade na 5.7
Lodash upgrade v4.17.x (>v5.5)
Hlavní změny a zaniklé funkce (v5.3 > v5.7)
Podbarvení proměnných ve stavu Read-only (>v5.7.58)
Použití validačních funkcí
Rozdíly mezi TAS4 a TAS5 - kompletní přehled
Best Practices upgrade z TAS 4 na TAS 5
Technické požadavky a architektura
Aktuality / Důležité informace
- Vše /
- Admin dokumentace
- Platforma
- Šablona
- Úkoly /
- Multiinstance - detailní popis fungování
Multiinstance - detailní popis fungování
Multiinstanční má na rozdíl od běžných úkolů svoji "sadu" proměnných tzv. snapové proměnné. Na následujících příkladech popíšeme pravidla chování v rámci platformy.
Příklady budou demonstrovány na základním WF, kde po splnění prvního úkolu Regular task dojde k aktivaci multiinstančního úkolu Multi-instance-task.

Nastavení multiinstančního úkolu
V rámci definice úkolu je možnost úkol označit jako "multiinstanční". Po nastavení se definuje podle jaké proměnné chceme úkol iterovat => kolik položek je v dané proměnné tolik úkolů se poté vygeneruje.

V rámci nastavení řešitele úkolu je v tomto případě potřeba definovat, že se má uživatel brát z iterované proměnné, toto se provedene nastavením iterator(1) do pole Referenční osoba v nastavení úkolu v šabloně.

Nyní když v úkolu Regular task budou v proměnné s názvem users vybráni 2 uživatelé, úkol Multi-instance task se vygeneruje 2x a přidělí se vybraným uživatelům.

Přiřazenén úkoly na případu:

Nastavení a chování proměnných v multiinstančním úkolu
V defaultním nastavení nejsou proměnné nastaveny jako multiinstanční. Je to z důvodu úspory místa v DB. Pokud by všechny proměnné byly nastaveny jako multiinstanční, s každým vygenerovaným úkolem by se všechny museli zapsat do DB aniž by se někdy v budoucnu využily.
Nastavení se provádí na úrovni proměnné pomocí volby Kopírovat do multiinstancí.

Chování multiinstančních proměnných na formuláři
V rámci formulářů se multiinstanční proměnné chovají tak, že se globální hodnota vyplněna v běžném úkolu "kopíruje" do multiinstančních úkolů => V době generování multiinstančního úkolu se do snapových proměnných těchto úkolů nastavují proměnné z případu.
Při jednotlivém plnění multiinstančních úkolů dochází k přepisování proměnné na případu viz následující znázornění:
- Na začátku obou multiinstančních úkolů jsou v každém úkolu hodnoty pole text stejné jako bylo vyplněno v úkolu Regular task (text = "Global variable - Regular task")
- V každém multiinstančním úkolu uživatel upraví hodnotu pole text.
- Multiinstanční úkol Task 1 se splní jako první, v ten moment se do globální proměnné na případu zapíše hodnota "Global variable - Regular task - edit 1".
- Multiinstanční úkol Task 2 se splní jako druhý, v ten moment se do globální proměnné na případu zapíše hodnota "Global variable - Regular task - edit 2".
- Výsledkem tedy bude, že po splnění obou úkolů bude v případu vyplněna hodnota z úkolu, který se splnil jako poslední.

Chování multiinstančních proměnných ve výpočtech
V rámci výpočtů na multiinstančním úkolu se používá jiný zápis pro práci s proměnnou. Běžná proměnná se čte pomocí vars['text'].getValue() a zápis se provádí pomocí vars['text'].setValue().
Ukázka chování na základním výpočtu:
Regular task má nastaveno na konci úkolu výpočet vars['text'].setValue('Global variable - regular task') => do proměnné text se tedy nastaví hodnota "Global variable - regular task"
Na začátek multiinstančního úkolu Multi-instance task je nastaven výpočet snaps['text'].setValue('Snap variable - task1')
Po splnění Regular task a otevření Multi-instance task uvidí uživatel v úkolu v proměnné text hodnotu "Snap variable - task1" zatímco na případu v proměnných bude hodnota "Global variable - regular task".
Důvod proč se toto používá se nejlépe demonstruje na paralelním schvalování s využitím multiinstančního úkolu:
Updated
by Frantisek Brych