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
- Tisk a generování souborů /
- Tisk a generování souborů ve výpočtech
Tisk a generování souborů ve výpočtech
Výpočet úkolu umí vygenerovat tiskovou sestavu do PDF, sloučit nebo zkonvertovat soubory, přiložit je k případu a číst či upravovat přílohy v DMS. Tento článek shrnuje funkce pro práci se soubory a tisky dostupné v TAS 5.19.12 – z knihovny lib i ze samostatných objektů storage, zip a excel. Obecné funkce lib jsou v článku Reference API výpočtů: knihovna lib, tiskové šablony samotné popisuje administrátorský článek Tiskové šablony.
Generování tisku do DMS
| Funkce | Popis |
|---|---|
lib.savePrintForm(id, docType, fileName?) | Vytvoří tiskovou sestavu id ve formátu docType ('pdf', 'html' nebo 'doc') a uloží ji jako přílohu do DMS. |
lib.printToFantomPdf(printName, fileName, forceNewPrint=false) | Vytvoří PDF tiskové sestavy a uloží do DMS; forceNewPrint=true vynutí vykreslení přes Puppeteer (nové tisky typu Tisk – React). |
// Po schválení objednávky vygeneruje finální PDF a přiloží ho k případu
await lib.printToFantomPdf('Purchase order confirmation', 'PO-' + vars['OrderNumber'].getValue() + '.pdf');Konverze a úprava souborů
| Funkce | Popis |
|---|---|
lib.libreConvert(srcFile, outFile, filter?) | Zkonvertuje soubor na disku přes LibreOffice (musí být na serveru nainstalován), např. .doc → .pdf. |
lib.libreConvertDmsFile(fileVariable, outFormat='pdf', filter?) | Totéž, ale zdrojem je proměnná typu příloha; výsledek se vrátí/přiloží podle implementace šablony. |
lib.libreMacroConvert(srcFile, outFile, macro) / libreMacroConvertDmsFile(fileVariable, outFormat, macro) | Konverze s vlastním LibreOffice makrem. |
lib.pdfToText(fileName) | Převede obsah PDF souboru na text. |
lib.modifyPdfAddImage(identifier, pngPath, newFile=false, options) | Vloží PNG obrázek (např. razítko, QR kód z lib.createQrCodeBase64) do existujícího PDF; options určují stránku, pozici (x, y), měřítko a otočení. Bez newFile se obrázek přidá jako revize stávajícího souboru. |
lib.setDocumentLogicalType(fileName, logicTypeKey) | Změní logický typ dokumentu (viz číselník typů dokumentů v administraci DMS). |
lib.getFileType(fileName) | Vrátí typ souboru podle přípony (tabulka DMS_FILE_TYPE). |
lib.translateFileTemplate(srcFile, outFile) | Nahradí proměnné v textovém souboru a uloží výsledek do jiného souboru. |
lib.zfoLinkAttachments(id, nameProp?, contentProp?) | Rozbalí soubory vložené uvnitř .zfo souboru a přiloží je k případu; vrátí jejich ID oddělená čárkou. |
lib.xmlGetContents(id) | Vrátí obsah XML souboru uloženého v DMS. |
await lib.libreConvert('/tmp/uploads/quote.docx', '/tmp/uploads/quote.pdf', 'writer_pdf_Export');Slučování PDF a práce s přílohami případu
| Funkce | Popis |
|---|---|
lib.dmsMergePdfs(inFileNames, outFileName, isOrdered=false) | Sloučí vybrané PDF soubory případu do jednoho; isOrdered=true zachová pořadí podle pole inFileNames. |
lib.storeAttachment(fileName, content, convertToBase64=true, lastRevisionId?) | Uloží nový soubor do DMS a vrátí jeho ID. |
lib.storeAttachmentAsRevision(fileName, content, convertToBase64, revisionFileName) | Uloží soubor jako novou revizi existujícího souboru revisionFileName. |
lib.exportAttachment(identifier, exportPath, encoding='binary') | Zkopíruje přílohu případu na absolutní cestu na disku serveru. |
lib.copyFile(srcPath, dstPath) / lib.moveFile(fromPath, toPath) | Zkopíruje/přesune soubor na disku (mimo DMS); moveFile přepíše existující cíl. |
lib.addPublicFileToAttachment(publicFileName, dmsAttachmentName) | Přiloží veřejný soubor (z konfigurované veřejné složky) k případu jako přílohu. |
lib.addMailNotifsAttachment(dmsfName) | Přidá soubor z DMS jako přílohu úkolu typu e-mailové upozornění. |
lib.copySharedFileLink(iprocId, varName) | Zkopíruje do aktuálního případu odkaz na soubor ze sdílené proměnné typu Seznam dokumentů jiného případu. |
lib.getDMSFiles(nameFilter='*', glue='|', attrNames?) / getDMSFileNames(...) / getDMSFileIds(...) | Najdou přílohy případu podle filtru jména (* = všechny) a vrátí zadané atributy, jména, resp. ID spojené znakem glue. |
lib.countFiles(variable) | Počet souborů v proměnné typu příloha (hodnoty oddělené :). |
lib.getFileContents(pathToFile, encoding='base64') | Obsah souboru z absolutní cesty na disku (složka musí být povolená v konfiguraci). |
const quotePdf = await lib.dmsMergePdfs(['quote-1.pdf', 'quote-2.pdf'], 'quote-combined.pdf', true);
await lib.addMailNotifsAttachment('quote-combined.pdf');storage – DMS a soubory na disku
Objekt storage je nižší úrovně než výše uvedené funkce lib a pracuje přímo s entitami DMS a se souborovým systémem.
| Metoda | Vrací | Popis |
|---|---|---|
saveToDms(filePath, fileName) | Promise<number | undefined> | Uloží soubor z disku jako přílohu případu do DMS, vrátí jeho ID. |
getDmsEntityByName(dmsfName, searchRevisions=false) | Promise<DmsFile | null> | Najde soubor podle jména v rámci aktuálního případu. |
getFromSubAndMainByName(name, searchRevisions=false) | Promise<DmsFile | null> | Totéž, ale hledá i v podprocesech a hlavním případu. |
getDmsContent(id, encoding) | Promise<string | Buffer> | Obsah souboru z DMS. |
getDmsAbsolutePath(id) | string | Absolutní cesta souboru na disku serveru. |
exportDmsFile(id, destination) | – | Zkopíruje soubor z DMS do zvolené složky. |
dmsFileExists(id) / fileExists(file) | Promise<boolean> | Ověří existenci DMS souboru, resp. souboru/složky na disku. |
dmsDeletePermanently(id) | – | Trvale smaže soubor z DMS. |
getAttachmentsSize(ids) | – | Velikost souboru/souborů v bajtech. |
createDir(folder) / removeFolder(dir) / copyDir(dirName, newDirName) | – | Práce se složkami na disku serveru. |
getDmsFolder(folderName, parentFolderId?) / createDmsFolder(...) / setDmsFileFolder(id, folderName, parentId?) | – | Práce se složkami (DMS tagy) uvnitř DMS. |
getCsvFile(filename, options?) | Promise<object[]> | Načte uložený .csv soubor jako pole objektů. |
setDmsTagValue(tagId, value, files=[]) | Promise<void> | Nastaví hodnotu DMS atributu (tagu) pro zadané dokumenty. |
const path = storage.getDmsAbsolutePath(vars['Quote'].getValue());
await lib.libreConvert(path, path.replace('.docx', '.pdf'));zip – archivy
| Metoda | Popis |
|---|---|
zip.addDmsFile(dmsfId) / addDmsFiles(dmsfId[]) | Přidá jeden nebo víc souborů z DMS do rozpracovaného zip archivu. |
zip.storeZip() | Uloží archiv do dočasné složky a vrátí cestu k němu (getTempFilePath()). |
zip.getTempFilePath() / getRandomTempFileName() | Cesta k aktuálnímu, resp. nový náhodný dočasný soubor. |
zip.clearTemp() | Smaže dočasný archiv. |
zip.unzipDmsFile(dmsFileId) | Rozbalí zazipovaný soubor z DMS a jeho obsah přiloží k případu. |
zip.gzip(data) / zip.gunzip(data) | Komprimace/dekomprimace bufferu (gzip). |
await zip.addDmsFiles(lib.getDMSFileIds('invoice-*').split('|').map(Number));
const zipPath = zip.storeZip();
await lib.storeAttachment('invoices.zip', await storage.getDmsContent(zipPath));excel – sešity XLSX
| Metoda | Popis |
|---|---|
excel.workbook() | Nová prázdná instance sešitu. |
excel.jsonToSheet(data, options?) | Vytvoří list z pole objektů (JSON). |
excel.appendWorksheet(workbook, worksheet, name) | Přidá list do sešitu pod zadaným názvem. |
excel.setCell(worksheet, origin='A1', cellValue) | Nastaví hodnotu konkrétní buňky (např. {t: 's', v: 'Celkem'}). |
excel.writeToFile(workbook, fileName, options?) | Uloží sešit do souboru na disku. |
excel.writeToDms(workbook, fileName, options?) | Uloží sešit do dočasného souboru a rovnou ho přiloží k případu v DMS. |
excel.read(data, options) / readFile(filePath, options) / fromData(...) / fromFile(...) | Načtou existující XLSX ze dat/souboru do objektu sešitu. |
excel.utils() | Vrátí pomocné funkce knihovny xlsx (viz její dokumentace). |
const rows = vars['Items'].getDR() ? JSON.parse(vars['Items'].getDR('itemName')) : [];
const sheet = excel.jsonToSheet(rows.map((name, i) => ({ item: name })));
const wb = excel.workbook();
excel.appendWorksheet(wb, sheet, 'Items');
await excel.writeToDms(wb, 'order-items.xlsx');Související: Reference API výpočtů: knihovna lib, Tiskové šablony, Výpočty na úkolu.