Uživatelský manuál
Stručný průvodce
Poznámky případu
Komponenta tabulky
FAQ
Hledání
Dashboard
Smazané dokumenty a log přístupů
Řešení úkolu
AI asistent
Manuály
Zástup a dovolená
Uspání, probuzení, archivace a smazání případu
Proměnné, historie a graf případu
Základní pojmy
Nahrání dokumentu, složky a revize
Novinky
Oblíbené
Orientace v rozhraní
Widgety dashboardu
Detail případu
Novinky/Oznámení v Team assistant
Seznam případů
Přihlášení a odhlášení
Nastavení účtu
Seznam úkolů
Nastavení mobilní aplikace
Reporty a grafy
Hledání a seznam dokumentů
Předání, převzetí a úkoly k odběru
Hromadné úkoly
Tisk případu
Vytvoření a úprava přehledu
Co je TAS
Pole formuláře
Tabletové rozhraní a NFC
Přehledy
Založení nového případu
Události na případu
Oprávnění k případu
Odběr přehledu e-mailem
Admin dokumentace
Platforma
Administrace
Crony
Paralelní cron - PostponedTaskCron
Crony v5.19
Crony
CleanupCron
MsGraphCheckUnprocessedMailsCron - Kontrola nezpracovaných mailů
Crony v5.7
Hearbeat monitoring cronů
Autentizace a synchronizace
SMTP OAuth autentizace
LDAP, SAML, Entra ID a NFC: nastavení
Konfigurace autentizačních modulů
Autentizace
Organizační struktura
Trezor
DMS atributy
Servisní operace
Trezor
Nastavení mobilní aplikace pro vaše prostředí
Schéma
Import procesů XML
Sdílené soubory
HR agenda a předání agendy
Logy
Archivace
Skripty
Sekvence
Stav systému
Správa novinek
Migrace
Konfigurace
Pluginy
Fronta e-mailů
Servisní konzole
AI monitoring
Sdílené soubory
Nastavení
CSP hlavičky - zásady zabezpečení obsahu
CSV soubory
Naplánované úkoly
Fronty zpracování
Údržba
Menu Administrace
Licence
Dynamické tabulky
Statistiky použití
Nastavení přístupového tokenu a vypršení platnosti relace
Vizuální identita
Šablona
Tisk (Case Overview)
Úkoly
Výpočty na úkolu
Automatické dokončení a zrušení úkolu
E-mailový úkol a notifikace
Builder dynamických podmínek
Multiinstance - detailní popis fungování
Typy úkolů
Smart Event úkol
Instrukce, sekce a otestování úkolu
Obecné nastavení úkolu a řešitel
Multiinstance
Plánování: spuštění, větvení a termín
Dynamické podmínky: builder
Přiřazení proměnných a sekce
Proměnné
Diagram tříd, import stavů a kandidáti aliasů
Seznam dokumentů
Text a text s více řádky
Checkbox
Číslo
Proměnné: přehled a společná nastavení
Číselníky (texty, čísla, datumy)
Dynamické řádky
Datum
Dynamický seznam
Sekvence
Dynamická tabulka
Skartace
Graf šablony
Záložka Šablona
Seznam šablon
Import, export a kopírování šablony
Linky
Case Overview Builder (Detail případu)
Hlavičky šablony
Stavy případu
Role
Self-hosted administration
Připojení k jiné databázi
Diagnostika služeb
Change the default URL in Oracle VirtualBox
Hyper-V: izolovaná NAT síť s přesměrováním portů
Uživatelé
Překlady
NFC integrace
Události a pravidla
AXIOS API
Plány
AXIOS s využitím Trezoru
Uživatelé
Axios s využitím certifikátů (SSL)
Detail uživatele
Výpočty a funkce
Dynamické podmínky (formuláře)
Ostatní dynamické podmínky
Optimalizace volání api na dynamických podmínkách
Filtrování v dynamickém listu pomocí dynamických podmínek
Dynamické podmínky: skript
Dynamické řádky: skript
Výpočty
Dynamické tabulky
Tisk a generování souborů
Dokumenty ve výpočtech — kompletní průvodce
Tisk a generování souborů ve výpočtech
Vytvoření dokumentu DOCX
Ostatní výpočty
Jak a kdy běží výpočty
Reference API výpočtů: knihovna lib
Reference API výpočtů: proměnné a případ
Globální skripty a React skripty
Integrace
MS Graph
MS Graph - příprava schránky
MS Graph - konfirurace cronu
MS Graph v2 (od v5.7.102)
MS Graph - příprava schránky - Legacy
MS Graph (e-mail)
ISDOC.PDF
DocuSign
Modul na volání TASu - TAS 2 TAS (zakládání procesů přes API)
DB View
DocuSign a elektronický podpis
ERP a další integrace
Smart Events pro integrace
TAS Forms
Pokročilé funkce a tipy
Filtrování v dynamickém listu pomocí URL parametru (statické)
Optimalizace přehledů s velkým počtem případů
AI Features
API dokumentace
Produkt
Technický changelog
Business Changelog
Průvodce upgradem z předchozích verzí
Upgrade na 5.19
Upgrade na 5.17
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)
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
Rozdíly mezi TAS4 a TAS5 - kompletní přehled
Best Practices upgrade z TAS 4 na TAS 5
Použití validačních funkcí
Technické požadavky a architektura
Status routes
Prerekvizity serveru
Bezpečnost a ochrana dat
Security
TAS Operations Runbook
Technologická architektura
Graceful Shutdown + Status Routes
Aktuality / Důležité informace
Microsoft ukončení Basic Auth pro SMTP
Ukončení podpory EWS a přechod na Microsoft Graph
Úprava v EWS po aktualizaci MS Exchange (29.04.2025)
Bezpečnostní oznámení
Getting Started
- Vše /
- Admin dokumentace
- Výpočty a funkce
- Dynamické podmínky (formuláře) /
- Dynamické podmínky: skript
Dynamické podmínky: skript
Záložka Skript v okně Podmínky (viz Dynamické podmínky: builder) obsahuje celý kód dynamických podmínek úkolu v JavaScriptu. Běží v prohlížeči uživatele při vyplňování formuláře – na rozdíl od výpočtů na záložce Výpočty, které běží na serveru. Tento článek je referencí funkcí, proměnných a validací, které má skript k dispozici v TAS 5.19.12. Mechaniku přepínání mezi Builderem a Skriptem popisuje článek Dynamické podmínky: builder.

