Шаблоны печати чеков
Печатные формы - это механизм редактирования шаблонов, который позволяет централизованно конструировать/редактировать/обновлять печатные формы документов, используемые на РМК кассиром.
Шаблоны предназначены для печати на ККТ средствами не фискальной печати.
Создавать шаблоны можно будет для следующих документов учета:
- Оприходование
- Списание
- Инвентаризация
- Перемещение
- Заказ на закупку
Также можно будет создавать индивидуальные шаблоны для Фискальных документов:
- Чек
Для Фискальных документов доступно только редактирование Шапки и Подвала чека.
- Шапка чека - представляет собой заголовок чека и обычно содержит приветствие и данные организации (адрес, телефон, объект, ФИО директора и др. информацию).
- Подвал чека - это нижняя часть чека, которая расположена после его итоговых строк и позволяет указать там дополнительную информацию о (способах возврата, описание акции, добавить картинку, эмблему организации и др.)
Подраздел Шаблоны печати представлен в виде таблицы в которой собраны все созданные шаблоны печатных форм организации.
Табличная часть содержит в себе следующую информацию:
- Наименование шаблона
- Тип документа
Также в подразделе предусмотрена система фильтров для более удобного поиска шаблонов.
Создание шаблона
Для создания шаблона совершите следующие действия:
- Перейдите в подраздел Шаблоны печати
- Нажмите на кнопку Создать
- Во всплывающем окне:
- Выберите Тип документа
- Укажите название шаблона:
- Для фискальных документов внесите описание в окна Шаблон шапки и Шаблон подвала
- Для документов учета внесите описание в окно Шаблон
- При необходимости добавить изображение нажмите кнопку Добавить и добавьте изображения с вашего компьютера
- В правой части экрана будет отображаться окно Предварительный просмотр, для просмотра созданного описания нажмите кнопку

