Vytvoření dokumentu DOCX

Průvodce vytvořením tiskové šablony z dokumentu DOCX

Tento postup popisuje, jak generovat dokumenty DOCX v aplikaci Team assistant (TAS) na základě předem připravené šablony aplikace Word. Potřebné údaje z úkolu v TAS budou automaticky vyplněny do šablony.

Případy použití

  • Generování protokolu podání na základě odeslané pošty v rámci společnosti.
  • Vytvoření podpisového listu dokumentu vygenerovaného ze schvalovací matice pro proces.
  • Sestavení smlouvy na základě vybraných atributů v TAS.

Příprava šablony dokumentu

Vytvořte dokument aplikace Word s pevným obsahem, jako jsou záhlaví, zápatí a obecná struktura. Pomocí speciálních značek označte, kam mají být vkládána data z TAS. Tyto značky používají k otevírání a zavírání trojité znaménko plus ( +++ ). Název proměnné, definovaný ve výpočtech TAS, je umístěn mezi tagy.

Např. +++companyName+++

Příklad:

📄 Stáhněte si dokument - DOCX_document_creation-template.docx

Seznamy s odrážkami v šabloně

Definujte proměnnou seznamu v TAS a iterujte ji pomocí

Word šablona:
+++FOR myBullet IN myBullets+++
• +++= $myBullet+++
+++END-FOR myBullet+++
Výpočet TAS:
const myBullets = vars['list'].getValue();

Obrázky v šabloně

Dynamické vkládání obrázků:

Word šablona:
+++IMAGE workerSignature()+++
Výpočet TAS:
const workerSignatureBase64 = workerSignatureFileName ? lib.getFileContents(`${signaturesAndStampsPath}/${workerSignatureFileName}`, 'base64') : '';

let generated = docx.docxTemplater({
template,
data: docxData,
processLineBreaksAsNewText: true,
additionalJsContext: {
workerSignature: func => {
let data = workerSignatureBase64;
return {
width: signatureWidth,
height: signatureHeight,
data,
extension: '.png'
};
}
}
});

Dynamické tabulky

Tato struktura iteruje přes každý řádek v tabulce a vkládá příslušné hodnoty do sloupců.

Word šablona:

Index

Kód

Jméno

+++ PRO řádek v typeOfCost+++

+++= $řádek.DTV_INDEX+++

+++= $row.COL_1+++

+++= $řádek.COL_2+++

+++KONEC-PRO řádek+++

Výpočet TAS:
const myTable = vars['table'].getValue();

Vytváření dynamických řádků

Toto prochází každý řádek a vkládá relevantní hodnoty do tabulky.

Word šablona:

Název objednávky

Cena

+++PRO index v Array.from(Array(items.itemName.length).keys())+++

+++= items.itemName[$index] +++

+++= položky. jednotková cena[$index] +++USD

+++END-FOR index+++

 

Výpočet TAS:
const myDynamicRows = vars['dynRows'].getValue();

Nahrání šablony do TAS

🚧 Kroky budou optimalizovány
  1. Přejděte na kartu "Dokumenty" v TAS.
  2. Klikněte na "Nahrát soubor" a vyberte připravený dokument aplikace Word.
  3. Najděte nahraný dokument pomocí filtrů v části „Dokumenty“ > „Vše“.
  4. Otevřete konzolu prohlížeče (stiskněte F12).
  5. Přejděte na kartu "Síť" a filtrujte nahraný dokument.
  6. Zkopírujte hodnotu odpovědi po "DMS:"

Příklad cesty:

DMS:_7d5/template-podaciArch.docx.7d5fd45a805c10856ed4b07b9ce9048b.1.1655895144727
  1. Vložte zkopírovanou cestu k souboru do úlohy, kde se má vygenerovat DOCX:
const template = lib.getFileContents('/srv/dms-data/neworigin/storage/_7d5/template-podaciArch.docx.7d5fd45a805c10856ed4b07b9ce9048b.1.1655895144727', 'buffer');
Poznámka: Pokud je nahrána nová verze dokumentu, je nutné tento proces opakovat.

Generování dokumentu DOCX

V rámci konkrétní úlohy, kde bude dokument generován:

  1. Definujte proměnné ve výpočtu:
    const companyName = vars['companyName'].getValue();
    const date = moment(vars['today'].getValue()).format('MMMM D, YYYY');
    const items = vars['itemsDR'].getJSON();
    const itemsDT = JSON.parse(vars['itemsDT'].IVAR_MULTI_SELECTED);
    const internalCaseNr = vars['internalCaseNr'].getValue();
    const typeOfCost = dt.from("001-typeOfCost").get();
  2. Definujte cestu šablony dokumentu:
    const template = lib.getFileContents('/srv/dms-data/neworigin/storage/_7d5/template-podaciArch.docx.7d5fd45a805c10856ed4b07b9ce9048b.1.1655895144727', 'binary');
  3. Vygenerujte dokument pomocí funkce šablony TAS:
    const generated = docx.docxTemplater({
    template,
    data: {
    companyName,
    date,
    items,
    itemsDT,
    internalCaseNr,
    typeOfCost
    }
    });
  4. Uložte vygenerovaný dokument:
    lib.storeAttachment('template_generated.docx', generated, false);

Tento proces vygeneruje dokument na základě šablony a vloží příslušné hodnoty.

Anna Gernát Updated by Anna Gernát

Optimalizace přehledů s velkým počtem případů

Contact

Team assistant (opens in a new tab)

Powered by HelpDocs (opens in a new tab)