Kontext formuláře
| Co | Jak ho získat |
|---|---|
| Kontext aktuálního úkolu | const currentTask = getCurrentTask(); – obsahuje currentTask.items (proměnné úkolu s počátečními hodnotami z databáze), currentTask.processVars (proměnné případu), currentTask.state.taskInfo (název, vlastník, řešitel, hlavička úkolu) a currentTask.language. |
| Reference na formulářové komponenty | const references = getReferences();, nebo currentTask.references. Slouží například ke zjištění, zda uživatel proměnnou už změnil: references['tvar_name'].isPristine(). |
| Aktuální jazyk formuláře | getLanguage() nebo currentTask.language. |
| Data dynamické tabulky | getDynTable(dtId, dtcId) načte sloupec dtcId tabulky dtId (nebo jejího názvu) do dynTable[dtId]. Volání je asynchronní, skript počká na dokončení, než poběží dál. |
Pro volání backendových služeb (Api.request.get/post/...) je k dispozici dokumentace REST API, pro obecné pomocné funkce knihovna Lodash – oboje odkazuje nápověda skriptu (tlačítko Nápověda).
Hlavní funkce
| Funkce | Signatura | Popis |
|---|---|---|
hideVarOn | (tvar_name, condition, watchVars?, returnToPreviousState?) | Skryje proměnnou tvar_name, pokud je condition splněná. |
varReadOn | (tvar_name, condition, watchVars?, returnToPreviousState?) | Přepne proměnnou do režimu jen pro čtení. |
varMustOn | (tvar_name, condition, watchVars?, returnToPreviousState?) | Udělá proměnnou povinnou. |
varWriteOn | (tvar_name, condition, watchVars?, returnToPreviousState?) | Přepne proměnnou do režimu pro zápis. |
changeVarVal | (tvar_name, condition, value, watchVars?, force?, returnToPreviousState?) | Nastaví proměnné novou hodnotu value (hodnota, nebo funkce/promise, která ji vrátí). |
varDefOn | (tvar_name, condition, definition, watchVars?) | Mění definici proměnné (např. tvar_meta, filtr dynamického seznamu, barvu pole). |
onChangeVar | (tvar_name, callback) | Zavolá callback(tvar_name, index) při změně proměnné. |
solveTaskOn | (tvar_name, condition, watchVars?) | Pokud condition není splněná, znemožní splnění úkolu. Na rozdíl od validateVarOn se uplatní i na proměnné jen pro čtení. |
validateVarOn | (tvar_name, condition, validations, validationErrors, watchVars?) | Přidá proměnné vlastní validace s hláškami. Neplatí pro proměnné jen pro čtení. |
repeatScript | () | Ručně znovu spustí celý skript. |
tvar_name je u všech funkcí buď název proměnné, nebo pole názvů (hromadná akce pro víc proměnných najednou). condition je buď přímo hodnota (vyhodnotí se jen při načtení formuláře), nebo funkce vracející hodnotu (přepočítá se dynamicky). watchVars omezí přepočet skriptu jen na změnu vyjmenovaných proměnných. returnToPreviousState (výchozí false) řeší, do jakého stavu se proměnná vrátí, když podmínka přestane platit: false vrací na výchozí/databázový stav, true na stav před posledním spuštěním funkce.
// Skryje pole Visa required, pokud je dopravním prostředkem služební auto
hideVarOn('Visa required', function() {
return vSync('Means of transport') == 'Company car';
});
// Objednávka nad 200 000 Kč nejde dokončit
solveTaskOn('Estimated cost', function() {
return vSync('Estimated cost') <= 200000;
});
// Dohledá jméno dodavatele podle ID z číselníku
changeVarVal('SupplierName', fnIsNotEmptySync(v('SupplierId')), function() {
var supplierId = vSync('SupplierId');
return Api.request.get('/dyn-table/12/values/' + supplierId)
.then(function(row) { return { value: supplierId, title: row.col_1 }; })
.catch(function() { return { title: null, value: null }; });
});Validační hlášky se ukládají do kódu v jednoduchých uvozovkách. Nepoužívejte v nich apostrof, mohl by kód podmínek poškodit.
Čtení hodnot proměnných
| Funkce | Popis |
|---|---|
v(tvar_name) | Hodnota proměnné úkolu. Mimo funkci/podmínku funguje jen v okamžiku načtení formuláře – pro dynamické přepočty použijte vSync. |
vSync(tvar_name) | Totéž, ale platí i uvnitř funkcí, které se přepočítávají dynamicky. |
vObj(tvar_name) / vSyncObj(tvar_name) | U proměnných typu výběr vrátí objekt {title, value} místo samotné hodnoty. |
procV(tvar_name) / procVSync(tvar_name) | Hodnota proměnné případu (nikoli aktuálního úkolu). |
procVObj(tvar_name) / procVObjSync(tvar_name) | Totéž jako vObj, ale pro proměnnou případu. |
Porovnávací a pomocné funkce
| Funkce | Popis |
|---|---|
fnEq(value1, value2) / fnEqSync(...) | value1 === value2. |
fnNe(value1, value2) / fnNeSync(...) | value1 !== value2. |
fnEqArray(value, array) / fnNeArray(value, array) (+ Sync) | true, pokud se value rovná (nerovná) alespoň jedné hodnotě pole. |
fnGt, fnGe, fnLt, fnLe (+ Sync) | Porovnání >, >=, <, <=. Argumenty mohou být i funkce. |
fnLike(value1, value2) / fnNLike(...) (+ Sync) | value1 obsahuje/neobsahuje value2. |
fnIsEmpty(value) / fnIsNotEmpty(value) (+ Sync) | Hodnota je/není undefined, null, '', [] nebo {}. |
fnAnd(...) / fnOr(...) (+ Sync) | Logické AND/OR libovolného počtu hodnot nebo funkcí. |
jsonSumArray(json, pathInJson) (+ Sync) | Součet čísel v poli uvnitř JSON podle cesty, např. obj.arr. |
formatEmails(emails) (+ Sync) | Naformátuje pole e-mailů na text oddělený středníkem – typicky v kombinaci s changeVarVal(..., force=true). |
canSolveTask(bool) | Při false zešedne tlačítka pro splnění úkolu (podobně jako solveTaskOn, ale bez vazby na konkrétní proměnnou). |
Validace (validateVarOn)
| Validace | Hodnota | Kontroluje |
|---|---|---|
isExisty | true | Není null ani undefined. |
isEmptyString | true | Prázdný řetězec. |
isEmail / isEmails | true | E-mail, resp. e-maily oddělené středníkem. |
isUrl | true | Platná URL adresa. |
isTrue / isFalse | true | value === true / value === false. |
isNumeric / isInt / isFloat | true | Číslo, celé číslo, desetinné číslo. |
isAlpha / isAlphanumeric / isWords / isSpecialWords | true | Jen písmena / písmena a číslice / s mezerami / včetně diakritiky. |
isLength | číslo | Přesná délka textu. |
minLength / maxLength | číslo | Minimální/maximální délka. |
minValue / maxValue | číslo | Minimální/maximální hodnota. |
isLowerThan / isHigherThan / isLowerOrEqualThan / isHigherOrEqualThan | číslo, datum | Porovnání s hodnotou nebo datem. |
isDate | hodnota | Platné datum podle lokalizace. |
isIC | true | Identifikační číslo (IČO). |
isTelephoneNumber | true | Telefonní číslo. |
isPath | true | Cesta k souboru. |
matchRegexp | regulární výraz | Test proti libovolnému regexu. |
equals / equalsField | hodnota / název proměnné | Rovnost s konstantou, resp. s jinou proměnnou. |
isValid | boolean | Libovolná vlastní podmínka – při false se zobrazí hláška. |
validateVarOn('ReturnDate', true, function() {
return { isHigherThan: vSync('DepartureDate') };
}, { isHigherThan: { cs: 'Datum návratu musí být po datu odjezdu.', en: 'Return date must be after the departure date.' } });Vztah k builderu
Builder a skript ukládají jeden společný kód. Blok builderu se zapíše jako volání funkce s komentářem /** @BuilderBlock */ nad ním; vypnutý blok se navíc označí @BuilderInactive a zůstane v kódu jako komentář. Při přepnutí na záložku Builder aplikace tato označená volání přemění zpět na bloky – kód mezi nimi, kterému builder nerozumí, zobrazí jako blok typu Skript. Pokud do označeného volání zapíšete něco, co už builder nedokáže převést zpět, zůstanete na záložce Skript s hláškou Konverze skriptu do builderu se nezdařila. Podrobnosti a příklad v článku Dynamické podmínky: builder.
Související: Dynamické podmínky: builder, Dynamické řádky: skript, Výpočty na úkolu.