Шаблоны печати чеков: различия между версиями

Материал из Касса
Перейти к навигации Перейти к поиску
 
(не показаны 134 промежуточные версии 2 участников)
Строка 1: Строка 1:
[[Файл:Раздел Шаблоны печати.png|thumb|500px|'''Подраздел Шаблоны печати''']]
[[Файл:Раздел Шаблоны печати.png|thumb|650px|'''Подраздел Шаблоны печати''']]
 
__TOC__
'''Печатные формы''' - это механизм редактирования шаблонов, который позволяет централизованно конструировать/редактировать/обновлять печатные формы документов, используемые на РМК кассиром.<br> Шаблоны предназначены для печати на ККТ средствами не фискальной печати.
'''Печатные формы''' - это механизм редактирования шаблонов, который позволяет централизованно конструировать/редактировать/обновлять печатные формы документов, используемые на РМК кассиром.<br> Шаблоны предназначены для печати на ККТ средствами не фискальной печати.


Строка 13: Строка 13:


Также можно будет создавать индивидуальные шаблоны для Фискальных документов:
Также можно будет создавать индивидуальные шаблоны для Фискальных документов:
* Чек прихода
* Чек
* Чек расхода


Для Фискальных документов доступно только редактирование Шапки и Подвала чека.
Для Фискальных документов доступно только редактирование Шапки и Подвала чека.
Строка 32: Строка 31:
= Создание шаблона =
= Создание шаблона =


[[Файл:Шаблон печатной формы для фискальных чеков.png|thumb|450px|'''Шаблон печатной формы для фискальных чеков''']]
[[Файл:Шаблон печатной формы Чек.png|thumb|650px|'''Шаблон печатной формы для фискальных чеков''']]


[[Файл:Шаблон печатной формы для документов учета.png|thumb|450px|'''Шаблон печатной формы для документов учета''']]
[[Файл:Шаблон печати документ списание (Пример).png|thumb|650px|'''Шаблон печатной формы для документов учета''']]


Для создания шаблона совершите следующие действия:
Для создания шаблона совершите следующие действия:
Строка 52: Строка 51:
* Для удаления шаблона в подразделе '''Шаблоны печати''' установите чекбокс в ячейке шаблона и нажмите кнопку [[Файл:Удаление в Личном кабинете.png]].|800}}
* Для удаления шаблона в подразделе '''Шаблоны печати''' установите чекбокс в ячейке шаблона и нажмите кнопку [[Файл:Удаление в Личном кабинете.png]].|800}}
<br clear="all"/>
<br clear="all"/>
= Список поддерживаемых касс (Android) =
{| class="wikitable"
|-
! САЛЮТ 12Ф !! АТОЛ !! MSPOS !! НЕВА/ПЕЙМОБ !! ШТРИХ-М !! МЕРКУРИЙ
|-
|
&#9989;Печать изображения<br>
&#9989;Печать шрифтов разного размера<br>
&#9989;Жирный шрифт<br>
&#9989;Курсивный шрифт<br>
&#9989;Подчеркнутый<br>
&#9989;Центрирование<br>
&#9989;Штрихкод<br>
&#9989;QR-code
|
&#10060;Печать изображения<br>
&#9989;Печать шрифтов разного размера<br>
&#10060;Жирный шрифт<br>
&#10060;Курсивный шрифт<br>
&#10060;Подчеркнутый<br>
&#9989;Центрирование<br>
&#9989;Штрихкод<br>
&#9989;QR-code
|
&#9989;Печать изображения (только формат картинки jpg)<br>
&#9989;Печать шрифтов разного размера<br>
&#10060;Жирный шрифт<br>
&#10060;Курсивный шрифт<br>
&#10060;Подчеркнутый<br>
&#9989;Центрирование<br>
&#9989;Штрихкод<br>
&#9989;QR-code
|
&#10060;Печать изображения<br>
&#9989;Печать шрифтов разного размера<br>
&#9989;Жирный шрифт<br>
&#10060;Курсивный шрифт<br>
&#10060;Подчеркнутый<br>
&#9989;Центрирование<br>
&#9989;Штрихкод<br>
&#10060;QR-code
|
&#10060;Печать изображения<br>
&#10060;Печать шрифтов разного размера<br>
&#10060;Жирный шрифт<br>
&#10060;Курсивный шрифт<br>
&#10060;Подчеркнутый<br>
&#9989;Центрирование<br>
&#9989;Штрихкод<br>
&#9989;QR-code
|
&#10060;Печать изображения<br>
&#10060;Печать шрифтов разного размера<br>
&#10060;Жирный шрифт<br>
&#10060;Курсивный шрифт<br>
&#10060;Подчеркнутый<br>
&#9989;Центрирование<br>
&#10060;Штрихкод<br>
&#9989;QR-code
|}
= Список поддерживаемых касс (Desktop) =
{| class="wikitable"
|-
! АТОЛ !! МЕРКУРИЙ !! ШТРИХ-М !! ДРИМКАСС
|-
|
&#10060;Печать изображения<br>
&#9989;Печать шрифтов разного размера<br>
&#10060;Жирный шрифт<br>
&#10060;Курсивный шрифт<br>
&#10060;Подчеркнутый<br>
&#9989;Центрирование<br>
&#9989;Штрихкод<br>
&#9989;QR-code
|
&#10060;Печать изображения<br>
&#10060;Печать шрифтов разного размера<br>
&#10060;Жирный шрифт<br>
&#10060;Курсивный шрифт<br>
&#10060;Подчеркнутый<br>
&#9989;Центрирование<br>
&#9989;Штрихкод<br>
&#10060;QR-code
|
&#10060;Печать изображения<br>
&#10060;Печать шрифтов разного размера<br>
&#10060;Жирный шрифт<br>
&#10060;Курсивный шрифт<br>
&#10060;Подчеркнутый<br>
&#9989;Центрирование<br>
&#9989;Штрихкод<br>
&#9989;QR-code
|
&#10060;Печать изображения<br>
&#10060;Печать шрифтов разного размера<br>
&#10060;Жирный шрифт<br>
&#10060;Курсивный шрифт<br>
&#10060;Подчеркнутый<br>
&#9989;Центрирование<br>
&#9989;Штрихкод<br>
&#9989;QR-code
|}


