Úprava šablon pro export položek do Wordu a PDF
Dostupnost: Export šablon a jejich úprava jsou dostupné od verze eWay-CRM 9.3.
eWay-CRM Online umožňuje upravit šablonu, podle které se exportují položky do Wordu nebo do PDF.
V tomto článku je popsáno, jak si šablonu upravit, jaká jsou základní pravidla a co je potřeba znát.
Popis samotného nahrání šablony pro různé typy položek a jazyky najdete v článku Nastavení > Šablony.
Obsah článku
- Jak to funguje?
- Aktuálně podporované proměnné
- Jak získat název pole?
- Vypsání všech propojených položek
- Tabulky v šabloně
- Vkládání obrázků
- Speciální proměnné
Jak to funguje?
Šablona je DOCX soubor vytvořený ve Wordu. eWay-CRM v něm hledá textové výskyty speciálních zástupných znaků s dolarovými proměnnými, jako jsou ty, které se používají např. v SQL#
zápisech v pokročilých workflow - viz článek Systémové proměnné pro zadávání v akcích.
V praxi to funguje tak, že v šabloně je například následující:
Nabídka č. $CURRENT_ITEM[FileAs]
Při převodu položky do Wordu nebo PDF se ale ve výsledném souboru objeví:
Nabídka č. 20250123
došlo tedy k tomu, že se doplnilo skutečné jméno dané nabídky. Pokud položka z proměnné neexistuje, nebo není hodnota, bude místo $CURRENT_ITEM[FileAs] jen prázdné místo.
Aktuálně podporované proměnné
Pro základní nahrazení v textu jsou nyní podporovány tyto proměnné reprezentující celou položku:
- CURRENT_ITEM
- CURRENT_ITEM_OWNER
- CURRENT_USER
- SUPERIOR_ITEM
- relační vazba ve tvaru Folder_RELATIONTYPE_RELATION_ITEM (viz dále)
Do hranatých závorek za proměnnou se vkládá název pole, tedy například [FileAs]
. Podporované jsou všechny typy polí včetně uživatelských polí, výjimku tvoří pouze pole obrázkové. Při uvedení pole se vždy hledá textová reprezentace, tzn:
- u pole typu relace se bere název navázané položky
- u pole typu zaškrtávací seznam jsou hodnoty spojeny oddělovací čárkou
- u víceřádkového pole (např. Poznámka) se zachovává odřádkování, naopak se nezachovává formátování jako tučný text apod.
Jak získat název pole?
Pro název pole stačí ve vybraném modulu eWay-CRM Online otevřít jakoukoli položku a najet na dané pole. Jeho databázový název se objeví v popisku.
Při vypisování jména pole do šablony vždy dbejte na to, aby byla správně velká a malá písmena, jinak nebude zástupný znak fungovat. Například je tedy třeba psát FileAs, nikoli fileas či Fileas.
Vypsání všech propojených položek
Další speciální proměnná, která se dá použít, je relace určitého typu na daný modul, která má následující obecnou podobu:
Folder_RELATIONTYPE_RELATION_ITEM
kdy Folder zastupuje tabulku (modul), z něhož se propojená položka bere, a RELATIONTYPE je typ vazby. Pro zboží v košíku by tedy vypadal zápis následovně:
$GoodsInCart_GOODSINCART_RELATION_ITEM[Code]
Chování v běžném textu: Pokud se vyskytne tato proměnná v běžném textu, je brána jako jedna statická položka. Vyplněna je první takto svázaná položka s hlavní položkou načtenou z databáze. To se hodí třeba pro vyplnění odběratele projektu apod.
Chování v tabulce: Pokud je relační proměnná použita v tabulce a jsou splněny následující podmínky, je řádek s proměnnou rozmnožen tolikrát, kolik je takto svázaných položek v databázi. Tedy i nulakrát. Přičemž v každém řádku je proměnná naplněna jednou svázanou položkou.
Aby se rozmnožení spustilo, je potřeba splnit tyto podmínky:
Tabulka v šablonovém DOCX má:
- právě jeden řádek a v něm se nachází relační proměnná - tento řádek je rozmnožen (pokud nejsou žádné svázané položky, z tabulky nic nezbyde)
- právě dva řádky a ve druhém se nachází relační proměnná - první řádek je hlavička tabulky a druhý je rozmnožen (pokud nejsou žádné svázané položky, zbyde z tabulky jen hlavička)
Další specifika:
- Tabulky, které obsahují statické proměnné, nejsou rozmnoženy a za každou proměnnou stojí maximálně jedna položka.
- Pokud se v rozmnožovacím řádku vyskytuje i jiná než relační proměnná, je také vyhodnocena.
- Pokud se v rozmnožovacím řádku vyskytuje více relačních proměnných, je jako zdroj rozmnožení brána ta relace, která dodá nejvíce položek. Ostatní relační proměnné jsou použity jako statické položky. Tzn. všechny jejich výskyty pokryje pouze první položka z databáze.
- Relační položky se z databáze načítají seřazeny abecedně vzestupně podle pole FileAs. Výjimku tvoří moduly Položky v dokladu (dle pořadí vzestupně) a moduly Kalendář, Dokumenty, E-maily, Deník a Úkoly, které se načítají podle času vzniku na serveru vzestupně.
Příklad: Tabulka takto uvedená v šabloně
Kód Jméno $GoodsInCart_GOODSINCART_RELATION_ITEM[Code] $GoodsInCart_GOODSINCART_RELATION_ITEM[FileAs]
se nahradí za
Kód Jméno S01 Šroubek M1 M01 Matice M1 SRV Servis
Celý mechanismus nijak nemění formátování dokumentu DOCX. To proto, aby měl tvůrce šablony naprostou kontrolu nad výstupem. Může to ale vytvářet nepěknosti v šablonovém DOCX. Např. pokud je zástupný text $GoodsInCart_GOODSINCART_RELATION_ITEM[Code]
použit v buňce tabulky o hodně malé šířce se zákazem přetekání a zalamování.
Tabulky v šabloně
Proměnné jsou mnohdy dlouhé a často mohou nevhodně roztáhnout sloupce tabulky. Ve výchozím nastavení Word přizpůsobuje tabulku textu. Uživatel ale potřebuje, aby tabulka vypadala například takto:
Když si vytvoříte tabulku a vložíte do ní zástupný znak, sloupec se roztáhne. Když se ale pokusíte sloupec zúžit, protože to potřebujete, nepůjde to. Zástupný znak se nezalamuje. Řešení je jednoduché. Klikněte do tabulky, nahoře přejděte do Rozložení tabulky a tady v Přizpůsobit vyberte Pevná šířka sloupců. Pak už si zúžíte sloupec, jak potřebujete.
Vkládání obrázků
Export podporuje profilové obrázky položek. Jejich vyplnění do šablony se však od předchozího postupu odlišuje.
Uživatel do DOCX šablony vloží obrázek, např. bílou plochu, logo apod., nastaví mu patřičné rozměry a polohu a do alternativního textu vyplní příslušnou proměnnou jako např. $CURRENT_ITEM[ProfilePicture]
. Takový obrázek ve výstupu zachová parametry vč. velikosti, ale vyplní se obrázkem z položky.
Pokud položka neexistuje nebo nemá obrázek, zástupný obrázek se z dokumentu nemaže (kvůli rozpadu layoutu) a zůstane nezměněn.
Export obrázků funguje i na rozmnožované tabulky a relační položky. V každém řádku tabulky poté bude obrázek položky zodpovědné za daný řádek.
Speciální proměnné
Kvůli zachování zpětné kompatibility export podporuje další dvě speciální dolarové proměnné: MY_COMPANY
a SYSTEM_DATA
. Dá se tedy použít symbol $MY_COMPANY[MyCompanyVatNumber]
nebo $SYSTEM_DATA[DefaultCurrency]
. Pro více informací je lepší kontaktovat podporu eWay-CRM.