Шаблоны печати чеков: различия между версиями
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) | Ценовая разница между остатками |
В приведенной ниже таблице содержится перечень данных доступных для изменения/использования при создании шаблона печати.
Приход/Расход | Оприходование | Списание | Перемещение | Инвентаризация | Заказ на закупку | |
---|---|---|---|---|---|---|
Основные данные | * Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
* Наименование организации * ИНН организации * Торговый объект * Торговый объект передающий * Торговый объект принимающий * Дата создания документа * Дата обновления документа * Ответственный Передающий * Ответственный Принимающий |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
* Наименование организации * ИНН организации * Торговый объект * Адрес Торгового объекта * Дата создания документа * Дата обновления документа * Ответственный |
Кассовые данные | * Номер кассы * РН ККТ * №ФН * ЗН ККТ |
* Номер кассы * РН ККТ * №ФН * ЗН ККТ |
* Номер кассы * РН ККТ * №ФН * ЗН ККТ |
* Номер кассы * РН ККТ * №ФН * ЗН ККТ |
* Номер кассы * РН ККТ * №ФН * ЗН ККТ |
* Номер кассы * РН ККТ * №ФН * ЗН ККТ |
Позиции в документе | * Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) * Остаток |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) * Количество отправленных * Количество принятых |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) * Остаток * Фактический остаток * Разница (Фактический остаток – Остаток) * Сумма разницы (Цена закупки*Разница) * Недостача * Избыток |
* Наименование * Артикул * Штрих код * Цена * Количество позиций * Единица измерения * Характеристики * Цена закупки * Наценка * Цена продажи * НДС% * НДС * Сумма по позиции(Цена*Количество) | |
Прочие данные | Комментарий | * Итого (Сумма всех позиций) * Контрагент |
* Комментарий * Итого (Сумма всех позиций) * Контрагент * Статья списания |
* Комментарий * Итого (Сумма всех позиций) |
* Комментарий * Итого (Сумма всех позиций) |
* Комментарий * Итого (Сумма всех позиций) |