Шаблоны печати чеков: различия между версиями
Merkulov (обсуждение | вклад)  | 
				Merkulov (обсуждение | вклад)   | 
				||
| Строка 78: | Строка 78: | ||
* RIGHT  | * RIGHT  | ||
|-  | |-  | ||
|  | |||
|text ('Строка с заданным выравниванием')  | |text ('Строка с заданным выравниванием')  | ||
|печать данных согласно заранее заданному параметру выравнивания  | |печать данных согласно заранее заданному параметру выравнивания  | ||
|-  | |-  | ||
|  | |||
| lr  | | lr  | ||
| ('Строка слева', 'Строка справа')  | | ('Строка слева', 'Строка справа')  | ||
|-  | |-  | ||
|  | |||
| image  | | image  | ||
| ('Имя изображения') возможные значения второго аргумента:  | | ('Имя изображения') возможные значения второго аргумента:  | ||
| Строка 91: | Строка 94: | ||
Если изображение с данным именем не найдется, то распечатается пустая строка  | Если изображение с данным именем не найдется, то распечатается пустая строка  | ||
|-  | |-  | ||
|  | |||
| ean8  | | ean8  | ||
| ('12345678', 'CENTER') <br>  | | ('12345678', 'CENTER') <br>  | ||
| Строка 98: | Строка 102: | ||
* RIGHT  | * RIGHT  | ||
|-  | |-  | ||
|  | |||
|ean13  | |ean13  | ||
|('1234567891011', 'CENTER') <br>  | |('1234567891011', 'CENTER') <br>  | ||
| Строка 105: | Строка 110: | ||
* RIGHT  | * RIGHT  | ||
|-  | |-  | ||
|  | |||
|code128  | |code128  | ||
|('123456', 'CENTER') <br>  | |('123456', 'CENTER') <br>  | ||
| Строка 112: | Строка 118: | ||
* RIGHT  | * RIGHT  | ||
|-  | |-  | ||
|  | |||
|qrCode  | |qrCode  | ||
|('12345678', 'CENTER') <br>  | |('12345678', 'CENTER') <br>  | ||
| Строка 119: | Строка 126: | ||
* RIGHT  | * RIGHT  | ||
|-  | |-  | ||
|  | |||
| feed  | | feed  | ||
| () Печать пустой строки  | | () Печать пустой строки  | ||
|-  | |-  | ||
|  | |||
| for(let item of items) { }  | | for(let item of items) { }  | ||
| Для каждой позиции документа, наименование будет печататься на новой строке  | | Для каждой позиции документа, наименование будет печататься на новой строке  | ||
|-  | |-  | ||
|  | |||
| formatDate(document.documentDate)  | | formatDate(document.documentDate)  | ||
| Форматирует строку с датой при помощи формата, заданного выше<br>  | | Форматирует строку с датой при помощи формата, заданного выше<br>  | ||
| Строка 130: | Строка 140: | ||
  left(formatDate(document.documentDate))  |   left(formatDate(document.documentDate))  | ||
|-  | |-  | ||
|  | |||
| formatFeatures(item.nomenclatureFeatures)  | | formatFeatures(item.nomenclatureFeatures)  | ||
| Форматирует список характеристик номенклатуры, перечисляя их через запятую,<br> если характеристик у товара не предусмотрено или список характеристик пустой, то автоматически ставится прочерк <br>'''Пример''':    | | Форматирует список характеристик номенклатуры, перечисляя их через запятую,<br> если характеристик у товара не предусмотрено или список характеристик пустой, то автоматически ставится прочерк <br>'''Пример''':    | ||
  for(let item of items) {left(formatFeatures(item.nomenclatureFeatures))};  |   for(let item of items) {left(formatFeatures(item.nomenclatureFeatures))};  | ||
