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

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


Строка 31: Строка 31:
= Создание шаблона =
= Создание шаблона =


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


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


Для создания шаблона совершите следующие действия:
Для создания шаблона совершите следующие действия:
Строка 52: Строка 52:
<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
|}


Для начала необходимо понимать, при создании шаблона используются основные параметры (будут указаны в таблице ниже), которые отвеают за отображении данных в чеке, а также дополнительные переменные/символы, которые позволят кастомизировать и стилизовать печатную форму.


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


При создании шаблона печати необходимо использовать следующие параметры:
При создании шаблона печати необходимо использовать следующие параметры:
Строка 64: Строка 169:
! Описание !! Параметр  
! Описание !! Параметр  
|-
|-
|colspan="2" style="text-align: center; background:#E0FFFF;" | '''Методы печати данных'''
|widht="45%" colspan="2" style="text-align: center; background:#E0FFFF;" | '''Методы печати данных'''
|-
|-
|Параметр для написания текста.<br>  
|Параметр для написания текста.<br>  
  Пример: text('Строка по центру', 'CENTER')
  '''Пример''': text('Строка по центру', 'CENTER')
Возможные значения второго аргумента:
Возможные значения второго аргумента:
* LEFT
* LEFT
Строка 73: Строка 178:
* RIGHT
* RIGHT
|style="text-align: center;"|'''text('текст')'''
|style="text-align: center;"|'''text('текст')'''
|-
| Написание текста в одну строчку установите символ между параметрами или между текстом и параметром
'''Пример''': text('Организация:'+ organization.name)
|style="text-align: center;"| '''+'''
|-
| При использовании обычного текста необходимо обозначить его, для этого используйте данный символ.
'''Важно!''':
* Символ необходимо указывать в начале и в конце текста
* При указании параметров данный символ не используется
* Текст указанный без данных символов не будет напечатан в чеке
'''Пример''': text('Организация:',organization.name)
|style="text-align: center;"| '
|-
|-
| Вывод даты/времени. Форматирует строку с датой при помощи формата, заданного выше<br>
| Вывод даты/времени. Форматирует строку с датой при помощи формата, заданного выше<br>
'''Пример''':
'''Пример''': text(formatDate(document.documentDate))
left(formatDate(document.documentDate))
|style="text-align: center;"| '''formatDate(document.documentDate)'''
|style="text-align: center;"| '''formatDate(document.documentDate)'''
|-
|-
| Выравнивание текста слева-справа. <br>
| Выравнивание текста слева-справа. <br>
('Строка слева'), &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;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;('Строка справа')
'''Пример''':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'''
|style="text-align: center;"| '''lr'''
|-
|-
| Положение изображения на чеке (слева, по центру, справа). ('Имя изображения') возможные значения второго аргумента:
| Положение изображения на чеке (слева, по центру, справа).<br>
'''Пример''':image('Имя изображения')
Возможные значения второго аргумента:
* LEFT
* LEFT
* CENTER
* CENTER
Строка 90: Строка 208:
|style="text-align: center;"| '''image'''
|style="text-align: center;"| '''image'''
|-
|-
| Штрихкод в формате ean8. ('12345678', 'CENTER') <br> Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
| Штрихкод в формате ean8.  
'''Пример''':ean8('12345678', 'CENTER')  
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
* LEFT
* LEFT
* CENTER
* CENTER
Строка 96: Строка 216:
|style="text-align: center;"| '''ean8'''
|style="text-align: center;"| '''ean8'''
|-
|-
|Штрихкод в формате ean13. ('1234567891011', 'CENTER') <br>
|Штрихкод в формате ean13.
'''Пример''':ean13('1234567891011', 'CENTER')  
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
* LEFT
* LEFT
Строка 103: Строка 224:
|style="text-align: center;"|'''ean13'''
|style="text-align: center;"|'''ean13'''
|-
|-
|Штрихкод в формате code128. ('123456', 'CENTER') <br>
|Штрихкод в формате code128.
'''Пример''':code128('123456', 'CENTER')
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
* LEFT
* LEFT
Строка 110: Строка 232:
|style="text-align: center;"|'''code128'''
|style="text-align: center;"|'''code128'''
|-
|-
|Штрихкод в формате qrCode. ('12345678', 'CENTER') <br>
|Штрихкод в формате qrCode.  
'''Пример''':qrCode('12345678', 'CENTER')
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
* LEFT
* LEFT
Строка 117: Строка 240:
|style="text-align: center;"|'''qrCode'''
|style="text-align: center;"|'''qrCode'''
|-
|-
| Печать пустой строки ()
| Печать пустой строки.
'''Пример''':feed()
|style="text-align: center;"| '''feed'''
|style="text-align: center;"| '''feed'''
|-
|-
| Повторить символ на всю ширину строки (=)
| Повторить символ на всю ширину строки
'''Пример''':repeat(_)
|style="text-align: center;"| '''repeat'''
|style="text-align: center;"| '''repeat'''
|-
|-
Строка 126: Строка 251:
|style="text-align: center;"| '''for(let item of items) { }'''
|style="text-align: center;"| '''for(let item of items) { }'''
|-
|-
| Форматирует список характеристик номенклатуры, перечисляя их через запятую,<br> если характеристик у товара не предусмотрено или список характеристик пустой, то автоматически ставится прочерк <br>'''Пример''':  
| Форматирует список характеристик номенклатуры, перечисляя их через запятую,<br> если характеристик у товара не предусмотрено или список характеристик пустой, то автоматически ставится прочерк  
for(let item of items) {left(formatFeatures(item.nomenclatureFeatures))};
'''Пример''': for(let item of items) {text(formatFeatures(item.nomenclatureFeatures))}
|style="text-align: center;"| '''formatFeatures(item.nomenclatureFeatures)'''
|style="text-align: center;"| '''formatFeatures(item.nomenclatureFeatures)'''
|-
|-
| Форматирует цену, добавляя знак рубля в конце, отсекая десятые доли копеек.<br> Если цена, переданная как аргумент в данный метод, не установлена у данного товара, то автоматически ставится прочерк <br>
| Форматирует цену, добавляя знак рубля в конце, отсекая десятые доли копеек.<br> Если цена, переданная как аргумент в данный метод, не установлена у данного товара, то автоматически ставится прочерк <br>
'''Пример''':  
'''Пример''': for(let item of items) {left (formatPrice(item.purchasePrice))}
for(let item of items) {left(formatPrice(item.purchasePrice))};
|style="text-align: center;"| '''formatPrice(item.purchasePrice)'''
|style="text-align: center;"| '''formatPrice(item.purchasePrice)'''
|-
| Форматирует единицу измерения<br>
'''Пример''': for(let item of items) {left (formatQuantity(item.quantity, item.unitCode))}
|style="text-align: center;"| '''formatQuantity(item.quantity, item.unitCode)'''
|-
|-
|colspan="2" style="text-align: center; background:#E0FFFF;"| '''Команды для изменения стиля текста'''  
|colspan="2" style="text-align: center; background:#E0FFFF;"| '''Команды для изменения стиля текста'''  
|-
|-
| Выравнивание последующего текста. Возможные значения второго аргумента (по-умолчанию LEFT):
| Выравнивание последующего текста.
'''Пример''': setAlignment('CENTER')
Возможные значения второго аргумента (по-умолчанию LEFT):
* LEFT
* LEFT
* CENTER
* CENTER
Строка 143: Строка 273:
|style="text-align: center;"| '''setAlignment('CENTER')'''
|style="text-align: center;"| '''setAlignment('CENTER')'''
|-
|-
| Изменение стиля шрифта. Меняет стиль шрифта, по-умолчанию NORMAL<br>
| Изменение стиля шрифта.  
Возможные значения:
'''Пример''': setStyle('NORMAL')
Меняет стиль шрифта, по-умолчанию NORMAL, возможные значения:
* 'NORMAL' (обычный)
* 'NORMAL' (обычный)
* 'BOLD' (жирный)
* 'BOLD' (жирный)
Строка 151: Строка 282:
|style="text-align: center;"| '''setStyle('NORMAL')'''
|style="text-align: center;"| '''setStyle('NORMAL')'''
|-
|-
| Изменение размера текста. Меняет размер текста, по-умолчанию MEDIUM<br>
| Изменение размера текста.
Возможные значения:
'''Пример''': setSize('MEDIUM')
Меняет размер текста, по-умолчанию MEDIUM, возможные значения:
* 'SMALL'
* 'SMALL'
* 'MEDIUM'
* 'MEDIUM'
Строка 159: Строка 291:
|style="text-align: center;"| '''setSize('MEDIUM')'''
|style="text-align: center;"| '''setSize('MEDIUM')'''
|-
|-
| Формат вывода даты. Задает формат вывода даты (формат по-умолчанию: dd-MM-yyyy). Перечень форматов <b>[https://date-fns.org/v2.16.1/docs/format Форматы дат]</b>.
| Формат вывода даты.  
Задает формат вывода даты (формат по-умолчанию: dd-MM-yyyy).  
Перечень форматов <b>[https://date-fns.org/v2.16.1/docs/format Форматы дат]</b>.
|style="text-align: center;"| '''setDateFormat('dd.MM.yyyy')'''
|style="text-align: center;"| '''setDateFormat('dd.MM.yyyy')'''
|-
|-
| Сброс стиля текста до исходных значений. Команда сброса стиля текста до исходных значений (LEFT, NORMAL, MEDIUM, формат даты: dd-MM-yyyy)
| Сброс стиля текста до исходных значений.  
|style="text-align: center;"| '''reset()'''
Команда сброса стиля текста до исходных значений (LEFT, NORMAL, MEDIUM, формат даты: dd-MM-yyyy)
|style="text-align: center;"<ref></ref> | '''reset()'''
|}
|}


Строка 169: Строка 304:


{| class="wikitable" style="background:#FFF5EE;"
{| class="wikitable" style="background:#FFF5EE;"
|+ Параметры для создания шаблона печати
|+ Параметры данных
|-
|-
! Описание !! Параметр  
! Описание !! Параметр  
|-
|colspan="2" style="text-align: center; background:#E0FFFF;"| '''Методы печати данных'''
|-
|colspan="2" style="text-align: center; background:#E0FFFF;"| '''Поля сущностей, которые можно использовать как аргументы для команд печати текста'''
|-
|-
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Пользователь (сущность user)''
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Пользователь (сущность user)''
Строка 186: Строка 317:
|-
|-
| Отчество кассира
| Отчество кассира
|style="text-align: center;"| '''user.patonymic'''
|style="text-align: center;"| '''user.patronymic'''
|-
|-
| Должность продавца
| Должность продавца
Строка 233: Строка 364:
|style="text-align: center;"| '''document.description'''
|style="text-align: center;"| '''document.description'''
|-
|-
| ФИО сотрудника принявшего перемещение товара
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Позиции документа (сущность items)''  доступ к отдельной позиции только через цикл for(let item of items) { }
|style="text-align: center;"| '''document.acceptedPerson'''
|-
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Позиции документа (сущность items)''  доступ к отдельной позиции только через цикл for(let item of items)
|-
|-
| Вывод характеристик позиции
| Вывод характеристик позиции
Строка 258: Строка 386:
| Сумма позиции
| Сумма позиции
|style="text-align: center;"| '''formatPrice(item.amount)'''
|style="text-align: center;"| '''formatPrice(item.amount)'''
|-
| Количество принятого товара (Для акта "Перемещения")
|style="text-align: center;"| '''item.acceptedQuantity'''
|-
|-
| Сумма позиции для учетных документов
| Сумма позиции для учетных документов
|style="text-align: center;"| '''formatPrice(item.sellingPrice)'''
|style="text-align: center;"| '''formatPrice(item.sellingPrice)'''
|-
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Для документа '''ОПРИХОДОВАНИЕ'''''
|-
|-
| Сумма НДС для акта "Оприходования"
| Сумма НДС для акта "Оприходования"
|style="text-align: center;"| '''formatPrice(item.vatAmount)'''
|style="text-align: center;"| '''formatPrice(item.vatAmount)'''
|-
|-
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Дополнительные поля для документа ИНВЕНТАРИЗАЦИЯ''  
| Название НДС позиции
|style="text-align: center;"| '''item.vat'''
|-
| Итого Сумма закупки по всем товарам
|style="text-align: center;"| '''document.totalPurchaseAmount'''
|-
| Итого Сумма продажи по всем товарам
|style="text-align: center;"| '''document.totalSellingAmount'''
|-
| Информация о контрагенте
|style="text-align: center;"| '''document.contractor.shortName''' - ФИО контрагента<br>
'''document.contractor.inn''' - ИНН контрагента<br>
'''document.contractor.address''' - Адрес контрагента
|-
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Для документа '''ПЕРЕМЕЩЕНИЕ'''''
|-
| Количество принятого товара (Для акта "Перемещения")
|style="text-align: center;"| '''item.acceptedQuantity'''
|-
| ФИО сотрудника принявшего перемещение товара
|style="text-align: center;"| '''document.acceptedPerson'''
|-
| ТО Отправитель (Для акта "Перемещения")
|style="text-align: center;"| '''tradeObjectFrom.address'''
|-
| ТО Получатель (Для акта "Перемещения")
|style="text-align: center;"| '''tradeObjectTo.address'''
|-
| Итого Сумма закупки по всем товарам
|style="text-align: center;"| '''document.totalPurchaseAmount'''
|-
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Для документа '''ИНВЕНТАРИЗАЦИЯ'''''  
|-
|-
| Остаток товара  
| Остаток товара  
Строка 276: Строка 434:
|style="text-align: center;"| '''item.actualBalance'''
|style="text-align: center;"| '''item.actualBalance'''
|-
|-
| Разница остатков
| Разница остатков (шт.)
|style="text-align: center;"| '''item.variance'''
|style="text-align: center;"| '''item.variance'''
|-
|-
| Разница остатков
| Разница остатков
|style="text-align: center;"| '''formatPrice(item.varianceAmount)'''
|style="text-align: center;"| '''formatPrice(item.varianceAmount)'''
|-
| Недостача по товарам (в рублях)
|style="text-align: center;"| '''document.totalShortageAmount'''
|-
| Избыток по товарам (в рублях)
|style="text-align: center;"| '''formatPrice(item.varianceAmount)'''
|-
| Цена продажи позиции (в ТО)
|style="text-align: center;"| '''item.sellingPrice'''
|-
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Для документа '''СПИСАНИЕ'''''
|-
| Итого Сумма закупки по всем товарам
|style="text-align: center;"| '''document.totalPurchaseAmount'''
|-
| Итого Сумма продажи по всем товарам
|style="text-align: center;"| '''document.totalSellingAmount'''
|-
| Информация о контрагенте
|style="text-align: center;"| '''document.contractor.shortName''' - ФИО контрагента<br>
'''document.contractor.inn''' - ИНН контрагента<br>
'''document.contractor.address''' - Адрес контрагента
|-
| Информация о статье списания
|style="text-align: center;"| '''document.writeOffArticle.name''' - Наименование статьи списания<br>
'''document.writeOffArticle.articleNumber''' - Номер статьи списания
|-
|colspan="2" style="text-align: center; background:#E0FFFF;"| ''Для документа '''ЗАКАЗ НА ЗАКУПКУ'''''
|-
| Итого Сумма закупки по всем товарам
|style="text-align: center;"| '''document.totalPurchaseAmount'''
|}
|}


Строка 295: Строка 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>* Ответственный
Строка 311: Строка 500:
|-
|-
| '''Прочие данные'''
| '''Прочие данные'''
| Комментарий
|
| * Итого (Сумма  всех позиций)<br>* Контрагент
| * Итого (Сумма  всех позиций)<br>* Контрагент
| * Комментарий<br>* Итого (Сумма всех позиций)<br>* Контрагент<br>* Статья списания
| * Комментарий<br>* Итого (Сумма всех позиций)<br>* Контрагент<br>* Статья списания
Строка 322: Строка 511:
== Примеры шаблонов печати ==
== Примеры шаблонов печати ==


{{ProductTable-4
{{ProductTable-6
|title-1= '''Шаблон "Списание"'''
|title-1= '''Шаблон "Чек"'''
|title-2= '''Шаблон "Оприходование"'''
|title-2= '''Шаблон "Списание"'''
|title-3= '''Шаблон "Перемещение"'''
|title-3= '''Шаблон "Оприходование"'''
|title-4= '''Шаблон "Инвентаризация"'''
|title-4= '''Шаблон "Перемещение"'''
|title-5= '''Шаблон "Инвентаризация"'''
|title-6= '''Шаблон "Заказ на закупку"'''
|content-1=  
|content-1=  
'''Шаблон Шапки'''
<syntaxhighlight>
setStyle('UNDERSCORED')
setSize('SMALL')
setAlignment('CENTER')
text('Добро пожаловать в '+ organization.name)
image ('Шаблон 1.jpg')
feed()
feed()
</syntaxhighlight>
'''Шаблон Подвала'''
<syntaxhighlight>
setStyle('BOLD')
setAlignment('CENTER')
setSize('SMALL')
text('Ждем вас снова!')
feed()
feed()
text('Посетите наш сайт')
text('перейдите по QR')
feed()
qrCode('https://kassa.bifit.com/', 'CENTER')
</syntaxhighlight>
|content-2=
<syntaxhighlight>
<syntaxhighlight>
setAlignment ('CENTER')
setAlignment ('CENTER')
Строка 369: Строка 586:
qrCode ('https://kassa.bifit.com','CENTER')
qrCode ('https://kassa.bifit.com','CENTER')
</syntaxhighlight>
</syntaxhighlight>
|content-2=
|content-3=
<syntaxhighlight>
<syntaxhighlight>
setAlignment ('CENTER')
setAlignment ('CENTER')
Строка 411: Строка 628:
qrCode ('https://kassa.bifit.com','CENTER')
qrCode ('https://kassa.bifit.com','CENTER')
</syntaxhighlight>
</syntaxhighlight>
|content-3=
|content-4=
<syntaxhighlight>
<syntaxhighlight>
setAlignment ('CENTER')
setAlignment ('CENTER')
Строка 424: Строка 641:
code128 (document.documentNumber)
code128 (document.documentNumber)
feed ()
feed ()
lr('ТО отправитель: ', tradeObjectFrom.name)
lr('ТО отправитель: ', tradeObjectFrom.address)
lr('ТО получатель: ', tradeObjectTo.name)
lr('ТО получатель: ', tradeObjectTo.address)
feed ()
feed ()
reset ()
reset ()
for(let item of items) {
for(let item of items) {
   repeat ('-')
   repeat ('-')
  text( item.name)
text( item.name)
   text('Артикул:' + item.vendorCode)
   text('Артикул:' + item.vendorCode)
   text('ШК:' + item.barcode)
   text('ШК:' + item.barcode)
  text('Характеристика:'+formatFeatures(item.nomenclatureFeatures))
text('Характеристика:'+formatFeatures(item.nomenclatureFeatures))
   lr('Цена закупки:', formatPrice(item.purchasePrice))
   lr('Цена закупки:', formatPrice(item.purchasePrice))
   lr('Кол-во переданного товара:', item.quantity+'шт')
   lr('Кол-во переданного товара:', item.quantity+'шт')
Строка 457: Строка 674:
qrCode ('https://kassa.bifit.com','CENTER')
qrCode ('https://kassa.bifit.com','CENTER')
</syntaxhighlight>
</syntaxhighlight>
|content-4=
|content-5=
<syntaxhighlight>
<syntaxhighlight>
setAlignment ('CENTER')
setAlignment ('CENTER')
Строка 494: Строка 711:
feed ()
feed ()
qrCode ('https://kassa.bifit.com','CENTER')
qrCode ('https://kassa.bifit.com','CENTER')
</syntaxhighlight>
|content-6=
<syntaxhighlight>
setAlignment('CENTER')
setSize('SMALL')
setStyle('ITALIC')
text('Заказ на закупку')
text(document.documentNumber)
setDateFormat('dd.MM.yyyy')
text(formatDate(document.documentDate))
feed()
code128(document.documentNumber)
feed()
lr('Торговый объект:', tradeObject.name)
feed()
reset()
for(let item of items) {
  repeat('-')
  text(item.name)
  lr('Количество товара:', formatQuantity(item.quantity, item.unitCode))
  lr('Сумма:', formatPrice(item.amount))
  feed()
}
repeat('-')
feed()
feed()
lr(user.position, document.responsiblePerson)
feed()
lr('Подпись:', '________________')
feed()
text(document.description)
feed()
qrCode('https://kassa.bifit.com', 'CENTER')
</syntaxhighlight>
</syntaxhighlight>
}}
}}
== Читайте также ==
* <b>[https://kassa.bifit.com/wiki/index.php?title=Шаблоны_печати_чеков_на_Desktop Как применить шаблоны печати чеков в приложении Касса Розница Desktop]</b>
* <b>[https://kassa.bifit.com/wiki/index.php?title=Шаблоны_печати_чеков_на_Android Как применить шаблоны печати чеков в приложении Касса Android]</b>

Текущая версия на 17:40, 19 января 2023

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

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


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

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


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

  • Чек

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

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')

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