Účtenky |
#41 |
Po vytvoření šablony pro účtenku si do ní přidáme tři soubory – page.mustache, pageNormal.mustache a pageThin.mustcahe – poslední dvě budou rozlišovat obsah dvou typů účtenky.
page.mustache
Do page.mustache vepíšeme kód, který nám nastaví tisk účtenky.
{ {{@write;binMode:1}}}
{ {{@write;cmd:reset}}}
{ {{@write;codePage:CP852}}}
{ {{@write;cmd:cp852}}}
{ {{@write;cmd:nl}}}
{ {{@write;cmd:nl}}}
{ {#data.printerTypeThin}}{{{&pageThin}}}{{/data.printerTypeThin}}
{ {^data.printerTypeThin}}{{{&pageNormal}}}{{/data.printerTypeThin}}
- binMode:1 zapne binární mód.
- Po zapnutí binárního módu musíme pro vše používat příkaz @write. Pokud napíšeme text bez něj, na účtence se nezobrazí.
- codePage:CP852 a cmd:cp852 přepnout jazyk tisku na češtinu.
- cmd:nl nám vytvoří nový řádek (new line).
- Poslední dva řádky odkážou na další dva soubory, ve kterých odděleně řekneme, co se má na účtenku vytisknout v jakém případě.
Text
Pokud potřebujeme na řádek napsat text, použijeme tento příkaz:
{{{@write;text:...}}}
Za tento text můžeme nechat načíst data. To můžeme použít třeba pro načtení čísla dokladu:
{{{@write;text:Daňový doklad ev.č.}}}
{{{@write;var:data.head.docNumber;width:23;align:right}}}
{{{@write;cmd:nl}}}
\---
## Data
Načítání dat se od předchozích dokladů liší takto:
[[[---code---
{{{@write;var:data.owner.fullName;width:42;align:center}}}
{{{@write;cmd:nl}}}
- Opět musíme použít @write, aby se nám informace vytiskly.
- za //var:// vepíšeme odkaz na data stejně, jako jsme to dělali u šablon jiných dokladů.
- Přidáme údaje width – šířku textu a align – zarovnání textu (left, center, right).
- Za každým údajem použijeme }, aby se nám vytvořil nový řádek.
Smyčky dat
Pokud chceme využít smyčky dat, budeme data nahrávat tímto způsobem:
{{#data.owner_identifiers}}
{{{@write;var:name;width:6;align:right}}}{{{@write;var:value;width:14;align:right}}}
{{/data.owner_identifiers}}
V tomto příkladu vidíme smyčku pro identifikátory. My chceme na účtenku zobrazit jméno. To nemůžeme nahrát předchozím způsobem, jelikož je identifikátorů více.
Zhuštěný text
{{{@write;cmd:condensedOn}}}
...
{{{@write;cmd:condensedOff}}}
Po použití příkazu upravíme šířku (width) u dat, které budeme tisknout (můžeme ji zvětšit). Například takto:
{{{@write;cmd:condensedOn}}}
{{{@write;text:BKP}}}
{{{@write;var:data.ros.bkp;width:53;align:right}}}
{{{@write;cmd:nl}}}
{{{@write;cmd:condensedOff}}}
Zvětšený text
{{{@write;cmd:twiceOn}}}
{{{@write;width:21;align:center;var:data.head.bankAccount}}}
{{{@write;cmd:twiceOff}}}
Po použití příkazu opět upravíme šířku (width) – musíme ji zmenšit (na polovinu).
Konec kódu
Na konec kódu vložíme příkaz pro odříznutí papíru a pro otevření kasy.
{{{@write;cmd:cutPaper}}}
{{{@write;cmd:openCashDrawer}}}