Шаблоны печати чеков: различия между версиями
Merkulov (обсуждение | вклад)  | 
				Merkulov (обсуждение | вклад)   | 
				||
| (не показано 120 промежуточных версий 2 участников) | |||
| Строка 1: | Строка 1: | ||
[[Файл:Раздел Шаблоны печати.png|thumb|  | [[Файл:Раздел Шаблоны печати.png|thumb|650px|'''Подраздел Шаблоны печати''']]  | ||
__TOC__  | |||
'''Печатные формы''' - это механизм редактирования шаблонов, который позволяет централизованно конструировать/редактировать/обновлять печатные формы документов, используемые на РМК кассиром.<br> Шаблоны предназначены для печати на ККТ средствами не фискальной печати.  | '''Печатные формы''' - это механизм редактирования шаблонов, который позволяет централизованно конструировать/редактировать/обновлять печатные формы документов, используемые на РМК кассиром.<br> Шаблоны предназначены для печати на ККТ средствами не фискальной печати.  | ||
| Строка 13: | Строка 13: | ||
Также можно будет создавать индивидуальные шаблоны для Фискальных документов:  | Также можно будет создавать индивидуальные шаблоны для Фискальных документов:  | ||
* Чек   | * Чек  | ||
Для Фискальных документов доступно только редактирование Шапки и Подвала чека.  | Для Фискальных документов доступно только редактирование Шапки и Подвала чека.  | ||
| Строка 32: | Строка 31: | ||
= Создание шаблона =  | = Создание шаблона =  | ||
[[Файл:Шаблон печатной формы   | [[Файл:Шаблон печатной формы Чек.png|thumb|650px|'''Шаблон печатной формы для фискальных чеков''']]  | ||
[[Файл:Шаблон   | [[Файл:Шаблон печати документ списание (Пример).png|thumb|650px|'''Шаблон печатной формы для документов учета''']]  | ||
Для создания шаблона совершите следующие действия:  | Для создания шаблона совершите следующие действия:  | ||
| Строка 52: | Строка 51: | ||
* Для удаления шаблона в подразделе '''Шаблоны печати''' установите чекбокс в ячейке шаблона и нажмите кнопку [[Файл:Удаление в Личном кабинете.png]].|800}}  | * Для удаления шаблона в подразделе '''Шаблоны печати''' установите чекбокс в ячейке шаблона и нажмите кнопку [[Файл:Удаление в Личном кабинете.png]].|800}}  | ||
<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  | |||
|}  | |||
= Пример создания шаблона =  | = Пример создания шаблона =  | ||
| Строка 57: | Строка 164: | ||
При создании шаблона печати необходимо использовать следующие параметры:  | При создании шаблона печати необходимо использовать следующие параметры:  | ||
{| class="wikitable" style="background:#  | {| class="wikitable" style="background:#FFF5EE;"    | ||
|+ Параметры для   | |+ Параметры для редактирования текста  | ||
|-  | |-  | ||
! Описание !! Параметр   | ! Описание !! Параметр    | ||
|-  | |-  | ||
|colspan="  | |widht="45%" colspan="2" style="text-align: center; background:#E0FFFF;"  | '''Методы печати данных'''  | ||
|-  | |-  | ||
|Параметр для   | |Параметр для написания текста.<br>   | ||
 '''Пример''': text('Строка по центру', 'CENTER')  | |||
Возможные значения второго аргумента:  | |||
* LEFT  | * LEFT  | ||
* CENTER  | * CENTER  | ||
* RIGHT  | * RIGHT  | ||
|style="text-align: center;"|'''text('текст')'''  | |||
|-  | |-  | ||
|   | | Написание текста в одну строчку установите символ между параметрами или между текстом и параметром  | ||
|   |  '''Пример''': text('Организация:'+ organization.name)  | ||
|   | |style="text-align: center;"| '''+'''  | ||
*   | |-  | ||
*   | | При использовании обычного текста необходимо обозначить его, для этого используйте данный символ.    | ||
*   | '''Важно!''':  | ||
* Символ необходимо указывать в начале и в конце текста  | |||
* При указании параметров данный символ не используется  | |||
* Текст указанный без данных символов не будет напечатан в чеке  | |||
 '''Пример''': text('Организация:',organization.name)  | |||
|style="text-align: center;"| '  | |||
|-  | |-  | ||
|  | | Вывод даты/времени. Форматирует строку с датой при помощи формата, заданного выше<br>  | ||
|text ('  |  '''Пример''': text(formatDate(document.documentDate))  | ||
|style="text-align: center;"| '''formatDate(document.documentDate)'''  | |||
|-  | |-  | ||
| Выравнивание текста слева-справа  | | Выравнивание текста слева-справа. <br>  | ||
 '''Пример''':lr('Строка слева',                                      'Строка справа')  | |||
|style="text-align: center;"| '''lr'''  | |||
|-  | |-  | ||
| Положение изображения на чеке (слева, по центру, справа)  | | Положение изображения на чеке (слева, по центру, справа).<br>  | ||
 '''Пример''':image('Имя изображения')  | |||
Возможные значения второго аргумента:  | |||
* LEFT  | * LEFT  | ||
* CENTER  | * CENTER  | ||
* RIGHT  | * RIGHT  | ||
Если изображение с данным именем не найдется, то распечатается пустая строка  | Если изображение с данным именем не найдется, то распечатается пустая строка  | ||
|style="text-align: center;"| '''image'''  | |||
|-  | |-  | ||
| Штрихкод в формате ean8  | | Штрихкод в формате ean8.   | ||
 '''Пример''':ean8('12345678', 'CENTER')    | |||
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')  | Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')  | ||
* LEFT  | * LEFT  | ||
* CENTER  | * CENTER  | ||
* RIGHT  | * RIGHT  | ||
|style="text-align: center;"| '''ean8'''  | |||
|-  | |-  | ||
|Штрихкод в формате ean13  | |Штрихкод в формате ean13.  | ||
 '''Пример''':ean13('1234567891011', 'CENTER')    | |||
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')  | Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')  | ||
* LEFT  | * LEFT  | ||
* CENTER  | * CENTER  | ||
* RIGHT  | * RIGHT  | ||
|style="text-align: center;"|'''ean13'''  | |||
|-  | |-  | ||
|Штрихкод в формате code128  | |Штрихкод в формате code128.  | ||
 '''Пример''':code128('123456', 'CENTER')  | |||
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')  | Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')  | ||
* LEFT  | * LEFT  | ||
* CENTER  | * CENTER  | ||
* RIGHT  | * RIGHT  | ||
|style="text-align: center;"|'''code128'''  | |||
|-  | |-  | ||
|Штрихкод в формате qrCode  | |Штрихкод в формате qrCode.   | ||
 '''Пример''':qrCode('12345678', 'CENTER')  | |||
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')  | Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')  | ||
* LEFT  | * LEFT  | ||
* CENTER  | * CENTER  | ||
* RIGHT  | * RIGHT  | ||
|style="text-align: center;"|'''qrCode'''  | |||
|-  | |-  | ||
| Печать пустой строки  | | Печать пустой строки.  | ||
 '''Пример''':feed()  | |||
|   | |style="text-align: center;"| '''feed'''  | ||
|-  | |-  | ||
|   | | Повторить символ на всю ширину строки  | ||
 '''Пример''':repeat(_)  | |||
|   | |style="text-align: center;"| '''repeat'''  | ||
|-  | |-  | ||
|  | | Печать каждой позиции с новой строки. Для каждой позиции документа, наименование будет печататься на новой строке  | ||
|   | |style="text-align: center;"| '''for(let item of items) { }'''  | ||
|   | |||
'''  | |||
|-  | |-  | ||
| Форматирует список характеристик номенклатуры, перечисляя их через запятую,<br> если характеристик у товара не предусмотрено или список характеристик пустой, то автоматически ставится прочерк    | |||
 '''Пример''': for(let item of items) {text(formatFeatures(item.nomenclatureFeatures))}  | |||
| Форматирует список характеристик номенклатуры, перечисляя их через запятую,<br> если характеристик у товара не предусмотрено или список характеристик пустой, то автоматически ставится прочерк   | |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)'''  | |||
|-  | |-  | ||
|  | | Форматирует единицу измерения<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;"| '''Команды для изменения стиля текста'''   | ||
|   | |-  | ||
| Выравнивание последующего текста.  | |||
 '''Пример''': setAlignment('CENTER')  | |||
Возможные значения второго аргумента (по-умолчанию LEFT):  | |||
* LEFT  | |||
* CENTER  | |||
* RIGHT  | |||
|style="text-align: center;"| '''setAlignment('CENTER')'''  | |||
|-  | |-  | ||
| Изменение стиля шрифта  | | Изменение стиля шрифта.   | ||
 '''Пример''': setStyle('NORMAL')  | |||
Меняет стиль шрифта, по-умолчанию NORMAL, возможные значения:  | |||
* 'NORMAL' (обычный)  | * 'NORMAL' (обычный)  | ||
* 'BOLD' (жирный)  | * 'BOLD' (жирный)  | ||
* 'ITALIC' (курсив)  | * 'ITALIC' (курсив)  | ||
* 'UNDERSCORED' (подчеркнутый)  | * 'UNDERSCORED' (подчеркнутый)  | ||
|style="text-align: center;"| '''setStyle('NORMAL')'''  | |||
|-  | |-  | ||
| Изменение размера текста  | | Изменение размера текста.  | ||
 '''Пример''': setSize('MEDIUM')  | |||
Меняет размер текста, по-умолчанию MEDIUM, возможные значения:  | |||
* 'SMALL'  | * 'SMALL'  | ||
* 'MEDIUM'  | * 'MEDIUM'  | ||
* 'LARGE'  | * 'LARGE'  | ||
* 'X_LARGE'  | * 'X_LARGE'  | ||
|style="text-align: center;"| '''setSize('MEDIUM')'''  | |||
|-  | |-  | ||
|   | | Формат вывода даты.   | ||
Задает формат вывода даты (формат по-умолчанию: dd-MM-yyyy).   | |||
Перечень форматов <b>[https://date-fns.org/v2.16.1/docs/format Форматы дат]</b>.  | |||
|style="text-align: center;"| '''setDateFormat('dd.MM.yyyy')'''  | |||
|-  | |-  | ||
|  | | Сброс стиля текста до исходных значений.   | ||
| text('  | Команда сброса стиля текста до исходных значений (LEFT, NORMAL, MEDIUM, формат даты: dd-MM-yyyy)  | ||
|   | |style="text-align: center;"<ref></ref> | '''reset()'''  | ||
|}  | |||
{| class="wikitable" style="background:#FFF5EE;"  | |||
|+ Параметры данных  | |||
|-  | |-  | ||
! Описание !! Параметр   | |||
|-  | |-  | ||
|colspan="  | |colspan="2" style="text-align: center; background:#E0FFFF;"| ''Пользователь (сущность user)''  | ||
|-  | |-  | ||
| Имя кассира  | | Имя кассира  | ||
| text  | |style="text-align: center;"| '''user.firstName'''  | ||
|-  | |-  | ||
| Фамилия кассира  | | Фамилия кассира  | ||
| text  | |style="text-align: center;"| '''user.lastName'''  | ||
|-  | |-  | ||
| Отчество кассира  | | Отчество кассира  | ||
| text  | |style="text-align: center;"| '''user.patronymic'''  | ||
|-  | |-  | ||
| Должность продавца  | | Должность продавца  | ||
| text  | |style="text-align: center;"| '''user.position'''  | ||
|-  | |-  | ||
| ИНН продавца  | | ИНН продавца  | ||
| text  | |style="text-align: center;"| '''user.inn'''  | ||
|-  | |-  | ||
|colspan="  | |colspan="2" style="text-align: center; background:#E0FFFF;"| ''Торговый объект (сущность tradeObject)''  | ||
|-  | |-  | ||
| Наименование Торгового объекта  | | Наименование Торгового объекта  | ||
| text  | |style="text-align: center;"| '''tradeObject.name'''  | ||
|-  | |-  | ||
| Адрес Торгового объекта/ Место расчетов  | | Адрес Торгового объекта/ Место расчетов  | ||
| text  | |style="text-align: center;"| '''tradeObject.address'''  | ||
|-  | |-  | ||
|    | | КПП Торгового объекта  | ||
| text  | |style="text-align: center;"| '''tradeObject.kpp'''  | ||
|-  | |-  | ||
|colspan="  | |colspan="2" style="text-align: center; background:#E0FFFF;"| ''Организация (сущность organization)''    | ||
|-  | |-  | ||
| Наименование организации  | | Наименование организации  | ||
| text  | |style="text-align: center;"| '''organization.name'''  | ||
|-  | |-  | ||
| ИНН организации  | | ИНН организации  | ||
| text  | |style="text-align: center;"| '''organization.inn'''  | ||
|-  | |-  | ||
| КПП организации  | | КПП организации  | ||
| text  | |style="text-align: center;"| '''organization.kpp'''  | ||
|-  | |-  | ||
| Адрес организации  | | Адрес организации  | ||
| text  | |style="text-align: center;"| '''organization.address'''  | ||
|-  | |-  | ||
|colspan="  | |colspan="2" style="text-align: center; background:#E0FFFF;"| ''Типы документов(сущность document)''    | ||
|-  | |-  | ||
| Дата создания документа  | | Дата создания документа  | ||
| text  | |style="text-align: center;"| '''document.documentDate'''  | ||
|-  | |-  | ||
| Номер документа  | | Номер документа  | ||
| text  | |style="text-align: center;"| '''document.documentNumber'''  | ||
|-  | |-  | ||
| Ф.И.О. Ответственного  | | Ф.И.О. Ответственного  | ||
| text  | |style="text-align: center;"| '''document.responsiblePerson'''  | ||
|-  | |-  | ||
| Комментарий к документу  | | Комментарий к документу  | ||
| text  | |style="text-align: center;"| '''document.description'''  | ||
|-  | |-  | ||
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Позиции документа (сущность items)''  доступ к отдельной позиции только через цикл for(let item of items) { }  | |||
|colspan="  | |||
|-  | |-  | ||
| Вывод характеристик позиции  | | Вывод характеристик позиции  | ||
| text  | |style="text-align: center;"| '''formatFeatures(item.nomenclatureFeatures)'''  | ||
|-  | |-  | ||
| Наименование позиции  | | Наименование позиции  | ||
| text  | |style="text-align: center;"| '''item.name'''  | ||
|-  | |-  | ||
| Штрихкод  | | Штрихкод  | ||
| text  | |style="text-align: center;"| '''item.barcode'''  | ||
|-  | |-  | ||
| Артикул  | | Артикул  | ||
| text  | |style="text-align: center;"| '''item.vendorCode'''  | ||
|-  | |-  | ||
| Цена закупки  | | Цена закупки  | ||
| text  | |style="text-align: center;"| '''formatPrice(item.purchasePrice)'''  | ||
|-  | |-  | ||
| Количество товара  | | Количество товара  | ||
| text  | |style="text-align: center;"| '''item.quantity'''  | ||
|-  | |-  | ||
| Сумма позиции  | | Сумма позиции  | ||
| text(formatPrice(item.  | |style="text-align: center;"| '''formatPrice(item.amount)'''  | ||
| Сумма   | |-  | ||
| Сумма позиции для учетных документов  | |||
|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;"| '''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;"| ''Для документа '''ПЕРЕМЕЩЕНИЕ'''''   | |||
|-  | |-  | ||
| Количество принятого товара (Для акта "Перемещения")  | | Количество принятого товара (Для акта "Перемещения")  | ||
| text  | |style="text-align: center;"| '''item.acceptedQuantity'''  | ||
|   | |-  | ||
| ФИО сотрудника принявшего перемещение товара  | |||
|style="text-align: center;"| '''document.acceptedPerson'''  | |||
|-  | |||
| ТО Отправитель (Для акта "Перемещения")  | |||
|style="text-align: center;"| '''tradeObjectFrom.address'''  | |||
|-  | |-  | ||
|   | | ТО Получатель (Для акта "Перемещения")  | ||
| text  | |style="text-align: center;"| '''tradeObjectTo.address'''  | ||
|   | |||
|-  | |-  | ||
| Сумма   | | Итого Сумма закупки по всем товарам  | ||
| text  | |style="text-align: center;"| '''document.totalPurchaseAmount'''  | ||
|   | |||
|-  | |-  | ||
|colspan="  | |colspan="2" style="text-align: center; background:#E0FFFF;"| ''Для документа '''ИНВЕНТАРИЗАЦИЯ'''''    | ||
|-  | |-  | ||
| Остаток товара    | | Остаток товара    | ||
| text  | |style="text-align: center;"| '''item.accountBalance'''  | ||
|-  | |-  | ||
| Фактический остаток товара  | | Фактический остаток товара  | ||
| text  | |style="text-align: center;"| '''item.actualBalance'''  | ||
|   | |-  | ||
| Разница остатков (шт.)  | |||
|style="text-align: center;"| '''item.variance'''  | |||
|-  | |-  | ||
| Разница остатков  | | Разница остатков  | ||
| text(item.  | |style="text-align: center;"| '''formatPrice(item.varianceAmount)'''  | ||
|-  | |-  | ||
|   | | Недостача по товарам (в рублях)  | ||
| text(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'''  | |||
|}  | |}  | ||
| Строка 339: | Строка 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>* Ответственный  | ||
| Строка 345: | Строка 490: | ||
| * Наименование организации<br>* ИНН организации<br>* Торговый объект<br>* Адрес Торгового объекта<br>* Дата создания документа<br>* Дата обновления документа<br>* Ответственный  | | * Наименование организации<br>* ИНН организации<br>* Торговый объект<br>* Адрес Торгового объекта<br>* Дата создания документа<br>* Дата обновления документа<br>* Ответственный  | ||
| * Наименование организации<br>* ИНН организации<br>* Торговый объект<br>* Адрес Торгового объекта<br>* Дата создания документа<br>* Дата обновления документа<br>* Ответственный  | | * Наименование организации<br>* ИНН организации<br>* Торговый объект<br>* Адрес Торгового объекта<br>* Дата создания документа<br>* Дата обновления документа<br>* Ответственный  | ||
|-  | |-  | ||
| '''Позиции в документе'''  | | '''Позиции в документе'''  | ||
| Строка 363: | Строка 500: | ||
|-  | |-  | ||
| '''Прочие данные'''  | | '''Прочие данные'''  | ||
|   | |  | ||
| * Итого (Сумма  всех позиций)<br>* Контрагент  | | * Итого (Сумма  всех позиций)<br>* Контрагент  | ||
| * Комментарий<br>* Итого (Сумма всех позиций)<br>* Контрагент<br>* Статья списания  | | * Комментарий<br>* Итого (Сумма всех позиций)<br>* Контрагент<br>* Статья списания  | ||
| Строка 370: | Строка 507: | ||
| * Комментарий<br>* Итого (Сумма всех позиций)  | | * Комментарий<br>* Итого (Сумма всех позиций)  | ||
|}  | |}  | ||
== Примеры шаблонов печати ==  | |||
{{ProductTable-6  | |||
|title-1= '''Шаблон "Чек"'''  | |||
|title-2= '''Шаблон "Списание"'''  | |||
|title-3= '''Шаблон "Оприходование"'''  | |||
|title-4= '''Шаблон "Перемещение"'''  | |||
|title-5= '''Шаблон "Инвентаризация"'''  | |||
|title-6= '''Шаблон "Заказ на закупку"'''  | |||
|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>  | |||
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')  | |||
</syntaxhighlight>  | |||
|content-3=  | |||
<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('Организация:',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')  | |||
</syntaxhighlight>  | |||
|content-4=  | |||
<syntaxhighlight>  | |||
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')  | |||
</syntaxhighlight>  | |||
|content-5=  | |||
<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('Организация:',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')  | |||
</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>  | |||
}}  | |||
== Читайте также ==  | |||
* <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') |