Show / Hide Table of Contents

Tlač nefiskálnych dokladov

Aplikácia Nine Digit eKasa umožňuje aj tlač nefiskálnych dokladov obsahujúce texty tvorené nadradenou aplikáciou. Tieto doklady sú, ako každý iný tlačový výstup, ukladané v chránenom dátovom úložisku.

Vytlačenie nefiskálneho dokladu

  • HTTP WEB API
  • Knižnica

V prípade použitia HTTP WEB API pošlite POST požiadavku na URL {{server_address}}/api/v1/printers/print.

Príklad tela správy:

{
  "text" : "toto je riadok číslo 1\ntoto je riadok číslo 2.",
  "contentFlags": []
}

V prípade, ak si želáte, aby tlačový výstup začínal identifikačnými údajmi podnikateľa (informácie o názve a sídle spoločnosti, IČO, DIČ, ...), uveďte aj pole cashRegisterCode s hodnotou kódu pokladnice.

{
  "text" : "toto je riadok číslo 1\ntoto je riadok číslo 2.",
  "cashRegisterCode" : "88812345678900001",
  "contentFlags": []
}

V prípade knižnice použite funkciu client.PrintTextAsync(TextPrintContext, CancellationToken).

string text = "Hello, world!";

if (!ReceiptText.IsValid(text))
{
    throw new InvalidOperationException("We have used some forbidden characters in our text output!");
}

ReceiptText receiptText = new ReceiptText(text);

TextPrintContext context = new TextPrintContext(
    receiptText, NonfiscalReceiptContentFlags.None);

Task task = this.client.PrintTextAsync(context, CancellationToken.None);

Indikácia obsahu nefiskálneho dokladu

Od verzie 8 je pri tlači nefiskálneho dokladu potrebné vlastnosťou ContentFlags indikovať, či text obsahuje informáciu o cene tovaru alebo cene služby. Ak je tento príznak nastavený, na doklade sa zobrazí text „NEPLATNÝ DOKLAD“ v každom treťom riadku, pre splnenie §5 ods. 3 písm. t) zákona o evidencii tržieb.

Príklady použitia vlastnosti contentFlags

  • HTTP WEB API
  • Knižnica

Príklady API volania POST api/v1/printers/print:

Tlač textu obsahujúceho informáciu o cene tovaru alebo cene služby musí byť sprevádzaná vyplnením vlastnosti contentFlags s uvedenou hodnotou priceInformation.

{
  "text" : "Suma za tovar alebo službu je 12,34 EUR.",
  "cashRegisterCode" : "88812345678900001",
  "contentFlags": [ "priceInformation" ]
}

Pri tlači textu neobsahujúceho informáciu o cene tovaru alebo cene služby je vlastnosť contentFlags nastavená na hodnotu prázdneho zoznamu.

{
  "text" : "Tento nefiskálny doklad neobsahuje informáciu o cene tovaru alebo cene služby.",
  "cashRegisterCode" : "88812345678900001",
  "contentFlags": []
}

V prípade, ak nebude vlastnosť contentFlags uvedená, alebo bude nastavená na hodnotu null, aplikácia vytlači text „NEPLATNÝ DOKLAD“ v každom treťom riadku.

Tlač textu obsahujúceho informáciu o cene tovaru alebo cene služby:

ReceiptText receiptText = new ReceiptText(
    "Suma za tovar alebo službu je 12,34 EUR.");

TextPrintContext context = new TextPrintContext(
    receiptText, NonfiscalReceiptContentFlags.PriceInformation);

this.client.PrintTextAsync(context, CancellationToken.None);

Tlač textu neobsahujúceho informáciu o cene tovaru alebo cene služby:

ReceiptText receiptText = new ReceiptText(
    "Tento nefiskálny doklad neobsahuje informáciu " + 
    "o cene tovaru alebo cene služby.");

TextPrintContext context = new TextPrintContext(
    receiptText, NonfiscalReceiptContentFlags.None);

this.client.PrintTextAsync(context, CancellationToken.None);

Formátovanie nefiskálneho dokladu

Aplikácia v nastavení preberá počet znakov na riadok dokladu, vďaka čomu je schopná zalamovať text presahujúci maximálnu dĺžku riadku tak, aby zlom nenastával v strede slova.

Aplikácia sa inteligentne snaží aktívne vyhľadávať správne miesta v rámci textu, aby bol odstránený takýto neželaný efekt, ktorý je pri POS tlačiarniach bežný.

Samotný obsah nefiskálneho dokladu môže obsahovať aj formátovaný text, QR kódy alebo čiarové kódy. Tie do dokladu vkladáme pomocou takzvaných token-ov.

Viac nájdete v článku Tokeny a formátovanie textu

In This Article
Na začiatok stránky Nine Digit, s.r.o. ©