= Пример создания шаблона =
= Пример создания шаблона =
Строка 57: Строка 164:
При создании шаблона печати необходимо использовать следующие параметры:
При создании шаблона печати необходимо использовать следующие параметры:


{| class="wikitable"
{| class="wikitable" style="background:#FFF5EE;" 
|+ Параметры для создания шаблона печати
|+ Параметры для редактирования текста
|-
|-
! Параметр !! Описание параметра
! Описание !! Параметр
|-
|-
|colspan="2" style="text-align: center| '''Методы печати данных'''
|widht="45%" colspan="2" style="text-align: center; background:#E0FFFF;"  | '''Методы печати данных'''
|-
|-
|text
|Параметр для написания текста.<br>
|('Строка по центру', 'CENTER')<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;"| '
|-
|-
| setAlignment('CENTER')
| Вывод даты/времени. Форматирует строку с датой при помощи формата, заданного выше<br>
| Печать текста с заданным ранее выравниванием командой. <br>Возможные значения второго аргумента:
'''Пример''': text(formatDate(document.documentDate))
|style="text-align: center;"| '''formatDate(document.documentDate)'''
|-
| Выравнивание текста слева-справа. <br>
'''Пример''':lr('Строка слева', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Строка справа')
|style="text-align: center;"| '''lr'''
|-
| Положение изображения на чеке (слева, по центру, справа).<br>
'''Пример''':image('Имя изображения')
Возможные значения второго аргумента:
* LEFT
* LEFT
* CENTER
* CENTER
* RIGHT
* RIGHT
Если изображение с данным именем не найдется, то распечатается пустая строка
|style="text-align: center;"| '''image'''
|-
|-
|text ('Строка с заданным выравниванием')
| Штрихкод в формате ean8.
|печать данных согласно заранее заданному параметру выравнивания
'''Пример''':ean8('12345678', 'CENTER')
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
* LEFT
* CENTER
* RIGHT
|style="text-align: center;"| '''ean8'''
|-
|-
| lr
|Штрихкод в формате ean13.
| ('Строка слева', 'Строка справа')
'''Пример''':ean13('1234567891011', 'CENTER')  
|-
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
| image
| ('Имя изображения') возможные значения второго аргумента:
* LEFT
* LEFT
* CENTER
* CENTER
* RIGHT
* RIGHT
Если изображение с данным именем не найдется, то распечатается пустая строка
|style="text-align: center;"|'''ean13'''
|-
|-
| ean8
|Штрихкод в формате code128.
| ('12345678', 'CENTER') возможные значения второго аргумента:
'''Пример''':code128('123456', 'CENTER')
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
* LEFT
* LEFT
* CENTER
* CENTER
* RIGHT
* RIGHT
|style="text-align: center;"|'''code128'''
|-
|Штрихкод в формате qrCode.
'''Пример''':qrCode('12345678', 'CENTER')
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
* LEFT
* LEFT
* CENTER
* CENTER
* RIGHT
* RIGHT
|style="text-align: center;"|'''qrCode'''
|-
|-
| feed
| Печать пустой строки.
| () Печать пустой строки
'''Пример''':feed()
|style="text-align: center;"| '''feed'''
|-
|-
| for(let item of items) { }
| Повторить символ на всю ширину строки
| Для каждой позиции документа, наименование будет печататься на новой строке
'''Пример''':repeat(_)
|style="text-align: center;"| '''repeat'''
|-
|-
| formatDate(document.documentDate)
| Печать каждой позиции с новой строки. Для каждой позиции документа, наименование будет печататься на новой строке
| Форматирует строку с датой при помощи формата, заданного выше<br>
|style="text-align: center;"| '''for(let item of items) { }'''
'''Пример''':
left(formatDate(document.documentDate))
|-
|-
| formatFeatures(item.nomenclatureFeatures)
| Форматирует список характеристик номенклатуры, перечисляя их через запятую,<br> если характеристик у товара не предусмотрено или список характеристик пустой, то автоматически ставится прочерк  
| Форматирует список характеристик номенклатуры, перечисляя их через запятую,<br> если характеристик у товара не предусмотрено или список характеристик пустой, то автоматически ставится прочерк <br>'''Пример''':  
'''Пример''': for(let item of items) {text(formatFeatures(item.nomenclatureFeatures))}
for(let item of items) {left(formatFeatures(item.nomenclatureFeatures))};
|style="text-align: center;"| '''formatFeatures(item.nomenclatureFeatures)'''
|-
|-
| formatPrice(item.purchasePrice)
| Форматирует цену, добавляя знак рубля в конце, отсекая десятые доли копеек.<br> Если цена, переданная как аргумент в данный метод, не установлена у данного товара, то автоматически ставится прочерк <br>
| Форматирует цену, добавляя знак рубля в конце, отсекая десятые доли копеек.<br> Если цена, переданная как аргумент в данный метод, не установлена у данного товара, то автоматически ставится прочерк <br>
'''Пример''':  
'''Пример''': for(let item of items) {left (formatPrice(item.purchasePrice))}
for(let item of items) {left(formatPrice(item.purchasePrice))};
|style="text-align: center;"| '''formatPrice(item.purchasePrice)'''
|-
|-
|colspan="2" style="text-align: center| '''Команды для изменения стиля текста'''  
| Форматирует единицу измерения<br>
'''Пример''': for(let item of items) {left (formatQuantity(item.quantity, item.unitCode))}
|style="text-align: center;"| '''formatQuantity(item.quantity, item.unitCode)'''
|-
|-
| setDateFormat('dd.MM.yyyy')
|colspan="2" style="text-align: center; background:#E0FFFF;"| '''Команды для изменения стиля текста'''  
| Задает формат вывода даты (формат по-умолчанию: dd-MM-yyyy)
|-
|-
| setStyle('NORMAL')
| Выравнивание последующего текста.
| Меняет стиль шрифта, по-умолчанию NORMAL<br>
'''Пример''': 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<br>
'''Пример''': setSize('MEDIUM')
Возможные значения:
Меняет размер текста, по-умолчанию MEDIUM, возможные значения:
* 'SMALL'
* 'SMALL'
* 'MEDIUM'
* 'MEDIUM'
* 'LARGE'
* 'LARGE'
* 'X_LARGE'
* 'X_LARGE'
|style="text-align: center;"| '''setSize('MEDIUM')'''
|-
|-
| setAlignment('LEFT')
| Формат вывода даты.
| Меняет параметр выравнивания текста, по-умолчанию LEFT<br>
Задает формат вывода даты (формат по-умолчанию: dd-MM-yyyy).
Возможные значения:
Перечень форматов <b>[https://date-fns.org/v2.16.1/docs/format Форматы дат]</b>.
* 'LEFT'  
|style="text-align: center;"| '''setDateFormat('dd.MM.yyyy')'''
* 'CENTER'
* 'RIGHT'
|-
|-
| text('Текст, выравненный по настройке пользователя')
| Сброс стиля текста до исходных значений.
| Это команда печати текста, опирается на установленные ранее настройки пользователя
Команда сброса стиля текста до исходных значений (LEFT, NORMAL, MEDIUM, формат даты: dd-MM-yyyy)
|style="text-align: center;"<ref></ref> | '''reset()'''
|}
 
 
 
{| class="wikitable" style="background:#FFF5EE;"
|+ Параметры данных
|-
|-
| reset()
! Описание !! Параметр
| Команда сброса стиля текста до исходных значений (LEFT, NORMAL, MEDIUM, формат даты: dd-MM-yyyy)
|-
|-
|colspan="2" style="text-align: center| '''Поля сущностей, которые можно использовать как аргументы для команд печати текста'''  
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Пользователь (сущность user)''
|-
|-
|colspan="2" style="text-align: center| ''Пользователь (сущность user)''
| Имя кассира
|style="text-align: center;"| '''user.firstName'''
|-
|-
| text(user.firstName)
| Фамилия кассира
| Имя
|style="text-align: center;"| '''user.lastName'''
|-
|-
| text(user.lastName)
| Отчество кассира
| Фамилия
|style="text-align: center;"| '''user.patronymic'''
|-
|-
| text(user.patonymic)
| Должность продавца
| Отчество
|style="text-align: center;"| '''user.position'''
|-
|-
| text(user.position)
| ИНН продавца
| Должность
|style="text-align: center;"| '''user.inn'''
|-
|-
| text(user.inn)
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Торговый объект (сущность tradeObject)''
| ИНН
|-
|-
|colspan="2" style="text-align: center| ''Торговый объект (сущность tradeObject)''
| Наименование Торгового объекта
|style="text-align: center;"| '''tradeObject.name'''
|-
|-
| text(tradeObject.name)
| Адрес Торгового объекта/ Место расчетов
| Наименование ТО
|style="text-align: center;"| '''tradeObject.address'''
|-
|-
| text(tradeObject.address)
| КПП Торгового объекта
| Адрес ТО / место расчётов
|style="text-align: center;"| '''tradeObject.kpp'''
|-
|-
| text(tradeObject.kpp)
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Организация (сущность organization)''
| КПП
|-
|-
|colspan="2" style="text-align: center| ''Организация (сущность organization)''
|-
| text(organization.name)
| Наименование организации
| Наименование организации
|style="text-align: center;"| '''organization.name'''
|-
|-
| text(organization.inn)
| ИНН организации
| ИНН
|style="text-align: center;"| '''organization.inn'''
|-
|-
| text(organization.kpp)
| КПП организации
| КПП
|style="text-align: center;"| '''organization.kpp'''
|-
|-
| text(organization.address)
| Адрес организации
| Адрес
|style="text-align: center;"| '''organization.address'''
|-
|-
|colspan="2" style="text-align: center| ''Типы документов(сущность document)''  
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Типы документов(сущность document)''  
|-
|-
| text(document.documentDate)
| Дата создания документа
| Дата создания документа
|style="text-align: center;"| '''document.documentDate'''
|-
|-
| text(document.documentNumber)
| Номер документа
| Номер документа
|style="text-align: center;"| '''document.documentNumber'''
|-
|-
| text(document.responsiblePerson)
| Ф.И.О. Ответственного
| Ф.И.О. Ответственного
|style="text-align: center;"| '''document.responsiblePerson'''
|-
|-
| text(document.description)
| Комментарий к документу
| Комментарий к документу
|style="text-align: center;"| '''document.description'''
|-
|-
| text(document.acceptedPerson)
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Позиции документа (сущность items)'' доступ к отдельной позиции только через цикл for(let item of items) { }
| Для документа '''ПЕРЕМЕЩЕНИЯ''' Ф.И.О. человека, принявшего перемещение
|-
|-
|colspan="2" style="text-align: center| ''Позиции документа (сущность items)''  доступ к отдельной позиции только через цикл for(let item of items)
|-
| text(formatFeatures(item.nomenclatureFeatures))
| Вывод характеристик позиции
| Вывод характеристик позиции
|style="text-align: center;"| '''formatFeatures(item.nomenclatureFeatures)'''
|-
|-
| text(item.name)
| Наименование позиции
| Наименование позиции
|style="text-align: center;"| '''item.name'''
|-
|-
| text(item.barcode)
| Штрихкод
| Штрихкод
|style="text-align: center;"| '''item.barcode'''
|-
|-
| text(item.vendorCode)
| Артикул
| Артикул
|style="text-align: center;"| '''item.vendorCode'''
|-
|-
| text(formatPrice(item.purchasePrice))
| Цена закупки
| Цена закупки
|style="text-align: center;"| '''formatPrice(item.purchasePrice)'''
|-
|-
| text(item.quantity)
| Количество товара
| Количество товара
|style="text-align: center;"| '''item.quantity'''
|-
|-
| text(formatPrice(item.amount))
| Сумма позиции
| Сумма позиции
|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;"| ''Для документа '''ПЕРЕМЕЩЕНИЕ'''''
|-
| Количество принятого товара (Для акта "Перемещения")
|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;"| ''Для документа '''ИНВЕНТАРИЗАЦИЯ'''''
|-
| Остаток товара
|style="text-align: center;"| '''item.accountBalance'''
|-
| Фактический остаток товара
|style="text-align: center;"| '''item.actualBalance'''
|-
| Разница остатков (шт.)
|style="text-align: center;"| '''item.variance'''
|-
| Разница остатков
|style="text-align: center;"| '''formatPrice(item.varianceAmount)'''
|-
|-
| text(item.acceptedQuantity)
| Недостача по товарам (в рублях)
| Для документа '''ПЕРЕМЕЩЕНИЕ''' количество принятого товара 
|style="text-align: center;"| '''document.totalShortageAmount'''
|-
|-
| text(formatPrice(item.sellingPrice))
| Избыток по товарам (в рублях)
| Сумма позиции, для документов '''СПИСАНИЯ''', '''ОПРИХОДОВАНИЯ''', '''ИНВЕНТАРИЗАЦИЯ'''
|style="text-align: center;"| '''formatPrice(item.varianceAmount)'''
|-
|-
| text(formatPrice(item.vatAmount))
| Цена продажи позиции (в ТО)
| Сумма НДС по позициям, для документа '''ОПРИХОДОВАНИЕ'''
|style="text-align: center;"| '''item.sellingPrice'''
|-
|-
|colspan="2" style="text-align: center| ''Дополнительные поля для документа ИНВЕНТАРИЗАЦИЯ''  
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Для документа '''СПИСАНИЕ'''''  
|-
|-
| text(item.accountBalance)
| Итого Сумма закупки по всем товарам
| Остаток позиции в системе
|style="text-align: center;"| '''document.totalPurchaseAmount'''
|-
|-
| text(item.actualBalance)
| Итого Сумма продажи по всем товарам
| Реальный остаток товара
|style="text-align: center;"| '''document.totalSellingAmount'''
|-
|-
| text(item.variance)
| Информация о контрагенте
| Количественная разница между остатками
|style="text-align: center;"| '''document.contractor.shortName''' - ФИО контрагента<br>
'''document.contractor.inn''' - ИНН контрагента<br>
'''document.contractor.address''' - Адрес контрагента
|-
|-
| text(formatPrice(item.varianceAmount)
| Информация о статье списания
| Ценовая разница между остатками
|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'''
|}
|}




Строка 270: Строка 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>* Дата обновления документа<br>* Ответственный
Строка 276: Строка 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>* Ответственный
|-
| '''Кассовые данные'''
| * Номер кассы<br>* РН ККТ<br>* №ФН<br>* ЗН ККТ
| * Номер кассы<br>* РН ККТ<br>* №ФН<br>* ЗН ККТ
| * Номер кассы<br>* РН ККТ<br>* №ФН<br>* ЗН ККТ
| * Номер кассы<br>* РН ККТ<br>* №ФН<br>* ЗН ККТ
| * Номер кассы<br>* РН ККТ<br>* №ФН<br>* ЗН ККТ
| * Номер кассы<br>* РН ККТ<br>* №ФН<br>* ЗН ККТ
|-
|-
| '''Позиции в документе'''
| '''Позиции в документе'''
Строка 294: Строка 500:
|-
|-
| '''Прочие данные'''
| '''Прочие данные'''
| Комментарий
|
| * Итого (Сумма  всех позиций)<br>* Контрагент
| * Итого (Сумма  всех позиций)<br>* Контрагент
| * Комментарий<br>* Итого (Сумма всех позиций)<br>* Контрагент<br>* Статья списания
| * Комментарий<br>* Итого (Сумма всех позиций)<br>* Контрагент<br>* Статья списания
Строка 301: Строка 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

Подраздел Шаблоны печати

Печатные формы - это механизм редактирования шаблонов, который позволяет централизованно конструировать/редактировать/обновлять печатные формы документов, используемые на РМК кассиром.
Шаблоны предназначены для печати на ККТ средствами не фискальной печати.


Создавать шаблоны можно будет для следующих документов учета:

  • Оприходование
  • Списание
  • Инвентаризация
  • Перемещение
  • Заказ на закупку


Также можно будет создавать индивидуальные шаблоны для Фискальных документов:

  • Чек

Для Фискальных документов доступно только редактирование Шапки и Подвала чека.

Note.svg Примечание

  • Шапка чека - представляет собой заголовок чека и обычно содержит приветствие и данные организации (адрес, телефон, объект, ФИО директора и др. информацию).
  • Подвал чека - это нижняя часть чека, которая расположена после его итоговых строк и позволяет указать там дополнительную информацию о (способах возврата, описание акции, добавить картинку, эмблему организации и др.)


Подраздел Шаблоны печати представлен в виде таблицы в которой собраны все созданные шаблоны печатных форм организации.
Табличная часть содержит в себе следующую информацию:

  • Наименование шаблона
  • Тип документа

Также в подразделе предусмотрена система фильтров для более удобного поиска шаблонов.


Создание шаблона

Шаблон печатной формы для фискальных чеков
Шаблон печатной формы для документов учета

Для создания шаблона совершите следующие действия:

  • Перейдите в подраздел Шаблоны печати
  • Нажмите на кнопку Создать
  • Во всплывающем окне:
    • Выберите Тип документа
    • Укажите название шаблона:
      • Для фискальных документов внесите описание в окна Шаблон шапки и Шаблон подвала
      • Для документов учета внесите описание в окно Шаблон
    • При необходимости добавить изображение нажмите кнопку Добавить и добавьте изображения с вашего компьютера
  • В правой части экрана будет отображаться окно Предварительный просмотр, для просмотра созданного описания нажмите кнопку Значок Обновить.png
  • Для завершения создания шаблона нажмите кнопку Сохранить


Note.svg Примечание

  • Для удаления шаблона в подразделе Шаблоны печати установите чекбокс в ячейке шаблона и нажмите кнопку Удаление в Личном кабинете.png.


Список поддерживаемых касс (Android)

САЛЮТ 12Ф АТОЛ MSPOS НЕВА/ПЕЙМОБ ШТРИХ-М МЕРКУРИЙ

✅Печать изображения
✅Печать шрифтов разного размера
✅Жирный шрифт
✅Курсивный шрифт
✅Подчеркнутый
✅Центрирование
✅Штрихкод
✅QR-code

❌Печать изображения
✅Печать шрифтов разного размера
❌Жирный шрифт
❌Курсивный шрифт
❌Подчеркнутый
✅Центрирование
✅Штрихкод
✅QR-code

✅Печать изображения (только формат картинки jpg)
✅Печать шрифтов разного размера
❌Жирный шрифт
❌Курсивный шрифт
❌Подчеркнутый
✅Центрирование
✅Штрихкод
✅QR-code

❌Печать изображения
✅Печать шрифтов разного размера
✅Жирный шрифт
❌Курсивный шрифт
❌Подчеркнутый
✅Центрирование
✅Штрихкод
❌QR-code

❌Печать изображения
❌Печать шрифтов разного размера
❌Жирный шрифт
❌Курсивный шрифт
❌Подчеркнутый
✅Центрирование
✅Штрихкод
✅QR-code

❌Печать изображения
❌Печать шрифтов разного размера
❌Жирный шрифт
❌Курсивный шрифт
❌Подчеркнутый
✅Центрирование
❌Штрихкод
✅QR-code

Список поддерживаемых касс (Desktop)

АТОЛ МЕРКУРИЙ ШТРИХ-М ДРИМКАСС

❌Печать изображения
✅Печать шрифтов разного размера
❌Жирный шрифт
❌Курсивный шрифт
❌Подчеркнутый
✅Центрирование
✅Штрихкод
✅QR-code

❌Печать изображения
❌Печать шрифтов разного размера
❌Жирный шрифт
❌Курсивный шрифт
❌Подчеркнутый
✅Центрирование
✅Штрихкод
❌QR-code

❌Печать изображения
❌Печать шрифтов разного размера
❌Жирный шрифт
❌Курсивный шрифт
❌Подчеркнутый
✅Центрирование
✅Штрихкод
✅QR-code

❌Печать изображения
❌Печать шрифтов разного размера
❌Жирный шрифт
❌Курсивный шрифт
❌Подчеркнутый
✅Центрирование
✅Штрихкод
✅QR-code


Пример создания шаблона

При создании шаблона печати необходимо использовать следующие параметры:

Параметры для редактирования текста
Описание Параметр
Методы печати данных
Параметр для написания текста.
Пример: text('Строка по центру', 'CENTER')

Возможные значения второго аргумента:

  • LEFT
  • CENTER
  • RIGHT
text('текст')
Написание текста в одну строчку установите символ между параметрами или между текстом и параметром
Пример: text('Организация:'+ organization.name)
+
При использовании обычного текста необходимо обозначить его, для этого используйте данный символ.

Важно!:

  • Символ необходимо указывать в начале и в конце текста
  • При указании параметров данный символ не используется
  • Текст указанный без данных символов не будет напечатан в чеке
Пример: text('Организация:',organization.name)
'
Вывод даты/времени. Форматирует строку с датой при помощи формата, заданного выше
Пример: text(formatDate(document.documentDate))
formatDate(document.documentDate)
Выравнивание текста слева-справа.
Пример:lr('Строка слева',                                      'Строка справа')
lr
Положение изображения на чеке (слева, по центру, справа).
Пример:image('Имя изображения')

Возможные значения второго аргумента:

  • LEFT
  • CENTER
  • RIGHT

Если изображение с данным именем не найдется, то распечатается пустая строка

image
Штрихкод в формате ean8.
Пример:ean8('12345678', 'CENTER') 

Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')

  • LEFT
  • CENTER
  • RIGHT
ean8
Штрихкод в формате ean13.
Пример:ean13('1234567891011', 'CENTER') 

Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')

  • LEFT
  • CENTER
  • RIGHT
ean13
Штрихкод в формате code128.
Пример:code128('123456', 'CENTER')

Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')

  • LEFT
  • CENTER
  • RIGHT
code128
Штрихкод в формате qrCode.
Пример:qrCode('12345678', 'CENTER')

Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')

  • LEFT
  • CENTER
  • RIGHT
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):

  • LEFT
  • CENTER
  • RIGHT
setAlignment('CENTER')
Изменение стиля шрифта.
Пример: setStyle('NORMAL')

Меняет стиль шрифта, по-умолчанию NORMAL, возможные значения:

  • 'NORMAL' (обычный)
  • 'BOLD' (жирный)
  • 'ITALIC' (курсив)
  • 'UNDERSCORED' (подчеркнутый)
setStyle('NORMAL')
Изменение размера текста.
Пример: setSize('MEDIUM')

Меняет размер текста, по-умолчанию MEDIUM, возможные значения:

  • 'SMALL'
  • 'MEDIUM'
  • 'LARGE'
  • 'X_LARGE'
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 - ИНН контрагента
document.contractor.address - Адрес контрагента

Для документа ПЕРЕМЕЩЕНИЕ
Количество принятого товара (Для акта "Перемещения") 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.contractor.address - Адрес контрагента

Информация о статье списания 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')

Читайте также