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

Материал из Касса
Перейти к навигации Перейти к поиску
Строка 359: Строка 359:


== Примеры шаблонов печати ==
== Примеры шаблонов печати ==
{{ProductTable-4
|title-1= Шаблон Списание
|title-2=
|title-3=
|title-4=
|content-1=
<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-2=
|content-3=
|content-4=
}}


Шаблон печати для документа '''Списание''':
Шаблон печати для документа '''Списание''':

Версия 15:25, 6 сентября 2022

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

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


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

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


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

  • Чек

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

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

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


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

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

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


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

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

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

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


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

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


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

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



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

Параметры для создания шаблона печати
Описание Параметр Описание параметра
Методы печати данных
Параметр для написание текста text ('Строка по центру', 'CENTER')
Возможные значения второго аргумента:
  • LEFT
  • CENTER
  • RIGHT
Вывод даты/времени formatDate(document.documentDate) Форматирует строку с датой при помощи формата, заданного выше

Пример:

left(formatDate(document.documentDate))
Выравнивание текста слева-справа lr ('Строка слева'),                                                                                ('Строка справа')
Положение изображения на чеке (слева, по центру, справа) image ('Имя изображения') возможные значения второго аргумента:
  • LEFT
  • CENTER
  • RIGHT

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

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

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

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

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

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

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

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

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

  • LEFT
  • CENTER
  • RIGHT
Печать пустой строки 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):
  • LEFT
  • CENTER
  • RIGHT

Выравнивание происходит до следующей подобной команды или сброса стиля текста.

Изменение стиля шрифта setStyle('NORMAL') Меняет стиль шрифта, по-умолчанию NORMAL

Возможные значения:

  • 'NORMAL' (обычный)
  • 'BOLD' (жирный)
  • 'ITALIC' (курсив)
  • 'UNDERSCORED' (подчеркнутый)
Изменение размера текста setSize('MEDIUM') Меняет размер текста, по-умолчанию MEDIUM

Возможные значения:

  • 'SMALL'
  • 'MEDIUM'
  • 'LARGE'
  • 'X_LARGE'
Формат вывода даты 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')