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
- Výpočty
- Dynamické tabulky /
- Dynamické tabulky ve výpočtech
Dynamické tabulky ve výpočtech
Objekt dt je dotazovací rozhraní nad dynamickými tabulkami, dostupné v každém výpočtu úkolu (na záložce Výpočty i ve sdílených skriptech typu Výpočty). Na rozdíl od staršího lib.dynamicTableGetCell/dynamicTableUpdateCell (viz Reference API výpočtů: knihovna lib) pracuje stylem „query builder“: zavoláte dt.from(...), přidáte podmínky where... a teprve pak zavoláte get(), update() nebo remove(). Tento článek je referencí pro TAS 5.19.12.
// Najde řádek dodavatele podle IČO a přečte jeho e-mail
const rows = await dt.from('Suppliers', ['COL_2', 'COL_4']).whereCol('COL_1', vars['SupplierIco'].getValue()).get();
vars['SupplierEmail'].setValue(rows[0] ? rows[0].COL_4 : null);Založení dotazu
| Metoda | Vrací | Popis |
|---|---|---|
from(dt, columns?) | Promise<this> | Nastaví práci s tabulkou dt (název nebo ID) a zruší předchozí filtry. columns (pole, např. ['COL_1', 'COL_3']) omezí načítané sloupce – bez něj se načtou všechny, což je pomalejší. |
select(columns) | Promise<this> | Alternativa k zadání sloupců v from() – musí se volat hned po from() a nelze kombinovat s columns v from(). |
Sloupce se zadávají jako COL_1, COL_2... (pořadové číslo sloupce), nebo přímo číslem – whereCol(1, ...) i whereCol('COL_1', ...) fungují stejně.
Filtrování (where)
| Metoda | Popis |
|---|---|
whereCol(column, value, operator='=') | Zafiltruje na hodnotu sloupce. operator: =, <, >, <=, >=, like, not like, <>. |
orWhereCol(column, value, operator='=') | Totéž, ale spojené s předchozí podmínkou přes OR. |
whereIndex(index, operator='=') / orWhereIndex(index, operator='=') | Zafiltruje na index řádku (DTV_INDEX). |
whereNullCol(column) / whereNotNullCol(column) | Řádky, kde je/není sloupec null (netýká se prázdného řetězce ''). |
orderBy(column, direction='asc', sortType='text') | Seřadí výsledek. column musí být COL_{n}, DTV_INDEX nebo DTV_ORDER_INDEX; sortType text nebo number. |
Víc volání whereCol/whereIndex se skládá dohromady (AND, pokud nepoužijete orWhereCol/orWhereIndex).
const rows = await dt.from('Suppliers')
.whereCol('COL_3', 'CZ', 'like')
.whereNotNullCol('COL_4')
.orderBy('COL_1', 'asc')
.get();Čtení dat
| Metoda | Vrací | Popis |
|---|---|---|
get() | Promise<object[]> | Vrátí řádky podle nastaveného filtru. Bez where podmínky načte (a zaloguje varování) celou tabulku. |
getFirst() | Promise<object | null> | První řádek výsledku. |
getLast() | Promise<object | null> | Poslední řádek výsledku. |
count() | Promise<number> | Počet odpovídajících řádků. |
getCell(dt, index, col) | Promise<string | null> | Zkratka: najde řádek podle indexu a vrátí hodnotu jednoho sloupce, bez nutnosti volat from/where zvlášť. |
getCols() | Promise<object> | Mapování názvů a ID sloupců tabulky obousměrně ({1: 'COL_1', COL_1: 1, ...}). |
getId() | Promise<number | string> | ID tabulky nastavené přes from(). |
getSourceFiles(returnOnlyLastRecord) | Promise<object[]> | Historie souborů, ze kterých se tabulka naplnila importem; true vrátí jen poslední záznam. |
const unitPrice = await dt.getCell('Price list', vars['ItemCode'].getValue(), 'COL_3');Zápis a mazání
| Metoda | Vrací | Popis |
|---|---|---|
update(column, value) | Promise<number> | Upraví sloupec vybraných řádků (dle where). column může být i objekt {COL_1: '...', COL_2: '...'} pro víc sloupců najednou – pak se value ignoruje. Vrací počet upravených sloupců. |
addRow(index, data) | Promise<number> | Založí nový řádek s daným indexem a daty {COL_1: '...', ...}. |
addEmptyRow(index) | Promise<number> | Zastaralé, použijte addRow. Založí prázdný řádek. |
remove(removeLimit=10) | Promise<number> | Smaže řádky odpovídající filtru a vrátí jejich počet. Bez filtru maže celou tabulku. Přesáhne-li počet mazaných řádků removeLimit, vyhodí výjimku místo smazání – pojistka proti omylu. |
// Zdraží všechny položky dodavatele o 5 %
const rows = await dt.from('Price list').whereCol('COL_2', vars['SupplierId'].getValue()).get();
for (const row of rows) {
await dt.from('Price list').whereIndex(row.DTV_INDEX).update('COL_3', Number(row.COL_3) * 1.05);
}
// Smaže položky ceníku starší než loňský rok (s pojistkou max. 50 řádků)
await dt.from('Price list').whereCol('COL_5', '2025-01-01', '<').remove(50);dt.remove() bez předchozího whereCol/whereIndex smaže všechny řádky. Vždy nejdřív zúžte výběr filtrem a removeLimit nastavte o málo nad očekávaný počet mazaných řádků, abyste při chybě ve filtru dostali výjimku místo hromadného smazání.dt.from() interně ověří, že dynamickou tabulku smí aktuální proces volat (nastavuje se u tabulky v administraci). Pokud ne, vyhodí výjimku Dynamic table '...' cannot be called from this Process.Související: Dynamické tabulky (administrace), Reference API výpočtů: knihovna lib, Dynamické řádky: skript.