Описание шаблона
Шаблон чека закрытия смены
Шаблон имеет строго определенную,но расширяемую структуру. Шаблон чека описан в формате JSON и имеет обязательные переменные.
Базовая структура шаблона чека:
{
"margin_left": 0,
"margin_right": 10,
"header":[ ],
"sale_totals":[ ],
"payment_sale":[ ],
"payment_sale_totals":[ ],
"return_totals":[ ],
"payment_return":[ ],
"payment_return_totals":[ ],
"cash_totals":[ ],
"footer":[ ]
}
Переменные, отвечающие за отображение данных:
- "margin_left" - Отступ в пикселях от края слева;
- "margin_right" - Отступ в пикселях от края справа;
- "alignment" - выравнивание текста. 0 - по левому краю, 1 - по центру, 2 - по правому краю;
- заполнение пробелами (" "); - заполнение прочерками ("-"); - заполнение знаком ("_"); - заполнение знаком равенства ("="); - заполнение знаком плюс ("+"); - заполнение знаком звёздочка ("*").
Структура шаблона имеет следующие разделы:
1. header - Заголовок шаблона чека.
Содержит информацию о кассе, дате открытия и закрытия смены, сумме средств в кассе на момент открытия и закрытия, имя пользователя открывшего и закрывшего смену.
"header":[
{
"text" : "ОТЧЁТ ЗА СМЕНУ",
"font" : "Lucida Console, 8pt, style=bold",
"interval" : 3,
"alignment": 1
},
{
"text" : "#<session.code>",
"font" : "Lucida Console, 8pt, style=bold",
"interval" : 3,
"alignment": 1
},
{
"text" : "КАССА:<SF>#<session.operating_cash>",
"font" : "Lucida Console, 8pt",
"interval" : -3,
"alignment": 1
},
]
В разделе доступны для использования следующие переменные:
- session.code - Код смены
- session.operating_cash -
- session.start_datetime - Дата и время начала кассовой смены
- session.start_user_name - Пользователь, открывший кассовую смену
- session.close_datetime - Дата и время закрытия кассовой смены
- session.close_user_name - Пользователь, закрывший кассовую смену
Если текстовый блок в разделе включает в себя следующие теги, то текстовое содержимое блока игнорируется и в блоке отображается указанное изображение:
- "img_src":"\Cheque\regos.png" - Адрес изображения
- "img_width":180 - ширина изображения в пикселях
- "img_height":180 - высота изображения в пикселях
Пример:
{
"text" : "",
"font" : "",
"interval" : 30,
"alignment": 1,
"img_src":"\\Cheque\\regos.png",
"img_width":180,
"img_height":180
},
2. sale_totals - Итоги продаж.
Содержит информацию об итогах продаж, количество продаж и единиц номенклатуры.
"sale_totals":[
{
"text" : "КОЛ-ВО ПРОДАЖ:<SF><sale.closed.counter>",
"font" : "Lucida Console, 8pt",
"interval" : 2,
"alignment": 0
},
{
"text" : "КОЛ-ВО ПРОД. ПОЗ.:<SF><sale.position.counter>",
"font" : "Lucida Console, 8pt",
"interval" : 2,
"alignment": 0
},
{
"text" : "КОЛ-ВО ПРОД. ЕД-Ц.:<SF><sale.units.counter>",
"font" : "Lucida Console, 8pt",
"interval" : 2,
"alignment": 0
},
]
В разделе доступны для использования следующие переменные:
- sale.closed.counter - Количество продаж за смену
- sale.position.counter - Количество проданных позиций за смену
- sale.units.counter - Количество проданных единиц номенклатуры за смену
- sale.canceled.counter - Количество аннулированных продаж за смену
3. payment_sale - Платежи за смену.
Содержит информацию о платежах за смену.
"payment_sale":[
{
"text" : "<payment.name><SF>=<payment.amount>",
"font" : "Lucida Console, 8pt",
"interval" : 2,
"alignment": 0
}
]
В разделе доступны для использования следующие переменные:
- payment.name - Наименование платежа
- payment.amount - Значение суммы платежа
4. payment_sale_totals - Итоги платежей.
Содержит информацию об итогах платежей за смену.
"payment_sale_totals":[
{
"text" : "ИТОГО<SF>=<payment.totals>",
"font" : "Lucida Console, 8pt, style=bold",
"interval" : 3,
"alignment": 1
}
],
В разделе доступны для использования следующие переменные:
- payment.totals - Значение итоговой суммы платежей за смену
5. return_totals - Итоги возвратов.
Содержит информацию об итогах возвратов за смену.
"return_totals":[
{
"text" : "КОЛ-ВО ВОЗВРАТОВ:<SF><sale.closed.counter>",
"font" : "Lucida Console, 8pt",
"interval" : 2,
"alignment": 0
},
{
"text" : "КОЛ-ВО ВОЗВР. ПОЗ.:<SF><sale.position.counter>",
"font" : "Lucida Console, 8pt",
"interval" : 2,
"alignment": 0
},
{
"text" : "КОЛ-ВО ВОЗВР. ЕД-Ц.:<SF><sale.units.counter>",
"font" : "Lucida Console, 8pt",
"interval" : 2,
"alignment": 0
}
],
В разделе доступны для использования следующие переменные:
- sale.closed.counter - Количество возвратов за смену
- sale.position.counter - Количество возвращенных позиций за смену
- sale.units.counter - Количество возвращенных единиц номенклатуры за смену
- sale.canceled.counter - Количество аннулированных возвратов за смену
6. payment_return - Платежи по возвратам.
Содержит информацию о платежах по возвратам за смену.
"payment_return":[
{
"text" : "<payment.name><SF>=<payment.amount>",
"font" : "Lucida Console, 8pt",
"interval" : 2,
"alignment": 0
}
],
В разделе доступны для использования следующие переменные:
- payment.name - Наименование платежа за возврат
- payment.amount - Значение суммы платежа за возврат
7. payment_return_totals - Итоги платежей по возвратам.
Содержит информацию об итогах платежей по возвратам за смену.
"payment_return_totals":[
{
"text" : "<EF>",
"font" : "Lucida Console, 8pt",
"interval" : 3,
"alignment": 1
},
{
"text" : "ИТОГО<SF>=<payment.totals>",
"font" : "Lucida Console, 8pt, style=bold",
"interval" : 3,
"alignment": 1
},
{
"text" : "<EF>",
"font" : "Lucida Console, 8pt",
"interval" : 3,
"alignment": 1
}
],
В разделе доступны для использования следующие переменные:
- payment.totals - Значение итоговой суммы платежей за возвраты за смену
8. cash_totals - Итоги внесения и изъятия.
Содержит информацию об итогах внесения и изъятия денежных средств за смену.
"cash_totals":[
{
"text" : "НА ОТКРЫТИЕ<SF>=<cash.start_amount>",
"font" : "Lucida Console, 8pt",
"interval" : 2,
"alignment": 0
},
{
"text" : "ВНЕСЕНИЯ<SF>=<cash.income>",
"font" : "Lucida Console, 8pt",
"interval" : 2,
"alignment": 0
},
{
"text" : "ВНЕСЕНИЯ(продажа)<SF>=<cash.income.sale>",
"font" : "Lucida Console, 8pt",
"interval" : 2,
"alignment": 0
},
],
В разделе доступны для использования следующие переменные:
- cash.start_amount - Значение суммы средств на открытие смены
- cash.income - Значение суммы внесения средств за смену
- cash.income.sale - Значение суммы внесения средств за продажи за смену
- cash.income.change - Значение суммы внесения средств за продажи за смену
- cash.outcome -
- cash.outcome.return -
- cash.outcome.change -
- cash.close_amount -
9. footer - Нижняя часть шаблона чека.
Содержит дополнительную информацию.
"footer":[
{
"text" : " ",
"font" : "Lucida Console, 10pt, style=bold",
"interval" : 3,
"alignment": 1
}
]
В разделе доступны для использования те же переменные, что и в блоке header.