|-  | |-  | ||
|  | |||
| formatPrice(item.purchasePrice)  | | formatPrice(item.purchasePrice)  | ||
| Форматирует цену, добавляя знак рубля в конце, отсекая десятые доли копеек.<br> Если цена, переданная как аргумент в данный метод, не установлена у данного товара, то автоматически ставится прочерк <br>  | | Форматирует цену, добавляя знак рубля в конце, отсекая десятые доли копеек.<br> Если цена, переданная как аргумент в данный метод, не установлена у данного товара, то автоматически ставится прочерк <br>  | ||
| Строка 139: | Строка 151: | ||
  for(let item of items) {left(formatPrice(item.purchasePrice))};  |   for(let item of items) {left(formatPrice(item.purchasePrice))};  | ||
|-  | |-  | ||
|colspan="  | |colspan="3" style="text-align: center| '''Команды для изменения стиля текста'''    | ||
|-  | |-  | ||
|  | |||
| setDateFormat('dd.MM.yyyy')  | | setDateFormat('dd.MM.yyyy')  | ||
| Задает формат вывода даты (формат по-умолчанию: dd-MM-yyyy)  | | Задает формат вывода даты (формат по-умолчанию: dd-MM-yyyy)  | ||
|-  | |-  | ||
|  | |||
| setStyle('NORMAL')  | | setStyle('NORMAL')  | ||
| Меняет стиль шрифта, по-умолчанию NORMAL<br>  | | Меняет стиль шрифта, по-умолчанию NORMAL<br>  | ||
| Строка 152: | Строка 166: | ||
* 'UNDERSCORED' (подчеркнутый)  | * 'UNDERSCORED' (подчеркнутый)  | ||
|-  | |-  | ||
|  | |||
| setSize('MEDIUM')  | | setSize('MEDIUM')  | ||
| Меняет размер текста, по-умолчанию MEDIUM<br>  | | Меняет размер текста, по-умолчанию MEDIUM<br>  | ||
| Строка 160: | Строка 175: | ||
* 'X_LARGE'  | * 'X_LARGE'  | ||
|-  | |-  | ||
|  | |||
| setAlignment('LEFT')  | | setAlignment('LEFT')  | ||
| Меняет параметр выравнивания текста, по-умолчанию LEFT<br>  | | Меняет параметр выравнивания текста, по-умолчанию LEFT<br>  | ||
| Строка 167: | Строка 183: | ||
* 'RIGHT'  | * 'RIGHT'  | ||
|-  | |-  | ||
|  | |||
| text('Текст, выравненный по настройке пользователя')  | | text('Текст, выравненный по настройке пользователя')  | ||
| Это команда печати текста, опирается на установленные ранее настройки пользователя  | | Это команда печати текста, опирается на установленные ранее настройки пользователя  | ||
|-  | |-  | ||
|  | |||
| reset()  | | reset()  | ||
| Команда сброса стиля текста до исходных значений (LEFT, NORMAL, MEDIUM, формат даты: dd-MM-yyyy)  | | Команда сброса стиля текста до исходных значений (LEFT, NORMAL, MEDIUM, формат даты: dd-MM-yyyy)  | ||
|-  | |-  | ||
|colspan="  | |colspan="3" style="text-align: center| '''Поля сущностей, которые можно использовать как аргументы для команд печати текста'''    | ||
|-  | |-  | ||
|colspan="  | |colspan="3" style="text-align: center| ''Пользователь (сущность user)''  | ||
|-  | |-  | ||
|  | |||
| text(user.firstName)  | | text(user.firstName)  | ||
| Имя  | | Имя  | ||
|-  | |-  | ||
|  | |||
| text(user.lastName)  | | text(user.lastName)  | ||
| Фамилия  | | Фамилия  | ||
|-  | |-  | ||
|  | |||
| text(user.patonymic)  | | text(user.patonymic)  | ||
| Отчество  | | Отчество  | ||
|-  | |-  | ||
|  | |||
| text(user.position)  | | text(user.position)  | ||
| Должность  | | Должность  | ||
|-  | |-  | ||
|  | |||
| text(user.inn)	  | | text(user.inn)	  | ||
| ИНН  | | ИНН  | ||
|-  | |-  | ||
|colspan="  | |colspan="3" style="text-align: center| ''Торговый объект (сущность tradeObject)''  | ||
|-  | |-  | ||
|  | |||
| text(tradeObject.name)  | | text(tradeObject.name)  | ||
| Наименование ТО  | | Наименование ТО  | ||
|-  | |-  | ||
|  | |||
| text(tradeObject.address)  | | text(tradeObject.address)  | ||
| Адрес ТО / место расчётов  | | Адрес ТО / место расчётов  | ||
|-  | |-  | ||
|  | |||
| text(tradeObject.kpp)  | | text(tradeObject.kpp)  | ||
| КПП  | | КПП  | ||
|-  | |-  | ||
|colspan="  | |colspan="3" style="text-align: center| ''Организация (сущность organization)''    | ||
|-  | |-  | ||
|  | |||
| text(organization.name)  | | text(organization.name)  | ||
| Наименование организации  | | Наименование организации  | ||
|-  | |-  | ||
|  | |||
| text(organization.inn)  | | text(organization.inn)  | ||
| ИНН  | | ИНН  | ||
|-  | |-  | ||
|  | |||
| text(organization.kpp)  | | text(organization.kpp)  | ||
| КПП  | | КПП  | ||
|-  | |-  | ||
|  | |||
| text(organization.address)  | | text(organization.address)  | ||
| Адрес  | | Адрес  | ||
|-  | |-  | ||
|colspan="  | |colspan="3" style="text-align: center| ''Типы документов(сущность document)''    | ||
|-  | |-  | ||
|  | |||
| text(document.documentDate)  | | text(document.documentDate)  | ||
| Дата создания документа  | | Дата создания документа  | ||
|-  | |-  | ||
|  | |||
| text(document.documentNumber)  | | text(document.documentNumber)  | ||
| Номер документа  | | Номер документа  | ||
|-  | |-  | ||
|  | |||
| text(document.responsiblePerson)  | | text(document.responsiblePerson)  | ||
| Ф.И.О. Ответственного  | | Ф.И.О. Ответственного  | ||
|-  | |-  | ||
|  | |||
| text(document.description)  | | text(document.description)  | ||
| Комментарий к документу  | | Комментарий к документу  | ||
|-  | |-  | ||
|  | |||
| text(document.acceptedPerson)  | | text(document.acceptedPerson)  | ||
| Для документа '''ПЕРЕМЕЩЕНИЯ''' Ф.И.О. человека, принявшего перемещение  | | Для документа '''ПЕРЕМЕЩЕНИЯ''' Ф.И.О. человека, принявшего перемещение  | ||
|-  | |-  | ||
|colspan="  | |colspan="3" style="text-align: center| ''Позиции документа (сущность items)''  доступ к отдельной позиции только через цикл for(let item of items)  | ||
|-  | |-  | ||
|  | |||
| text(formatFeatures(item.nomenclatureFeatures))  | | text(formatFeatures(item.nomenclatureFeatures))  | ||
| Вывод характеристик позиции  | | Вывод характеристик позиции  | ||
|-  | |-  | ||
|  | |||
| text(item.name)  | | text(item.name)  | ||
| Наименование позиции  | | Наименование позиции  | ||
|-  | |-  | ||
|  | |||
| text(item.barcode)  | | text(item.barcode)  | ||
| Штрихкод  | | Штрихкод  | ||
|-  | |-  | ||
|  | |||
| text(item.vendorCode)  | | text(item.vendorCode)  | ||
| Артикул  | | Артикул  | ||
|-  | |-  | ||
|  | |||
| text(formatPrice(item.purchasePrice))  | | text(formatPrice(item.purchasePrice))  | ||
| Цена закупки  | | Цена закупки  | ||
|-  | |-  | ||
|  | |||
| text(item.quantity)  | | text(item.quantity)  | ||
| Количество товара  | | Количество товара  | ||
|-  | |-  | ||
|  | |||
| text(formatPrice(item.positionSummary))  | | text(formatPrice(item.positionSummary))  | ||
| Сумма позиции  | | Сумма позиции  | ||
|-  | |-  | ||
|  | |||
| text(item.acceptedQuantity)  | | text(item.acceptedQuantity)  | ||
| Для документа '''ПЕРЕМЕЩЕНИЕ''' количество принятого товара     | | Для документа '''ПЕРЕМЕЩЕНИЕ''' количество принятого товара     | ||
|-  | |-  | ||
|  | |||
| text(formatPrice(item.sellingPrice))  | | text(formatPrice(item.sellingPrice))  | ||
| Сумма позиции, для документов '''СПИСАНИЯ''', '''ОПРИХОДОВАНИЯ''', '''ИНВЕНТАРИЗАЦИЯ'''  | | Сумма позиции, для документов '''СПИСАНИЯ''', '''ОПРИХОДОВАНИЯ''', '''ИНВЕНТАРИЗАЦИЯ'''  | ||
|-  | |-  | ||
|  | |||
| text(formatPrice(item.vatAmount))  | | text(formatPrice(item.vatAmount))  | ||
| Сумма НДС по позициям, для документа '''ОПРИХОДОВАНИЕ'''  | | Сумма НДС по позициям, для документа '''ОПРИХОДОВАНИЕ'''  | ||
|-  | |-  | ||
|colspan="  | |colspan="3" style="text-align: center| ''Дополнительные поля для документа ИНВЕНТАРИЗАЦИЯ''    | ||
|-  | |-  | ||
|  | |||
| text(item.accountBalance)  | | text(item.accountBalance)  | ||
| Остаток позиции в системе  | | Остаток позиции в системе  | ||
|-  | |-  | ||
|  | |||
| text(item.actualBalance)  | | text(item.actualBalance)  | ||
| Реальный остаток товара  | | Реальный остаток товара  | ||
|-  | |-  | ||
|  | |||
| text(item.variance)  | | text(item.variance)  | ||
| Количественная разница между остатками  | | Количественная разница между остатками  | ||
|-  | |-  | ||
|  | |||
| text(formatPrice(item.varianceAmount)  | | text(formatPrice(item.varianceAmount)  | ||
| Ценовая разница между остатками  | | Ценовая разница между остатками  | ||
Версия 15:18, 29 августа 2022
Печатные формы - это механизм редактирования шаблонов, который позволяет централизованно конструировать/редактировать/обновлять печатные формы документов, используемые на РМК кассиром.
 Шаблоны предназначены для печати на ККТ средствами не фискальной печати.
Создавать шаблоны можно будет для следующих документов учета:
- Оприходование
 - Списание
 - Инвентаризация
 - Перемещение
 - Заказ на закупку
 
Также можно будет создавать индивидуальные шаблоны для Фискальных документов:
- Чек прихода
 - Чек расхода
 
Для Фискальных документов доступно только редактирование Шапки и Подвала чека.
- Шапка чека - представляет собой заголовок чека и обычно содержит приветствие и данные организации (адрес, телефон, объект, ФИО директора и др. информацию).
 - Подвал чека - это нижняя часть чека, которая расположена после его итоговых строк и позволяет указать там дополнительную информацию о (способах возврата, описание акции, добавить картинку, эмблему организации и др.)
 
Подраздел Шаблоны печати представлен в виде таблицы в которой собраны все созданные шаблоны печатных форм организации.
 Табличная часть содержит в себе следующую информацию:
- Наименование шаблона
 - Тип документа
 
Также в подразделе предусмотрена система фильтров для более удобного поиска шаблонов.
Создание шаблона
Для создания шаблона совершите следующие действия:
- Перейдите в подраздел Шаблоны печати
 - Нажмите на кнопку Создать
 - Во всплывающем окне:
- Выберите Тип документа
 - Укажите название шаблона:
- Для фискальных документов внесите описание в окна Шаблон шапки и Шаблон подвала
 - Для документов учета внесите описание в окно Шаблон
 
 - При необходимости добавить изображение нажмите кнопку Добавить и добавьте изображения с вашего компьютера
 
 - В правой части экрана будет отображаться окно Предварительный просмотр, для просмотра созданного описания нажмите кнопку 

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