- Для завершения создания шаблона нажмите кнопку Сохранить
Пример создания шаблона
Для начала необходимо понимать, при создании шаблона используются основные параметры (будут указаны в таблице ниже), которые отвеают за отображении данных в чеке, а также дополнительные переменные/символы, которые позволят кастомизировать и стилизовать печатную форму.
При создании шаблона печати необходимо использовать следующие параметры:
| Описание | Параметр | Описание параметра |
|---|---|---|
| Методы печати данных | ||
| Параметр для написание текста | text | ('Строка по центру', 'CENTER') Возможные значения второго аргумента:
|
| Вывод даты/времени | formatDate(document.documentDate) | Форматирует строку с датой при помощи формата, заданного выше Пример: left(formatDate(document.documentDate)) |
| Выравнивание текста слева-справа | lr | ('Строка слева'), ('Строка справа') |
| Положение изображения на чеке (слева, по центру, справа) | image | ('Имя изображения') возможные значения второго аргумента:
Если изображение с данным именем не найдется, то распечатается пустая строка |
| Штрихкод в формате ean8 | ean8 | ('12345678', 'CENTER') Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
|
| Штрихкод в формате ean13 | ean13 | ('1234567891011', 'CENTER') Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
|
| Штрихкод в формате code128 | code128 | ('123456', 'CENTER') Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
|
| Штрихкод в формате qrCode | qrCode | ('12345678', 'CENTER') Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
|
| Печать пустой строки | feed | () Печать пустой строки |
| Повторить символ на всю ширину строки | repeat | (=) Повторить символ на всю ширину строки |
| Печать каждой позиции с новой строки | for(let item of items) { } | Для каждой позиции документа, наименование будет печататься на новой строке |
| Форматирование характеристик номенклатуры | formatFeatures(item.nomenclatureFeatures) | Форматирует список характеристик номенклатуры, перечисляя их через запятую, если характеристик у товара не предусмотрено или список характеристик пустой, то автоматически ставится прочерк Пример: for(let item of items) {left(formatFeatures(item.nomenclatureFeatures))};
|
| Форматирование цены | formatPrice(item.purchasePrice) | Форматирует цену, добавляя знак рубля в конце, отсекая десятые доли копеек. Если цена, переданная как аргумент в данный метод, не установлена у данного товара, то автоматически ставится прочерк Пример: for(let item of items) {left(formatPrice(item.purchasePrice))};
|
| Команды для изменения стиля текста | ||
| Выравнивание последующего текста | setAlignment('CENTER') | Возможные значения второго аргумента (по-умолчанию LEFT):
Выравнивание происходит до следующей подобной команды или сброса стиля текста. |
| Изменение стиля шрифта | setStyle('NORMAL') | Меняет стиль шрифта, по-умолчанию NORMAL Возможные значения:
|
| Изменение размера текста | setSize('MEDIUM') | Меняет размер текста, по-умолчанию MEDIUM Возможные значения:
|
| Формат вывода даты | setDateFormat('dd.MM.yyyy') | Задает формат вывода даты (формат по-умолчанию: dd-MM-yyyy). Перечень форматов Форматы дат. |
| Сброс стиля текста до исходных значений | reset() | Команда сброса стиля текста до исходных значений (LEFT, NORMAL, MEDIUM, формат даты: dd-MM-yyyy) |
| Поля сущностей, которые можно использовать как аргументы для команд печати текста | ||
| Пользователь (сущность user) | ||
| Имя кассира | text(user.firstName) | Имя |
| Фамилия кассира | text(user.lastName) | Фамилия |
| Отчество кассира | text(user.patonymic) | Отчество |
| Должность продавца | text(user.position) | Должность |
| ИНН продавца | text(user.inn) | ИНН |
| Торговый объект (сущность tradeObject) | ||
| Наименование Торгового объекта | text(tradeObject.name) | Наименование ТО |
| Адрес Торгового объекта/ Место расчетов | text(tradeObject.address) | Адрес ТО / место расчётов |
| КПП Торгового объекта | text(tradeObject.kpp) | КПП |
| Организация (сущность organization) | ||
| Наименование организации | text(organization.name) | Наименование организации |
| ИНН организации | text(organization.inn) | ИНН |
| КПП организации | text(organization.kpp) | КПП |
| Адрес организации | text(organization.address) | Адрес |
| Типы документов(сущность document) | ||
| Дата создания документа | text(document.documentDate) | Дата создания документа |
| Номер документа | text(document.documentNumber) | Номер документа |
| Ф.И.О. Ответственного | text(document.responsiblePerson) | Ф.И.О. Ответственного |
| Комментарий к документу | text(document.description) | Комментарий к документу |
| ФИО сотрудника принявшего перемещение товара | text(document.acceptedPerson) | Для акта ПЕРЕМЕЩЕНИЯ Ф.И.О. человека, принявшего перемещение |
| Позиции документа (сущность items) доступ к отдельной позиции только через цикл for(let item of items) | ||
| Вывод характеристик позиции | text(formatFeatures(item.nomenclatureFeatures)) | Вывод характеристик позиции |
| Наименование позиции | text(item.name) | Наименование позиции |
| Штрихкод | text(item.barcode) | Штрихкод |
| Артикул | text(item.vendorCode) | Артикул |
| Цена закупки | text(formatPrice(item.purchasePrice)) | Цена закупки |
| Количество товара | text(item.quantity) | Количество товара |
| Сумма позиции | text(formatPrice(item.amount)) | Сумма позиции |
| Количество принятого товара (Для акта "Перемещения") | text(item.acceptedQuantity) | Для акта ПЕРЕМЕЩЕНИЯ количество принятого товара |
| Сумма позиции для учетных документов | text(formatPrice(item.sellingPrice)) | Сумма позиции, для актов СПИСАНИЯ, ОПРИХОДОВАНИЯ, ИНВЕНТАРИЗАЦИЯ |
| Сумма НДС для акта "Оприходования" | text(formatPrice(item.vatAmount)) | Сумма НДС по позициям, для акта ОПРИХОДОВАНИЕ |
| Дополнительные поля для документа ИНВЕНТАРИЗАЦИЯ | ||
| Остаток товара | text(item.accountBalance) | Остаток позиции в системе |
| Фактический остаток товара | text(item.actualBalance) | Реальный остаток товара |
| Разница остатков | text(item.variance) | Количественная разница между остатками |
| Разница остатков | text(formatPrice(item.varianceAmount) | Ценовая разница между остатками |
В приведенной ниже таблице содержится перечень данных доступных для изменения/использования при создании шаблона печати.
| Приход/Расход | Оприходование | Списание | Перемещение | Инвентаризация | Заказ на закупку | |
|---|---|---|---|---|---|---|
| Основные данные | * Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
* Наименование организации * ИНН организации * Торговый объект * Торговый объект передающий * Торговый объект принимающий * Дата создания документа * Дата обновления документа * Ответственный Передающий * Ответственный Принимающий |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
| Позиции в документе | * Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) * Остаток |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) * Количество отправленных * Количество принятых |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) * Остаток * Фактический остаток * Разница (Фактический остаток – Остаток) * Сумма разницы (Цена закупки*Разница) * Недостача * Избыток |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) | |
| Прочие данные | Комментарий | * Итого (Сумма всех позиций) * Контрагент |
* Комментарий * Итого (Сумма всех позиций) * Контрагент * Статья списания |
* Комментарий * Итого (Сумма всех позиций) |
* Комментарий * Итого (Сумма всех позиций) |
* Комментарий * Итого (Сумма всех позиций) |
Примеры шаблонов печати
| Шаблон "Списание" | Шаблон "Оприходование" | Шаблон "Перемещение" | Шаблон "Инвентаризация" |
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)
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')