Описание шаблона

Шаблон чека деталей заказа

Шаблон имеет строго определенную,но расширяемую структуру. Шаблон чека описан в формате JSON и имеет обязательные переменные.

Пример чека деталей заказа

Базовая структура шаблона чека:

{
  "margin_left": 0, 
  "margin_right": 10,

  "body":[  ]
}
Переменные, отвечающие за отображение данных:
  • "margin_left" - Отступ в пикселях от края слева;
  • "margin_right" - Отступ в пикселях от края справа;
  • "alignment" - выравнивание текста. 0 - по левому краю, 1 - по центру, 2 - по правому краю;
  • "interval" - Интервал между текущим и следующим блоком;
  • <SF> - заполнение пробелами (" ");
  • <DF> - заполнение прочерками ("-");
  • <UF> - заполнение знаком ("_");
  • <EF> - заполнение знаком равенства ("=");
  • <PF> - заполнение знаком плюс ("+");
  • <AF> - заполнение знаком звёздочка ("*").

Далее структура шаблона имеет следующие разделы:

1. body - Тело шаблона чека.

Может содержать информацию о заказе, получателе, адресе доставки, курьере, дате доставки.

"body": [
    {
      "text": "ЗАКАЗ",
      "font": "Lucida Console, 10pt",
      "interval": 3,
      "alignment": 1
    },
    {
      "text": "<DF>",
      "font": "Lucida Console, 8pt",
      "interval": 3,
      "alignment": 1
    },
    {
      "text": "Код: <doc.code>",
      "font": "Lucida Console, 12pt, style=bold",
      "interval": 3,
      "alignment": 1
    },
    {
      "text": "<DF>",
      "font": "Lucida Console, 8pt",
      "interval": 3,
      "alignment": 0
    },
    {
      "text": "Покупатель: <doc.customer_full_name>",
      "font": "Lucida Console, 8pt",
      "interval": 10,
      "alignment": 0
    },
      "text": "<doc.location>",
      "barcode_height": 400,
      "barcode_module": 8,
      "barcode_show_text": false,
      "barcode_type": 3,
      "interval": 30,
      "alignment": 1
    }
    ]

В разделе доступны для использования следующие переменные:

  • doc.code - Код документа
  • doc.date - Дата регистрации чека
  • doc.time - Время регистрации чека
  • doc.delivery_date - Дата доставки
  • doc.delivery_time - Время доставки
  • doc.customer_full_name - ФИО получателя
  • doc.retail_card_barcode_value - Штрих-код карты покупателя
  • doc.phone - Телефон покупателя
  • doc.address - Адрес получателя
  • doc.description - Примечание
  • doc.from_name - Источник заказа
  • doc.courier_name - ФИО курьера
  • doc.location - Локация доставки

Если текстовый блок в данном разделе включает в себя следующие теги, то текстовое содержимое блока шифруется в указанный тип штрих-кода и отображается в блоке:

  • "barcode_height":50 - Высота штрих-кода в пикселях
  • "barcode_module":2 - Размер штрих-кода, коэффициент масштабирования. Минимальное значение 1.
  • "barcode_show_text":(true, false) - Отображать текст под штрих-кодом
  • "barcode_type":1 - Тип штрих-кода. 1 - Code128, 2 - EAN13, 3 - QRCode

Пример:

{
      "font": "Lucida Console, 8pt",
      "text": "<doc.location>",
      "barcode_height": 400,
      "barcode_module": 8,
      "barcode_show_text": false,
      "barcode_type": 3,
      "interval": 30,
      "alignment": 1
    }

Пример чека деталей заказа