Описание шаблона
Шаблон чека деталей заказа
Шаблон имеет строго определенную,но расширяемую структуру. Шаблон чека описан в формате JSON и имеет обязательные переменные.
Базовая структура шаблона чека:
{
"margin_left": 0,
"margin_right": 10,
"body":[ ]
}
Переменные, отвечающие за отображение данных:
- "margin_left" - Отступ в пикселях от края слева;
- "margin_right" - Отступ в пикселях от края справа;
- "alignment" - выравнивание текста. 0 - по левому краю, 1 - по центру, 2 - по правому краю;
- "interval" - Интервал между текущим и следующим блоком;
- заполнение пробелами (" "); - заполнение прочерками ("-"); - заполнение знаком ("_"); - заполнение знаком равенства ("="); - заполнение знаком плюс ("+"); - заполнение знаком звёздочка ("*").
Далее структура шаблона имеет следующие разделы:
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
}