Шаблоны печати чеков: различия между версиями
Merkulov (обсуждение | вклад) |
Merkulov (обсуждение | вклад) |
||
(не показаны 73 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
[[Файл:Раздел Шаблоны печати.png|thumb| | [[Файл:Раздел Шаблоны печати.png|thumb|650px|'''Подраздел Шаблоны печати''']] | ||
__TOC__ | |||
'''Печатные формы''' - это механизм редактирования шаблонов, который позволяет централизованно конструировать/редактировать/обновлять печатные формы документов, используемые на РМК кассиром.<br> Шаблоны предназначены для печати на ККТ средствами не фискальной печати. | '''Печатные формы''' - это механизм редактирования шаблонов, который позволяет централизованно конструировать/редактировать/обновлять печатные формы документов, используемые на РМК кассиром.<br> Шаблоны предназначены для печати на ККТ средствами не фискальной печати. | ||
Строка 31: | Строка 31: | ||
= Создание шаблона = | = Создание шаблона = | ||
[[Файл:Шаблон печатной формы Чек.png|thumb| | [[Файл:Шаблон печатной формы Чек.png|thumb|650px|'''Шаблон печатной формы для фискальных чеков''']] | ||
[[Файл:Шаблон печати документ списание (Пример).png|thumb| | [[Файл:Шаблон печати документ списание (Пример).png|thumb|650px|'''Шаблон печатной формы для документов учета''']] | ||
Для создания шаблона совершите следующие действия: | Для создания шаблона совершите следующие действия: | ||
Строка 52: | Строка 52: | ||
<br clear="all"/> | <br clear="all"/> | ||
= | = Список поддерживаемых касс (Android) = | ||
{| class="wikitable" | |||
|- | |||
! САЛЮТ 12Ф !! АТОЛ !! MSPOS !! НЕВА/ПЕЙМОБ !! ШТРИХ-М !! МЕРКУРИЙ | |||
|- | |||
| | |||
✅Печать изображения<br> | |||
✅Печать шрифтов разного размера<br> | |||
✅Жирный шрифт<br> | |||
✅Курсивный шрифт<br> | |||
✅Подчеркнутый<br> | |||
✅Центрирование<br> | |||
✅Штрихкод<br> | |||
✅QR-code | |||
| | |||
❌Печать изображения<br> | |||
✅Печать шрифтов разного размера<br> | |||
❌Жирный шрифт<br> | |||
❌Курсивный шрифт<br> | |||
❌Подчеркнутый<br> | |||
✅Центрирование<br> | |||
✅Штрихкод<br> | |||
✅QR-code | |||
| | |||
✅Печать изображения (только формат картинки jpg)<br> | |||
✅Печать шрифтов разного размера<br> | |||
❌Жирный шрифт<br> | |||
❌Курсивный шрифт<br> | |||
❌Подчеркнутый<br> | |||
✅Центрирование<br> | |||
✅Штрихкод<br> | |||
✅QR-code | |||
| | |||
❌Печать изображения<br> | |||
✅Печать шрифтов разного размера<br> | |||
✅Жирный шрифт<br> | |||
❌Курсивный шрифт<br> | |||
❌Подчеркнутый<br> | |||
✅Центрирование<br> | |||
✅Штрихкод<br> | |||
❌QR-code | |||
| | |||
❌Печать изображения<br> | |||
❌Печать шрифтов разного размера<br> | |||
❌Жирный шрифт<br> | |||
❌Курсивный шрифт<br> | |||
❌Подчеркнутый<br> | |||
✅Центрирование<br> | |||
✅Штрихкод<br> | |||
✅QR-code | |||
| | |||
❌Печать изображения<br> | |||
❌Печать шрифтов разного размера<br> | |||
❌Жирный шрифт<br> | |||
❌Курсивный шрифт<br> | |||
❌Подчеркнутый<br> | |||
✅Центрирование<br> | |||
❌Штрихкод<br> | |||
✅QR-code | |||
|} | |||
= Список поддерживаемых касс (Desktop) = | |||
{| class="wikitable" | |||
|- | |||
! АТОЛ !! МЕРКУРИЙ !! ШТРИХ-М !! ДРИМКАСС | |||
|- | |||
| | |||
❌Печать изображения<br> | |||
✅Печать шрифтов разного размера<br> | |||
❌Жирный шрифт<br> | |||
❌Курсивный шрифт<br> | |||
❌Подчеркнутый<br> | |||
✅Центрирование<br> | |||
✅Штрихкод<br> | |||
✅QR-code | |||
| | |||
❌Печать изображения<br> | |||
❌Печать шрифтов разного размера<br> | |||
❌Жирный шрифт<br> | |||
❌Курсивный шрифт<br> | |||
❌Подчеркнутый<br> | |||
✅Центрирование<br> | |||
✅Штрихкод<br> | |||
❌QR-code | |||
| | |||
❌Печать изображения<br> | |||
❌Печать шрифтов разного размера<br> | |||
❌Жирный шрифт<br> | |||
❌Курсивный шрифт<br> | |||
❌Подчеркнутый<br> | |||
✅Центрирование<br> | |||
✅Штрихкод<br> | |||
✅QR-code | |||
| | |||
❌Печать изображения<br> | |||
❌Печать шрифтов разного размера<br> | |||
❌Жирный шрифт<br> | |||
❌Курсивный шрифт<br> | |||
❌Подчеркнутый<br> | |||
✅Центрирование<br> | |||
✅Штрихкод<br> | |||
✅QR-code | |||
|} | |||
= Пример создания шаблона = | |||
При создании шаблона печати необходимо использовать следующие параметры: | При создании шаблона печати необходимо использовать следующие параметры: | ||
{| class="wikitable" style="background:#FFF5EE;" | {| class="wikitable" style="background:#FFF5EE;" | ||
|+ Параметры для | |+ Параметры для редактирования текста | ||
|- | |- | ||
! Описание !! Параметр | ! Описание !! Параметр | ||
|- | |- | ||
|colspan="2" style="text-align: center; background:#E0FFFF;" | |widht="45%" colspan="2" style="text-align: center; background:#E0FFFF;" | '''Методы печати данных''' | ||
|- | |- | ||
|Параметр для | |Параметр для написания текста.<br> | ||
'''Пример''': text('Строка по центру', 'CENTER') | |||
Возможные значения второго аргумента: | |||
* LEFT | * LEFT | ||
* CENTER | * CENTER | ||
* RIGHT | * RIGHT | ||
|style="text-align: center;"|'''text''' | |style="text-align: center;"|'''text('текст')''' | ||
|- | |||
| Написание текста в одну строчку установите символ между параметрами или между текстом и параметром | |||
'''Пример''': text('Организация:'+ organization.name) | |||
|style="text-align: center;"| '''+''' | |||
|- | |||
| При использовании обычного текста необходимо обозначить его, для этого используйте данный символ. | |||
'''Важно!''': | |||
* Символ необходимо указывать в начале и в конце текста | |||
* При указании параметров данный символ не используется | |||
* Текст указанный без данных символов не будет напечатан в чеке | |||
'''Пример''': text('Организация:',organization.name) | |||
|style="text-align: center;"| ' | |||
|- | |- | ||
| Вывод даты/времени. Форматирует строку с датой при помощи формата, заданного выше<br> | | Вывод даты/времени. Форматирует строку с датой при помощи формата, заданного выше<br> | ||
'''Пример''': | '''Пример''': text(formatDate(document.documentDate)) | ||
|style="text-align: center;"| '''formatDate(document.documentDate)''' | |style="text-align: center;"| '''formatDate(document.documentDate)''' | ||
|- | |- | ||
| Выравнивание текста слева-справа. <br> | | Выравнивание текста слева-справа. <br> | ||
('Строка слева' | '''Пример''':lr('Строка слева', 'Строка справа') | ||
|style="text-align: center;"| '''lr''' | |style="text-align: center;"| '''lr''' | ||
|- | |- | ||
| Положение изображения на чеке (слева, по центру, справа). ('Имя изображения') | | Положение изображения на чеке (слева, по центру, справа).<br> | ||
'''Пример''':image('Имя изображения') | |||
Возможные значения второго аргумента: | |||
* LEFT | * LEFT | ||
* CENTER | * CENTER | ||
Строка 91: | Строка 208: | ||
|style="text-align: center;"| '''image''' | |style="text-align: center;"| '''image''' | ||
|- | |- | ||
| Штрихкод в формате ean8. ('12345678', 'CENTER') | | Штрихкод в формате ean8. | ||
'''Пример''':ean8('12345678', 'CENTER') | |||
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER') | |||
* LEFT | * LEFT | ||
* CENTER | * CENTER | ||
Строка 97: | Строка 216: | ||
|style="text-align: center;"| '''ean8''' | |style="text-align: center;"| '''ean8''' | ||
|- | |- | ||
|Штрихкод в формате ean13. ('1234567891011', 'CENTER') | |Штрихкод в формате ean13. | ||
'''Пример''':ean13('1234567891011', 'CENTER') | |||
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER') | Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER') | ||
* LEFT | * LEFT | ||
Строка 104: | Строка 224: | ||
|style="text-align: center;"|'''ean13''' | |style="text-align: center;"|'''ean13''' | ||
|- | |- | ||
|Штрихкод в формате code128. ('123456', 'CENTER') | |Штрихкод в формате code128. | ||
'''Пример''':code128('123456', 'CENTER') | |||
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER') | Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER') | ||
* LEFT | * LEFT | ||
Строка 111: | Строка 232: | ||
|style="text-align: center;"|'''code128''' | |style="text-align: center;"|'''code128''' | ||
|- | |- | ||
|Штрихкод в формате qrCode. ('12345678', 'CENTER') | |Штрихкод в формате qrCode. | ||
'''Пример''':qrCode('12345678', 'CENTER') | |||
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER') | Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER') | ||
* LEFT | * LEFT | ||
Строка 118: | Строка 240: | ||
|style="text-align: center;"|'''qrCode''' | |style="text-align: center;"|'''qrCode''' | ||
|- | |- | ||
| Печать пустой строки () | | Печать пустой строки. | ||
'''Пример''':feed() | |||
|style="text-align: center;"| '''feed''' | |style="text-align: center;"| '''feed''' | ||
|- | |- | ||
| Повторить символ на всю ширину строки ( | | Повторить символ на всю ширину строки | ||
'''Пример''':repeat(_) | |||
|style="text-align: center;"| '''repeat''' | |style="text-align: center;"| '''repeat''' | ||
|- | |- | ||
Строка 127: | Строка 251: | ||
|style="text-align: center;"| '''for(let item of items) { }''' | |style="text-align: center;"| '''for(let item of items) { }''' | ||
|- | |- | ||
| Форматирует список характеристик номенклатуры, перечисляя их через запятую,<br> если характеристик у товара не предусмотрено или список характеристик пустой, то автоматически ставится прочерк | | Форматирует список характеристик номенклатуры, перечисляя их через запятую,<br> если характеристик у товара не предусмотрено или список характеристик пустой, то автоматически ставится прочерк | ||
'''Пример''': for(let item of items) {text(formatFeatures(item.nomenclatureFeatures))} | |||
|style="text-align: center;"| '''formatFeatures(item.nomenclatureFeatures)''' | |style="text-align: center;"| '''formatFeatures(item.nomenclatureFeatures)''' | ||
|- | |- | ||
| Форматирует цену, добавляя знак рубля в конце, отсекая десятые доли копеек.<br> Если цена, переданная как аргумент в данный метод, не установлена у данного товара, то автоматически ставится прочерк <br> | | Форматирует цену, добавляя знак рубля в конце, отсекая десятые доли копеек.<br> Если цена, переданная как аргумент в данный метод, не установлена у данного товара, то автоматически ставится прочерк <br> | ||
'''Пример''': | '''Пример''': for(let item of items) {left (formatPrice(item.purchasePrice))} | ||
|style="text-align: center;"| '''formatPrice(item.purchasePrice)''' | |style="text-align: center;"| '''formatPrice(item.purchasePrice)''' | ||
|- | |||
| Форматирует единицу измерения<br> | |||
'''Пример''': for(let item of items) {left (formatQuantity(item.quantity, item.unitCode))} | |||
|style="text-align: center;"| '''formatQuantity(item.quantity, item.unitCode)''' | |||
|- | |- | ||
|colspan="2" style="text-align: center; background:#E0FFFF;"| '''Команды для изменения стиля текста''' | |colspan="2" style="text-align: center; background:#E0FFFF;"| '''Команды для изменения стиля текста''' | ||
|- | |- | ||
| Выравнивание последующего текста. Возможные значения второго аргумента (по-умолчанию LEFT): | | Выравнивание последующего текста. | ||
'''Пример''': setAlignment('CENTER') | |||
Возможные значения второго аргумента (по-умолчанию LEFT): | |||
* LEFT | * LEFT | ||
* CENTER | * CENTER | ||
Строка 144: | Строка 273: | ||
|style="text-align: center;"| '''setAlignment('CENTER')''' | |style="text-align: center;"| '''setAlignment('CENTER')''' | ||
|- | |- | ||
| Изменение стиля шрифта. Меняет стиль шрифта, по-умолчанию NORMAL | | Изменение стиля шрифта. | ||
'''Пример''': setStyle('NORMAL') | |||
Меняет стиль шрифта, по-умолчанию NORMAL, возможные значения: | |||
* 'NORMAL' (обычный) | * 'NORMAL' (обычный) | ||
* 'BOLD' (жирный) | * 'BOLD' (жирный) | ||
Строка 152: | Строка 282: | ||
|style="text-align: center;"| '''setStyle('NORMAL')''' | |style="text-align: center;"| '''setStyle('NORMAL')''' | ||
|- | |- | ||
| Изменение размера текста. Меняет размер текста, по-умолчанию MEDIUM | | Изменение размера текста. | ||
'''Пример''': setSize('MEDIUM') | |||
Меняет размер текста, по-умолчанию MEDIUM, возможные значения: | |||
* 'SMALL' | * 'SMALL' | ||
* 'MEDIUM' | * 'MEDIUM' | ||
Строка 160: | Строка 291: | ||
|style="text-align: center;"| '''setSize('MEDIUM')''' | |style="text-align: center;"| '''setSize('MEDIUM')''' | ||
|- | |- | ||
| Формат вывода даты. Задает формат вывода даты (формат по-умолчанию: dd-MM-yyyy). Перечень форматов <b>[https://date-fns.org/v2.16.1/docs/format Форматы дат]</b>. | | Формат вывода даты. | ||
Задает формат вывода даты (формат по-умолчанию: dd-MM-yyyy). | |||
Перечень форматов <b>[https://date-fns.org/v2.16.1/docs/format Форматы дат]</b>. | |||
|style="text-align: center;"| '''setDateFormat('dd.MM.yyyy')''' | |style="text-align: center;"| '''setDateFormat('dd.MM.yyyy')''' | ||
|- | |- | ||
| Сброс стиля текста до исходных значений. Команда сброса стиля текста до исходных значений (LEFT, NORMAL, MEDIUM, формат даты: dd-MM-yyyy) | | Сброс стиля текста до исходных значений. | ||
|style="text-align: center;"| '''reset()''' | Команда сброса стиля текста до исходных значений (LEFT, NORMAL, MEDIUM, формат даты: dd-MM-yyyy) | ||
|style="text-align: center;"<ref></ref> | '''reset()''' | |||
|} | |} | ||
Строка 170: | Строка 304: | ||
{| class="wikitable" style="background:#FFF5EE;" | {| class="wikitable" style="background:#FFF5EE;" | ||
|+ Параметры | |+ Параметры данных | ||
|- | |- | ||
! Описание !! Параметр | ! Описание !! Параметр | ||
|- | |- | ||
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Пользователь (сущность user)'' | |colspan="2" style="text-align: center; background:#E0FFFF;"| ''Пользователь (сущность user)'' | ||
Строка 187: | Строка 317: | ||
|- | |- | ||
| Отчество кассира | | Отчество кассира | ||
|style="text-align: center;"| '''user. | |style="text-align: center;"| '''user.patronymic''' | ||
|- | |- | ||
| Должность продавца | | Должность продавца | ||
Строка 234: | Строка 364: | ||
|style="text-align: center;"| '''document.description''' | |style="text-align: center;"| '''document.description''' | ||
|- | |- | ||
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Позиции документа (сущность items)'' доступ к отдельной позиции только через цикл for(let item of items) { } | |||
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Позиции документа (сущность items)'' доступ к отдельной позиции только через цикл for(let item of items) | |||
|- | |- | ||
| Вывод характеристик позиции | | Вывод характеристик позиции | ||
Строка 259: | Строка 386: | ||
| Сумма позиции | | Сумма позиции | ||
|style="text-align: center;"| '''formatPrice(item.amount)''' | |style="text-align: center;"| '''formatPrice(item.amount)''' | ||
|- | |- | ||
| Сумма позиции для учетных документов | | Сумма позиции для учетных документов | ||
|style="text-align: center;"| '''formatPrice(item.sellingPrice)''' | |style="text-align: center;"| '''formatPrice(item.sellingPrice)''' | ||
|- | |||
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Для документа '''ОПРИХОДОВАНИЕ''''' | |||
|- | |- | ||
| Сумма НДС для акта "Оприходования" | | Сумма НДС для акта "Оприходования" | ||
|style="text-align: center;"| '''formatPrice(item.vatAmount)''' | |style="text-align: center;"| '''formatPrice(item.vatAmount)''' | ||
|- | |- | ||
|colspan="2" style="text-align: center; background:#E0FFFF;"| '' | | Название НДС позиции | ||
|style="text-align: center;"| '''item.vat''' | |||
|- | |||
| Итого Сумма закупки по всем товарам | |||
|style="text-align: center;"| '''document.totalPurchaseAmount''' | |||
|- | |||
| Итого Сумма продажи по всем товарам | |||
|style="text-align: center;"| '''document.totalSellingAmount''' | |||
|- | |||
| Информация о контрагенте | |||
|style="text-align: center;"| '''document.contractor.shortName''' - ФИО контрагента<br> | |||
'''document.contractor.inn''' - ИНН контрагента<br> | |||
'''document.contractor.address''' - Адрес контрагента | |||
|- | |||
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Для документа '''ПЕРЕМЕЩЕНИЕ''''' | |||
|- | |||
| Количество принятого товара (Для акта "Перемещения") | |||
|style="text-align: center;"| '''item.acceptedQuantity''' | |||
|- | |||
| ФИО сотрудника принявшего перемещение товара | |||
|style="text-align: center;"| '''document.acceptedPerson''' | |||
|- | |||
| ТО Отправитель (Для акта "Перемещения") | |||
|style="text-align: center;"| '''tradeObjectFrom.address''' | |||
|- | |||
| ТО Получатель (Для акта "Перемещения") | |||
|style="text-align: center;"| '''tradeObjectTo.address''' | |||
|- | |||
| Итого Сумма закупки по всем товарам | |||
|style="text-align: center;"| '''document.totalPurchaseAmount''' | |||
|- | |||
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Для документа '''ИНВЕНТАРИЗАЦИЯ''''' | |||
|- | |- | ||
| Остаток товара | | Остаток товара | ||
Строка 277: | Строка 434: | ||
|style="text-align: center;"| '''item.actualBalance''' | |style="text-align: center;"| '''item.actualBalance''' | ||
|- | |- | ||
| Разница остатков | | Разница остатков (шт.) | ||
|style="text-align: center;"| '''item.variance''' | |style="text-align: center;"| '''item.variance''' | ||
|- | |- | ||
| Разница остатков | | Разница остатков | ||
|style="text-align: center;"| '''formatPrice(item.varianceAmount)''' | |style="text-align: center;"| '''formatPrice(item.varianceAmount)''' | ||
|- | |||
| Недостача по товарам (в рублях) | |||
|style="text-align: center;"| '''document.totalShortageAmount''' | |||
|- | |||
| Избыток по товарам (в рублях) | |||
|style="text-align: center;"| '''formatPrice(item.varianceAmount)''' | |||
|- | |||
| Цена продажи позиции (в ТО) | |||
|style="text-align: center;"| '''item.sellingPrice''' | |||
|- | |||
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Для документа '''СПИСАНИЕ''''' | |||
|- | |||
| Итого Сумма закупки по всем товарам | |||
|style="text-align: center;"| '''document.totalPurchaseAmount''' | |||
|- | |||
| Итого Сумма продажи по всем товарам | |||
|style="text-align: center;"| '''document.totalSellingAmount''' | |||
|- | |||
| Информация о контрагенте | |||
|style="text-align: center;"| '''document.contractor.shortName''' - ФИО контрагента<br> | |||
'''document.contractor.inn''' - ИНН контрагента<br> | |||
'''document.contractor.address''' - Адрес контрагента | |||
|- | |||
| Информация о статье списания | |||
|style="text-align: center;"| '''document.writeOffArticle.name''' - Наименование статьи списания<br> | |||
'''document.writeOffArticle.articleNumber''' - Номер статьи списания | |||
|- | |||
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Для документа '''ЗАКАЗ НА ЗАКУПКУ''''' | |||
|- | |||
| Итого Сумма закупки по всем товарам | |||
|style="text-align: center;"| '''document.totalPurchaseAmount''' | |||
|} | |} | ||
Строка 296: | Строка 484: | ||
|- | |- | ||
| '''Основные данные''' | | '''Основные данные''' | ||
| * Наименование организации<br>* ИНН организации<br>* Торговый объект<br>* Адрес Торгового объекта | | * Наименование организации<br>* ИНН организации<br>* Торговый объект<br>* Адрес Торгового объекта | ||
| * Наименование организации<br>* ИНН организации<br>* Торговый объект<br>* Адрес Торгового объекта<br>* Дата создания документа<br>* Дата обновления документа<br>* Ответственный | | * Наименование организации<br>* ИНН организации<br>* Торговый объект<br>* Адрес Торгового объекта<br>* Дата создания документа<br>* Дата обновления документа<br>* Ответственный | ||
| * Наименование организации<br>* ИНН организации<br>* Торговый объект<br>* Адрес Торгового объекта<br>* Дата создания документа<br>* Дата обновления документа<br>* Ответственный | | * Наименование организации<br>* ИНН организации<br>* Торговый объект<br>* Адрес Торгового объекта<br>* Дата создания документа<br>* Дата обновления документа<br>* Ответственный | ||
Строка 312: | Строка 500: | ||
|- | |- | ||
| '''Прочие данные''' | | '''Прочие данные''' | ||
| | | | ||
| * Итого (Сумма всех позиций)<br>* Контрагент | | * Итого (Сумма всех позиций)<br>* Контрагент | ||
| * Комментарий<br>* Итого (Сумма всех позиций)<br>* Контрагент<br>* Статья списания | | * Комментарий<br>* Итого (Сумма всех позиций)<br>* Контрагент<br>* Статья списания | ||
Строка 323: | Строка 511: | ||
== Примеры шаблонов печати == | == Примеры шаблонов печати == | ||
{{ProductTable- | {{ProductTable-6 | ||
|title-1= '''Шаблон "Списание"''' | |title-1= '''Шаблон "Чек"''' | ||
|title- | |title-2= '''Шаблон "Списание"''' | ||
|title- | |title-3= '''Шаблон "Оприходование"''' | ||
|title- | |title-4= '''Шаблон "Перемещение"''' | ||
|title-5= '''Шаблон "Инвентаризация"''' | |||
|title-6= '''Шаблон "Заказ на закупку"''' | |||
|content-1= | |content-1= | ||
'''Шаблон Шапки''' | |||
<syntaxhighlight> | |||
setStyle('UNDERSCORED') | |||
setSize('SMALL') | |||
setAlignment('CENTER') | |||
text('Добро пожаловать в '+ organization.name) | |||
image ('Шаблон 1.jpg') | |||
feed() | |||
feed() | |||
</syntaxhighlight> | |||
'''Шаблон Подвала''' | |||
<syntaxhighlight> | |||
setStyle('BOLD') | |||
setAlignment('CENTER') | |||
setSize('SMALL') | |||
text('Ждем вас снова!') | |||
feed() | |||
feed() | |||
text('Посетите наш сайт') | |||
text('перейдите по QR') | |||
feed() | |||
qrCode('https://kassa.bifit.com/', 'CENTER') | |||
</syntaxhighlight> | |||
|content-2= | |||
<syntaxhighlight> | <syntaxhighlight> | ||
setAlignment ('CENTER') | setAlignment ('CENTER') | ||
Строка 370: | Строка 586: | ||
qrCode ('https://kassa.bifit.com','CENTER') | qrCode ('https://kassa.bifit.com','CENTER') | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|content- | |content-3= | ||
<syntaxhighlight> | <syntaxhighlight> | ||
setAlignment ('CENTER') | setAlignment ('CENTER') | ||
Строка 412: | Строка 628: | ||
qrCode ('https://kassa.bifit.com','CENTER') | qrCode ('https://kassa.bifit.com','CENTER') | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|content- | |content-4= | ||
<syntaxhighlight> | <syntaxhighlight> | ||
setAlignment ('CENTER') | setAlignment ('CENTER') | ||
Строка 425: | Строка 641: | ||
code128 (document.documentNumber) | code128 (document.documentNumber) | ||
feed () | feed () | ||
lr('ТО отправитель: ', tradeObjectFrom. | lr('ТО отправитель: ', tradeObjectFrom.address) | ||
lr('ТО получатель: ', tradeObjectTo. | lr('ТО получатель: ', tradeObjectTo.address) | ||
feed () | feed () | ||
reset () | reset () | ||
for(let item of items) { | for(let item of items) { | ||
repeat ('-') | repeat ('-') | ||
text( item.name) | |||
text('Артикул:' + item.vendorCode) | text('Артикул:' + item.vendorCode) | ||
text('ШК:' + item.barcode) | text('ШК:' + item.barcode) | ||
text('Характеристика:'+formatFeatures(item.nomenclatureFeatures)) | |||
lr('Цена закупки:', formatPrice(item.purchasePrice)) | lr('Цена закупки:', formatPrice(item.purchasePrice)) | ||
lr('Кол-во переданного товара:', item.quantity+'шт') | lr('Кол-во переданного товара:', item.quantity+'шт') | ||
Строка 458: | Строка 674: | ||
qrCode ('https://kassa.bifit.com','CENTER') | qrCode ('https://kassa.bifit.com','CENTER') | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|content- | |content-5= | ||
<syntaxhighlight> | <syntaxhighlight> | ||
setAlignment ('CENTER') | setAlignment ('CENTER') | ||
Строка 495: | Строка 711: | ||
feed () | feed () | ||
qrCode ('https://kassa.bifit.com','CENTER') | qrCode ('https://kassa.bifit.com','CENTER') | ||
</syntaxhighlight> | |||
|content-6= | |||
<syntaxhighlight> | |||
setAlignment('CENTER') | |||
setSize('SMALL') | |||
setStyle('ITALIC') | |||
text('Заказ на закупку') | |||
text(document.documentNumber) | |||
setDateFormat('dd.MM.yyyy') | |||
text(formatDate(document.documentDate)) | |||
feed() | |||
code128(document.documentNumber) | |||
feed() | |||
lr('Торговый объект:', tradeObject.name) | |||
feed() | |||
reset() | |||
for(let item of items) { | |||
repeat('-') | |||
text(item.name) | |||
lr('Количество товара:', formatQuantity(item.quantity, item.unitCode)) | |||
lr('Сумма:', formatPrice(item.amount)) | |||
feed() | |||
} | |||
repeat('-') | |||
feed() | |||
feed() | |||
lr(user.position, document.responsiblePerson) | |||
feed() | |||
lr('Подпись:', '________________') | |||
feed() | |||
text(document.description) | |||
feed() | |||
qrCode('https://kassa.bifit.com', 'CENTER') | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
== Читайте также == | |||
* <b>[https://kassa.bifit.com/wiki/index.php?title=Шаблоны_печати_чеков_на_Desktop Как применить шаблоны печати чеков в приложении Касса Розница Desktop]</b> | |||
* <b>[https://kassa.bifit.com/wiki/index.php?title=Шаблоны_печати_чеков_на_Android Как применить шаблоны печати чеков в приложении Касса Android]</b> |
Текущая версия на 17:40, 19 января 2023
Печатные формы - это механизм редактирования шаблонов, который позволяет централизованно конструировать/редактировать/обновлять печатные формы документов, используемые на РМК кассиром.
Шаблоны предназначены для печати на ККТ средствами не фискальной печати.
Создавать шаблоны можно будет для следующих документов учета:
- Оприходование
- Списание
- Инвентаризация
- Перемещение
- Заказ на закупку
Также можно будет создавать индивидуальные шаблоны для Фискальных документов:
- Чек
Для Фискальных документов доступно только редактирование Шапки и Подвала чека.
- Шапка чека - представляет собой заголовок чека и обычно содержит приветствие и данные организации (адрес, телефон, объект, ФИО директора и др. информацию).
- Подвал чека - это нижняя часть чека, которая расположена после его итоговых строк и позволяет указать там дополнительную информацию о (способах возврата, описание акции, добавить картинку, эмблему организации и др.)
Подраздел Шаблоны печати представлен в виде таблицы в которой собраны все созданные шаблоны печатных форм организации.
Табличная часть содержит в себе следующую информацию:
- Наименование шаблона
- Тип документа
Также в подразделе предусмотрена система фильтров для более удобного поиска шаблонов.
Создание шаблона
Для создания шаблона совершите следующие действия:
- Перейдите в подраздел Шаблоны печати
- Нажмите на кнопку Создать
- Во всплывающем окне:
- Выберите Тип документа
- Укажите название шаблона:
- Для фискальных документов внесите описание в окна Шаблон шапки и Шаблон подвала
- Для документов учета внесите описание в окно Шаблон
- При необходимости добавить изображение нажмите кнопку Добавить и добавьте изображения с вашего компьютера
- В правой части экрана будет отображаться окно Предварительный просмотр, для просмотра созданного описания нажмите кнопку
- Для завершения создания шаблона нажмите кнопку Сохранить
Список поддерживаемых касс (Android)
САЛЮТ 12Ф | АТОЛ | MSPOS | НЕВА/ПЕЙМОБ | ШТРИХ-М | МЕРКУРИЙ |
---|---|---|---|---|---|
✅Печать изображения |
❌Печать изображения |
✅Печать изображения (только формат картинки jpg) |
❌Печать изображения |
❌Печать изображения |
❌Печать изображения |
Список поддерживаемых касс (Desktop)
АТОЛ | МЕРКУРИЙ | ШТРИХ-М | ДРИМКАСС |
---|---|---|---|
❌Печать изображения |
❌Печать изображения |
❌Печать изображения |
❌Печать изображения |
Пример создания шаблона
При создании шаблона печати необходимо использовать следующие параметры:
Описание | Параметр |
---|---|
Методы печати данных | |
Параметр для написания текста.Пример: text('Строка по центру', 'CENTER') Возможные значения второго аргумента:
|
text('текст') |
Написание текста в одну строчку установите символ между параметрами или между текстом и параметром
Пример: text('Организация:'+ organization.name) |
+ |
При использовании обычного текста необходимо обозначить его, для этого используйте данный символ.
Важно!:
Пример: text('Организация:',organization.name) |
' |
Вывод даты/времени. Форматирует строку с датой при помощи формата, заданного вышеПример: text(formatDate(document.documentDate)) |
formatDate(document.documentDate) |
Выравнивание текста слева-справа. Пример:lr('Строка слева', 'Строка справа') |
lr |
Положение изображения на чеке (слева, по центру, справа).Пример:image('Имя изображения') Возможные значения второго аргумента:
Если изображение с данным именем не найдется, то распечатается пустая строка |
image |
Штрихкод в формате ean8.
Пример:ean8('12345678', 'CENTER') Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
|
ean8 |
Штрихкод в формате ean13.
Пример:ean13('1234567891011', 'CENTER') Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
|
ean13 |
Штрихкод в формате code128.
Пример:code128('123456', 'CENTER') Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
|
code128 |
Штрихкод в формате qrCode.
Пример:qrCode('12345678', 'CENTER') Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
|
qrCode |
Печать пустой строки.
Пример:feed() |
feed |
Повторить символ на всю ширину строки
Пример:repeat(_) |
repeat |
Печать каждой позиции с новой строки. Для каждой позиции документа, наименование будет печататься на новой строке | for(let item of items) { } |
Форматирует список характеристик номенклатуры, перечисляя их через запятую, если характеристик у товара не предусмотрено или список характеристик пустой, то автоматически ставится прочерк Пример: for(let item of items) {text(formatFeatures(item.nomenclatureFeatures))} |
formatFeatures(item.nomenclatureFeatures) |
Форматирует цену, добавляя знак рубля в конце, отсекая десятые доли копеек. Если цена, переданная как аргумент в данный метод, не установлена у данного товара, то автоматически ставится прочерк Пример: for(let item of items) {left (formatPrice(item.purchasePrice))} |
formatPrice(item.purchasePrice) |
Форматирует единицу измеренияПример: for(let item of items) {left (formatQuantity(item.quantity, item.unitCode))} |
formatQuantity(item.quantity, item.unitCode) |
Команды для изменения стиля текста | |
Выравнивание последующего текста.
Пример: setAlignment('CENTER') Возможные значения второго аргумента (по-умолчанию LEFT):
|
setAlignment('CENTER') |
Изменение стиля шрифта.
Пример: setStyle('NORMAL') Меняет стиль шрифта, по-умолчанию NORMAL, возможные значения:
|
setStyle('NORMAL') |
Изменение размера текста.
Пример: setSize('MEDIUM') Меняет размер текста, по-умолчанию MEDIUM, возможные значения:
|
setSize('MEDIUM') |
Формат вывода даты.
Задает формат вывода даты (формат по-умолчанию: dd-MM-yyyy). Перечень форматов Форматы дат. |
setDateFormat('dd.MM.yyyy') |
Сброс стиля текста до исходных значений.
Команда сброса стиля текста до исходных значений (LEFT, NORMAL, MEDIUM, формат даты: dd-MM-yyyy) |
reset() |
Описание | Параметр |
---|---|
Пользователь (сущность user) | |
Имя кассира | user.firstName |
Фамилия кассира | user.lastName |
Отчество кассира | user.patronymic |
Должность продавца | user.position |
ИНН продавца | user.inn |
Торговый объект (сущность tradeObject) | |
Наименование Торгового объекта | tradeObject.name |
Адрес Торгового объекта/ Место расчетов | tradeObject.address |
КПП Торгового объекта | tradeObject.kpp |
Организация (сущность organization) | |
Наименование организации | organization.name |
ИНН организации | organization.inn |
КПП организации | organization.kpp |
Адрес организации | organization.address |
Типы документов(сущность document) | |
Дата создания документа | document.documentDate |
Номер документа | document.documentNumber |
Ф.И.О. Ответственного | document.responsiblePerson |
Комментарий к документу | document.description |
Позиции документа (сущность items) доступ к отдельной позиции только через цикл for(let item of items) { } | |
Вывод характеристик позиции | formatFeatures(item.nomenclatureFeatures) |
Наименование позиции | item.name |
Штрихкод | item.barcode |
Артикул | item.vendorCode |
Цена закупки | formatPrice(item.purchasePrice) |
Количество товара | item.quantity |
Сумма позиции | formatPrice(item.amount) |
Сумма позиции для учетных документов | formatPrice(item.sellingPrice) |
Для документа ОПРИХОДОВАНИЕ | |
Сумма НДС для акта "Оприходования" | formatPrice(item.vatAmount) |
Название НДС позиции | item.vat |
Итого Сумма закупки по всем товарам | document.totalPurchaseAmount |
Итого Сумма продажи по всем товарам | document.totalSellingAmount |
Информация о контрагенте | document.contractor.shortName - ФИО контрагента document.contractor.inn - ИНН контрагента |
Для документа ПЕРЕМЕЩЕНИЕ | |
Количество принятого товара (Для акта "Перемещения") | item.acceptedQuantity |
ФИО сотрудника принявшего перемещение товара | document.acceptedPerson |
ТО Отправитель (Для акта "Перемещения") | tradeObjectFrom.address |
ТО Получатель (Для акта "Перемещения") | tradeObjectTo.address |
Итого Сумма закупки по всем товарам | document.totalPurchaseAmount |
Для документа ИНВЕНТАРИЗАЦИЯ | |
Остаток товара | item.accountBalance |
Фактический остаток товара | item.actualBalance |
Разница остатков (шт.) | item.variance |
Разница остатков | formatPrice(item.varianceAmount) |
Недостача по товарам (в рублях) | document.totalShortageAmount |
Избыток по товарам (в рублях) | formatPrice(item.varianceAmount) |
Цена продажи позиции (в ТО) | item.sellingPrice |
Для документа СПИСАНИЕ | |
Итого Сумма закупки по всем товарам | document.totalPurchaseAmount |
Итого Сумма продажи по всем товарам | document.totalSellingAmount |
Информация о контрагенте | document.contractor.shortName - ФИО контрагента document.contractor.inn - ИНН контрагента |
Информация о статье списания | document.writeOffArticle.name - Наименование статьи списания document.writeOffArticle.articleNumber - Номер статьи списания |
Для документа ЗАКАЗ НА ЗАКУПКУ | |
Итого Сумма закупки по всем товарам | document.totalPurchaseAmount |
В приведенной ниже таблице содержится перечень данных доступных для изменения/использования при создании шаблона печати.
Приход/Расход | Оприходование | Списание | Перемещение | Инвентаризация | Заказ на закупку | |
---|---|---|---|---|---|---|
Основные данные | * Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
* Наименование организации * ИНН организации * Торговый объект * Торговый объект передающий * Торговый объект принимающий * Дата создания документа * Дата обновления документа * Ответственный Передающий * Ответственный Принимающий |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
Позиции в документе | * Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) * Остаток |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) * Количество отправленных * Количество принятых |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) * Остаток * Фактический остаток * Разница (Фактический остаток – Остаток) * Сумма разницы (Цена закупки*Разница) * Недостача * Избыток |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) | |
Прочие данные | * Итого (Сумма всех позиций) * Контрагент |
* Комментарий * Итого (Сумма всех позиций) * Контрагент * Статья списания |
* Комментарий * Итого (Сумма всех позиций) |
* Комментарий * Итого (Сумма всех позиций) |
* Комментарий * Итого (Сумма всех позиций) |
Примеры шаблонов печати
Шаблон "Чек" | Шаблон "Списание" | Шаблон "Оприходование" | Шаблон "Перемещение" | Шаблон "Инвентаризация" | Шаблон "Заказ на закупку" |
Шаблон Шапки
setStyle('UNDERSCORED')
setSize('SMALL')
setAlignment('CENTER')
text('Добро пожаловать в '+ organization.name)
image ('Шаблон 1.jpg')
feed()
feed() Шаблон Подвала setStyle('BOLD')
setAlignment('CENTER')
setSize('SMALL')
text('Ждем вас снова!')
feed()
feed()
text('Посетите наш сайт')
text('перейдите по QR')
feed()
qrCode('https://kassa.bifit.com/', 'CENTER') |
setAlignment ('CENTER')
setSize ('SMALL')
setStyle('ITALIC')
text ('Документ Списания')
text(document.documentNumber)
setDateFormat('dd.MM.yyyy')
text(formatDate(document.documentDate))
feed ()
code128 (document.documentNumber)
feed ()
lr('Организация:',organization.name)
lr('Торговый объект: ',tradeObject.name)
feed ()
reset ()
for(let item of items) {
repeat ('-')
text(item.name)
text('Артикул:' + item.vendorCode)
text('Характеристика:'+formatFeatures(item.nomenclatureFeatures))
lr('Списано:', item.quantity+'шт')
lr('Остаток:', item.accountBalance+'шт.')
lr('Цена закупки:', formatPrice(item.purchasePrice))
lr('Цена продажи:',formatPrice(item.sellingPrice))
feed ()
setStyle('BOLD')
lr('ИТОГО:',formatPrice(item.amount))
reset ()
feed ()
}
repeat ('-')
feed ()
feed ()
lr(user.position, document.responsiblePerson)
feed ()
lr('Подпись:', '________________')
feed ()
text(document.description)
feed ()
qrCode ('https://kassa.bifit.com','CENTER') |
setAlignment ('CENTER')
setSize ('SMALL')
setStyle('ITALIC')
text ('Документ оприходования')
text(document.documentNumber)
setDateFormat('dd.MM.yyyy')
text(formatDate(document.documentDate))
feed ()
code128 ('document.documentNumber')
feed ()
lr('Организация:',organization.name)
lr('Торговый объект: ',tradeObject.name)
feed ()
reset ()
for(let item of items) {
repeat ('-')
text(item.name)
text('Артикул:' + item.vendorCode)
lr('Количество:', item.quantity+'шт')
text('Характеристика:'+formatFeatures(item.nomenclatureFeatures))
lr('Цена закупки:', formatPrice(item.purchasePrice))
lr('Цена продажи:',formatPrice(item.sellingPrice))
text('НДС:'+formatPrice(item.vatAmount))
feed ()
setStyle('BOLD')
lr('ИТОГО:',formatPrice(item.amount))
reset ()
feed ()
}
repeat ('-')
feed ()
lr(user.position, document.responsiblePerson)
feed ()
lr('Подпись:', '________________')
feed ()
feed ()
text(document.description)
feed ()
qrCode ('https://kassa.bifit.com','CENTER') |
setAlignment ('CENTER')
setSize ('SMALL')
setStyle('ITALIC')
text ('Перемещение')
text(document.documentNumber)
setDateFormat('dd.MM.yyyy')
text(formatDate(document.documentDate))
lr('Организация:',organization.name)
feed ()
code128 (document.documentNumber)
feed ()
lr('ТО отправитель: ', tradeObjectFrom.address)
lr('ТО получатель: ', tradeObjectTo.address)
feed ()
reset ()
for(let item of items) {
repeat ('-')
text( item.name)
text('Артикул:' + item.vendorCode)
text('ШК:' + item.barcode)
text('Характеристика:'+formatFeatures(item.nomenclatureFeatures))
lr('Цена закупки:', formatPrice(item.purchasePrice))
lr('Кол-во переданного товара:', item.quantity+'шт')
lr('Кол-во принятого товара:', item.acceptedQuantity+'шт')
lr('Расхождение',item.acceptedQuantity-item.quantity+'шт.')
lr('Сумма товара:',formatPrice(item.amount))
feed ()
}
repeat ('-')
feed ()
lr('Отправил:', document.responsiblePerson)
feed ()
lr('Подпись:', '________________')
feed ()
feed ()
lr('Принял:', document.acceptedPerson)
feed ()
lr('Подпись:', '________________')
feed ()
feed ()
text(document.description)
feed ()
qrCode ('https://kassa.bifit.com','CENTER') |
setAlignment ('CENTER')
setSize ('SMALL')
setStyle('ITALIC')
text ('Инвентаризация товаров')
text(document.documentNumber)
setDateFormat('dd.MM.yyyy')
text(formatDate(document.documentDate))
feed ()
code128 (document.documentNumber)
feed ()
lr('Организация:',organization.name)
lr('Торговый объект: ',tradeObject.name)
feed ()
reset ()
for(let item of items) {
repeat ('-')
lr(item.name,formatPrice(item.purchasePrice))
text('Артикул:' + item.vendorCode)
text('ШК:' + item.barcode)
text('Характеристика:'+formatFeatures(item.nomenclatureFeatures))
lr('Остаток:', item.accountBalance+'шт.')
lr('Фактический Остаток:', item.actualBalance+'шт.')
lr('Разница:', item.variance+'шт.')
lr('Сумма разницы:', formatPrice(item.varianceAmount))
feed ()
}
repeat ('-')
feed ()
lr(user.position, document.responsiblePerson)
feed ()
lr('Подпись:', '________________')
feed ()
text(document.description)
feed ()
qrCode ('https://kassa.bifit.com','CENTER') |
setAlignment('CENTER')
setSize('SMALL')
setStyle('ITALIC')
text('Заказ на закупку')
text(document.documentNumber)
setDateFormat('dd.MM.yyyy')
text(formatDate(document.documentDate))
feed()
code128(document.documentNumber)
feed()
lr('Торговый объект:', tradeObject.name)
feed()
reset()
for(let item of items) {
repeat('-')
text(item.name)
lr('Количество товара:', formatQuantity(item.quantity, item.unitCode))
lr('Сумма:', formatPrice(item.amount))
feed()
}
repeat('-')
feed()
feed()
lr(user.position, document.responsiblePerson)
feed()
lr('Подпись:', '________________')
feed()
text(document.description)
feed()
qrCode('https://kassa.bifit.com', 'CENTER') |