Шаблоны печати чеков: различия между версиями
Merkulov (обсуждение | вклад) |
|||
Строка 392: | Строка 392: | ||
|- | |- | ||
| '''Прочие данные''' | | '''Прочие данные''' | ||
| | | | ||
| * Итого (Сумма всех позиций)<br>* Контрагент | | * Итого (Сумма всех позиций)<br>* Контрагент | ||
| * Комментарий<br>* Итого (Сумма всех позиций)<br>* Контрагент<br>* Статья списания | | * Комментарий<br>* Итого (Сумма всех позиций)<br>* Контрагент<br>* Статья списания |
Версия 17:14, 30 ноября 2022
Печатные формы - это механизм редактирования шаблонов, который позволяет централизованно конструировать/редактировать/обновлять печатные формы документов, используемые на РМК кассиром.
Шаблоны предназначены для печати на ККТ средствами не фискальной печати.
Создавать шаблоны можно будет для следующих документов учета:
- Оприходование
- Списание
- Инвентаризация
- Перемещение
- Заказ на закупку
Также можно будет создавать индивидуальные шаблоны для Фискальных документов:
- Чек
Для Фискальных документов доступно только редактирование Шапки и Подвала чека.
- Шапка чека - представляет собой заголовок чека и обычно содержит приветствие и данные организации (адрес, телефон, объект, ФИО директора и др. информацию).
- Подвал чека - это нижняя часть чека, которая расположена после его итоговых строк и позволяет указать там дополнительную информацию о (способах возврата, описание акции, добавить картинку, эмблему организации и др.)
Подраздел Шаблоны печати представлен в виде таблицы в которой собраны все созданные шаблоны печатных форм организации.
Табличная часть содержит в себе следующую информацию:
- Наименование шаблона
- Тип документа
Также в подразделе предусмотрена система фильтров для более удобного поиска шаблонов.
Создание шаблона
Для создания шаблона совершите следующие действия:
- Перейдите в подраздел Шаблоны печати
- Нажмите на кнопку Создать
- Во всплывающем окне:
- Выберите Тип документа
- Укажите название шаблона:
- Для фискальных документов внесите описание в окна Шаблон шапки и Шаблон подвала
- Для документов учета внесите описание в окно Шаблон
- При необходимости добавить изображение нажмите кнопку Добавить и добавьте изображения с вашего компьютера
- В правой части экрана будет отображаться окно Предварительный просмотр, для просмотра созданного описания нажмите кнопку
- Для завершения создания шаблона нажмите кнопку Сохранить
Пример создания шаблона
При создании шаблона печати необходимо использовать следующие параметры:
Описание | Параметр |
---|---|
Методы печати данных | |
Параметр для написания текста.Пример: text('Строка по центру', 'CENTER') Возможные значения второго аргумента:
|
text('текст') |
Написание текста в одну строчку установите символ между параметрами или между текстом и параметром
Пример: text('Организация:'+ organization.name) |
+ |
При использовании обычного текста необходимо обозначить его, для этого используйте данный символ.
Важно!:
Пример: text('Организация:',organization.name) |
' |
Вывод даты/времени. Форматирует строку с датой при помощи формата, заданного вышеПример: text(formatDate(document.documentDate)) |
formatDate(document.documentDate) |
Выравнивание текста слева-справа. Пример:lr('Строка слева', 'Строка справа') |
lr |
Положение изображения на чеке (слева, по центру, справа).Пример:image('Имя изображения') Возможные значения второго аргумента:
Если изображение с данным именем не найдется, то распечатается пустая строка |
image |
Штрихкод в формате ean8.
Пример:ean8('12345678', 'CENTER') Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
|
ean8 |
Штрихкод в формате ean13.
Пример:ean13('1234567891011', 'CENTER') Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
|
ean13 |
Штрихкод в формате code128.
Пример:code128('123456', 'CENTER') Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
|
code128 |
Штрихкод в формате qrCode.
Пример:qrCode('12345678', 'CENTER') Печать штрихкода с заданными ранее выравниванием setAlignment('CENTER')
|
qrCode |
Печать пустой строки.
Пример:feed() |
feed |
Повторить символ на всю ширину строки
Пример:repeat(_) |
repeat |
Печать каждой позиции с новой строки. Для каждой позиции документа, наименование будет печататься на новой строке | for(let item of items) { } |
Форматирует список характеристик номенклатуры, перечисляя их через запятую, если характеристик у товара не предусмотрено или список характеристик пустой, то автоматически ставится прочерк Пример: for(let item of items) {text(formatFeatures(item.nomenclatureFeatures))} |
formatFeatures(item.nomenclatureFeatures) |
Форматирует цену, добавляя знак рубля в конце, отсекая десятые доли копеек. Если цена, переданная как аргумент в данный метод, не установлена у данного товара, то автоматически ставится прочерк Пример: for(let item of items) {left (formatPrice(item.purchasePrice))} |
formatPrice(item.purchasePrice) |
Форматирует единицу измеренияПример: for(let item of items) {left (formatQuantity(item.quantity, item.unitCode))} |
formatQuantity(item.quantity, item.unitCode) |
Команды для изменения стиля текста | |
Выравнивание последующего текста.
Пример: setAlignment('CENTER') Возможные значения второго аргумента (по-умолчанию LEFT):
|
setAlignment('CENTER') |
Изменение стиля шрифта.
Пример: setStyle('NORMAL') Меняет стиль шрифта, по-умолчанию NORMAL, возможные значения:
|
setStyle('NORMAL') |
Изменение размера текста.
Пример: setSize('MEDIUM') Меняет размер текста, по-умолчанию MEDIUM, возможные значения:
|
setSize('MEDIUM') |
Формат вывода даты.
Задает формат вывода даты (формат по-умолчанию: dd-MM-yyyy). Перечень форматов Форматы дат. |
setDateFormat('dd.MM.yyyy') |
Сброс стиля текста до исходных значений.
Команда сброса стиля текста до исходных значений (LEFT, NORMAL, MEDIUM, формат даты: dd-MM-yyyy) |
reset() |
Описание | Параметр |
---|---|
Пользователь (сущность user) | |
Имя кассира | user.firstName |
Фамилия кассира | user.lastName |
Отчество кассира | user.patronymic |
Должность продавца | user.position |
ИНН продавца | user.inn |
Торговый объект (сущность tradeObject) | |
Наименование Торгового объекта | tradeObject.name |
Адрес Торгового объекта/ Место расчетов | tradeObject.address |
КПП Торгового объекта | tradeObject.kpp |
Организация (сущность organization) | |
Наименование организации | organization.name |
ИНН организации | organization.inn |
КПП организации | organization.kpp |
Адрес организации | organization.address |
Типы документов(сущность document) | |
Дата создания документа | document.documentDate |
Номер документа | document.documentNumber |
Ф.И.О. Ответственного | document.responsiblePerson |
Комментарий к документу | document.description |
Позиции документа (сущность items) доступ к отдельной позиции только через цикл for(let item of items) { } | |
Вывод характеристик позиции | formatFeatures(item.nomenclatureFeatures) |
Наименование позиции | item.name |
Штрихкод | item.barcode |
Артикул | item.vendorCode |
Цена закупки | formatPrice(item.purchasePrice) |
Количество товара | item.quantity |
Сумма позиции | formatPrice(item.amount) |
Сумма позиции для учетных документов | formatPrice(item.sellingPrice) |
Для документа ОПРИХОДОВАНИЕ | |
Сумма НДС для акта "Оприходования" | formatPrice(item.vatAmount) |
Название НДС позиции | item.vat |
Итого Сумма закупки по всем товарам | document.totalPurchaseAmount |
Итого Сумма продажи по всем товарам | document.totalSellingAmount |
Информация о контрагенте | document.contractor.shortName - ФИО контрагента document.contractor.inn - ИНН контрагента |
Для документа ПЕРЕМЕЩЕНИЕ | |
Количество принятого товара (Для акта "Перемещения") | item.acceptedQuantity |
ФИО сотрудника принявшего перемещение товара | document.acceptedPerson |
ТО Отправитель (Для акта "Перемещения") | tradeObjectFrom.address |
ТО Получатель (Для акта "Перемещения") | tradeObjectTo.address |
Итого Сумма закупки по всем товарам | document.totalPurchaseAmount |
Для документа ИНВЕНТАРИЗАЦИЯ | |
Остаток товара | item.accountBalance |
Фактический остаток товара | item.actualBalance |
Разница остатков (шт.) | item.variance |
Разница остатков | formatPrice(item.varianceAmount) |
Недостача по товарам (в рублях) | document.totalShortageAmount |
Избыток по товарам (в рублях) | formatPrice(item.varianceAmount) |
Цена продажи позиции (в ТО) | item.sellingPrice |
Для документа СПИСАНИЕ | |
Итого Сумма закупки по всем товарам | document.totalPurchaseAmount |
Итого Сумма продажи по всем товарам | document.totalSellingAmount |
Информация о контрагенте | document.contractor.shortName - ФИО контрагента document.contractor.inn - ИНН контрагента |
Информация о статье списания | document.writeOffArticle.name - Наименование статьи списания document.writeOffArticle.articleNumber - Номер статьи списания |
Для документа ЗАКАЗ НА ЗАКУПКУ | |
Итого Сумма закупки по всем товарам | document.totalPurchaseAmount |
В приведенной ниже таблице содержится перечень данных доступных для изменения/использования при создании шаблона печати.
Приход/Расход | Оприходование | Списание | Перемещение | Инвентаризация | Заказ на закупку | |
---|---|---|---|---|---|---|
Основные данные | * Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
* Наименование организации * ИНН организации * Торговый объект * Торговый объект передающий * Торговый объект принимающий * Дата создания документа * Дата обновления документа * Ответственный Передающий * Ответственный Принимающий |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
Позиции в документе | * Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) * Остаток |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) * Количество отправленных * Количество принятых |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) * Остаток * Фактический остаток * Разница (Фактический остаток – Остаток) * Сумма разницы (Цена закупки*Разница) * Недостача * Избыток |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) | |
Прочие данные | * Итого (Сумма всех позиций) * Контрагент |
* Комментарий * Итого (Сумма всех позиций) * Контрагент * Статья списания |
* Комментарий * Итого (Сумма всех позиций) |
* Комментарий * Итого (Сумма всех позиций) |
* Комментарий * Итого (Сумма всех позиций) |
Примеры шаблонов печати
Шаблон "Чек" | Шаблон "Списание" | Шаблон "Оприходование" | Шаблон "Перемещение" | Шаблон "Инвентаризация" | Шаблон "Заказ на закупку" |
Шаблон Шапки
setStyle('UNDERSCORED')
setSize('SMALL')
setAlignment('CENTER')
text('Добро пожаловать в '+ organization.name)
image ('Шаблон 1.jpg')
feed()
feed() Шаблон Подвала setStyle('BOLD')
setAlignment('CENTER')
setSize('SMALL')
text('Ждем вас снова!')
feed()
feed()
text('Посетите наш сайт')
text('перейдите по QR')
feed()
qrCode('https://kassa.bifit.com/', 'CENTER') |
setAlignment ('CENTER')
setSize ('SMALL')
setStyle('ITALIC')
text ('Документ Списания')
text(document.documentNumber)
setDateFormat('dd.MM.yyyy')
text(formatDate(document.documentDate))
feed ()
code128 (document.documentNumber)
feed ()
lr('Организация:',organization.name)
lr('Торговый объект: ',tradeObject.name)
feed ()
reset ()
for(let item of items) {
repeat ('-')
text(item.name)
text('Артикул:' + item.vendorCode)
text('Характеристика:'+formatFeatures(item.nomenclatureFeatures))
lr('Списано:', item.quantity+'шт')
lr('Остаток:', item.accountBalance+'шт.')
lr('Цена закупки:', formatPrice(item.purchasePrice))
lr('Цена продажи:',formatPrice(item.sellingPrice))
feed ()
setStyle('BOLD')
lr('ИТОГО:',formatPrice(item.amount))
reset ()
feed ()
}
repeat ('-')
feed ()
feed ()
lr(user.position, document.responsiblePerson)
feed ()
lr('Подпись:', '________________')
feed ()
text(document.description)
feed ()
qrCode ('https://kassa.bifit.com','CENTER') |
setAlignment ('CENTER')
setSize ('SMALL')
setStyle('ITALIC')
text ('Документ оприходования')
text(document.documentNumber)
setDateFormat('dd.MM.yyyy')
text(formatDate(document.documentDate))
feed ()
code128 ('document.documentNumber')
feed ()
lr('Организация:',organization.name)
lr('Торговый объект: ',tradeObject.name)
feed ()
reset ()
for(let item of items) {
repeat ('-')
text(item.name)
text('Артикул:' + item.vendorCode)
lr('Количество:', item.quantity+'шт')
text('Характеристика:'+formatFeatures(item.nomenclatureFeatures))
lr('Цена закупки:', formatPrice(item.purchasePrice))
lr('Цена продажи:',formatPrice(item.sellingPrice))
text('НДС:'+formatPrice(item.vatAmount))
feed ()
setStyle('BOLD')
lr('ИТОГО:',formatPrice(item.amount))
reset ()
feed ()
}
repeat ('-')
feed ()
lr(user.position, document.responsiblePerson)
feed ()
lr('Подпись:', '________________')
feed ()
feed ()
text(document.description)
feed ()
qrCode ('https://kassa.bifit.com','CENTER') |
setAlignment ('CENTER')
setSize ('SMALL')
setStyle('ITALIC')
text ('Перемещение')
text(document.documentNumber)
setDateFormat('dd.MM.yyyy')
text(formatDate(document.documentDate))
lr('Организация:',organization.name)
feed ()
code128 (document.documentNumber)
feed ()
lr('ТО отправитель: ', tradeObjectFrom.address)
lr('ТО получатель: ', tradeObjectTo.address)
feed ()
reset ()
for(let item of items) {
repeat ('-')
text( item.name)
text('Артикул:' + item.vendorCode)
text('ШК:' + item.barcode)
text('Характеристика:'+formatFeatures(item.nomenclatureFeatures))
lr('Цена закупки:', formatPrice(item.purchasePrice))
lr('Кол-во переданного товара:', item.quantity+'шт')
lr('Кол-во принятого товара:', item.acceptedQuantity+'шт')
lr('Расхождение',item.acceptedQuantity-item.quantity+'шт.')
lr('Сумма товара:',formatPrice(item.amount))
feed ()
}
repeat ('-')
feed ()
lr('Отправил:', document.responsiblePerson)
feed ()
lr('Подпись:', '________________')
feed ()
feed ()
lr('Принял:', document.acceptedPerson)
feed ()
lr('Подпись:', '________________')
feed ()
feed ()
text(document.description)
feed ()
qrCode ('https://kassa.bifit.com','CENTER') |
setAlignment ('CENTER')
setSize ('SMALL')
setStyle('ITALIC')
text ('Инвентаризация товаров')
text(document.documentNumber)
setDateFormat('dd.MM.yyyy')
text(formatDate(document.documentDate))
feed ()
code128 (document.documentNumber)
feed ()
lr('Организация:',organization.name)
lr('Торговый объект: ',tradeObject.name)
feed ()
reset ()
for(let item of items) {
repeat ('-')
lr(item.name,formatPrice(item.purchasePrice))
text('Артикул:' + item.vendorCode)
text('ШК:' + item.barcode)
text('Характеристика:'+formatFeatures(item.nomenclatureFeatures))
lr('Остаток:', item.accountBalance+'шт.')
lr('Фактический Остаток:', item.actualBalance+'шт.')
lr('Разница:', item.variance+'шт.')
lr('Сумма разницы:', formatPrice(item.varianceAmount))
feed ()
}
repeat ('-')
feed ()
lr(user.position, document.responsiblePerson)
feed ()
lr('Подпись:', '________________')
feed ()
text(document.description)
feed ()
qrCode ('https://kassa.bifit.com','CENTER') |
setAlignment('CENTER')
setSize('SMALL')
setStyle('ITALIC')
text('Заказ на закупку')
text(document.documentNumber)
setDateFormat('dd.MM.yyyy')
text(formatDate(document.documentDate))
feed()
code128(document.documentNumber)
feed()
lr('Торговый объект:', tradeObject.name)
feed()
reset()
for(let item of items) {
repeat('-')
text(item.name)
lr('Количество товара:', formatQuantity(item.quantity, item.unitCode))
lr('Сумма:', formatPrice(item.amount))
feed()
}
repeat('-')
feed()
feed()
lr(user.position, document.responsiblePerson)
feed()
lr('Подпись:', '________________')
feed()
text(document.description)
feed()
qrCode('https://kassa.bifit.com', 'CENTER') |
Список поддерживаемых касс (Android)
САЛЮТ 12Ф | АТОЛ | MSPOS | НЕВА/ПЕЙМОБ | ШТРИХ-М | МЕРКУРИЙ |
---|---|---|---|---|---|
✅Печать изображения |
❌Печать изображения |
✅Печать изображения (только формат картинки jpg) |
❌Печать изображения |
❌Печать изображения |
❌Печать изображения |
Список поддерживаемых касс (Desktop)
АТОЛ | МЕРКУРИЙ | ШТРИХ-М | ДРИМКАСС |
---|---|---|---|
❌Печать изображения |
❌Печать изображения |
❌Печать изображения |
❌Печать изображения |