Всё о переменных шаблона печати СМАРТ Л2
История обновлений документа:
06.08.24: добавлены все основные параметры14.11.24: добавлены aggregation_capacity, code_128, custom_attribute23.05.25: перенесён файл в Базу Знаний
1) Общая структура файла
В папке /template-vars рядом с smartl2.jar файл example.vars представляет собой JSON следующего формата:
{
"label": {
"height": "320",
"width": "640"
},
"variables": {
"название_переменной_1": {
"type": "тип_переменной"
},
"название_переменной_2": {
"type": "тип_переменной"
},
"название_переменной_3": {
"type": "date",
"format": "dd/MM"
},
"название_переменной_4": {
"type": "text",
"value": "годен до: "
},
"название_переменной_5": {
"type": "тип_переменной",
"regex": ".*/(\\d{6})"
}
...
}
}
Где название_переменной_Х соответствует названию переменной в шаблоне принтера с названием example. Например, var1-1, var100, 6501310, <BATCH_SERIAL_NUMBER>.
"label" задаёт размеры этикетки в пикселях (точках).
Можно сохранить несколько шаблонов с разными названиями (example.vars, default.vars, dm1.vars). Нужный шаблон указывается в редакторе продукта в СМАРТ Л3 в поле шаблон для печати.

2) Поддерживаемые переменные шаблона
Следующая таблица описывает все допустимые значения параметра type, а также доступные им значения параметра format
| type | Описание | format | |
| DATAMATRIX_GS | GS1 DataMatrix |
Опционально Длина кода, до которой нужно обрезать его с конца
Пример: "format":"5" "12345678" -> "12345" |
|
| DATAMATRIX_NON_GS |
НЕ-GS1 DataMatrix Без FNC1 и GS Например, сигареты |
Опционально Длина кода, до которой нужно обрезать его с конца |
|
| SGTIN_SERIAL_21 | Серийный номер SGTIN, AI 21 |
Длина серийного номера в коде этой товарной группы
Пример: "format":"6" для молока или "13" для БАДов |
|
| SGTIN_SERIAL_NON_GS | Серийный номер SGTIN, без AI | - | |
| SGTIN_91 | ID криптохвоста SGTIN, AI 91 | - | |
| SGTIN_92 | Криптохвост SGTIN, AI 92 | - | |
| SGTIN_93 | Криптохвост SGTIN, AI 93 | - | |
| BATCH_NAME | Название партии | - | |
| SERIES_NAME |
Название серии |
- | |
| DATE_PRODUCTION | Дата производства |
Формат даты, где
h – цифра часа m – цифра минут
Примеры: "hh:mm dd/MM/yy" |
|
| DATE_EXPIRE | Дата истечения срока годности | ||
| DATE_CURRENT | Текущая дата | ||
| DATE_AGGREGATION | Дата агрегации | ||
| TEXT | Пользовательский текст | - | |
| PRODUCT_NAME | Название продукции | - | |
| GTIN | GTIN продукции |
Длина GTIN, до которой нужно обрезать его с начала
Пример: "format":"13" "00812345678918" -> "0812345678918" |
|
| GTIN_NON_CHECK_DIGIT | GTIN продукции без контрольной цифры (последняя цифра в GTIN) |
Длина GTIN, до которой нужно обрезать его с начала
Пример: "format":"12" "0081234567891" -> "081234567891" |
|
| CODE_128 | Линейный код GS1-128 |
Опционально Длина кода, до которой нужно обрезать его с конца |
|
| CODE_128_BMP | Линейный код GS1-128, конвертируемый в .bmp изображение | - | |
| CUSTOM_ATTRIBUTE | Специфичный параметр продукта | - | |
|
CUSTOM_ATTRIBUTE_TEXT_TO_BMP |
Специфичный параметр продукта, конвертируемый в .bmp изображение |
Размер шрифта
Пример: "format": "10" |
|
| MRP | МРЦ продукции для табачных ТГ | - | |
| WEIGHT | Вес / объём продукции | - | |
| ACTUAL_WEIGHT | Общий вес всех продуктов в агрегате | - | |
| AGGREGATION_CAPACITY | Ёмкость групповой упаковки конкретного уровня |
"1" для групповой упаковки "2" для транспортной "3" для паллетной и выше |
|
| ACTUAL_CAPACITY | Реальное количество вложений в текущем агрегате |
По умолчанию не указывается, используется текущий уровень агрегации
Опционально "1" для групповой упаковки "2" для транспортной "3" для паллетной и выше |
|
| TOTAL_CAPACITY |
Общее количество вложений самого нижнего уровня в агрегате Например: 50, если в одной транспортной упаковке 10 групповых, в которых по 5 индивидуальных |
- | |
| NEXT_LEVEL_COUNTER |
Количество кодов в упаковке следующего уровня Например: 3 короб из 50 (AGGREGATION_CAPACITY = 50) |
ID группы устройств
Пример: "format":"1" |
|
| IMAGE | Изображение формата .bmp, расположенное в папке /img рядом с исполняемым .jar | - | |
| VARIABLE_TO_TEXT | Конвертируемое в текст значение переменной | - | |
| VARIABLE_TO_BMP | Конвертируемое в .bmp картинку текстовое значение переменной |
Размер шрифта
Пример: "format": "10" |
|
| LINE | Номер линии | - | |
| BOX_NUMBER | Номер короба | - | |
| EAN | EAN продукции | - | |
| SKU |
SKU продукции (артикул / ID в товароучётной системе) |
- |
Далее описаны параметры и их значения, применимые для отдельных типов переменных
| type | Параметр | Значение |
|
[ все ] |
xDots
yDots
(тип данных int) |
Координаты X и Y объекта в пикселях (точках) Для корректной замены все названия переменных должны быть обрамлены символами < и >
Пример: "<VAR_1>":{ "type":"DATAMATRIX_GS", "xDots": 20, "yDots": 100 } |
|
[ все ] |
regex
(тип данных string)
Опционально matcherIndex
(тип данных int) |
Регулярное выражение, которое будет применено к исходной строке
Опционально: задаётся индекс группы полученной регулярным выражением. Например, если под 0 индексом (по умолчанию) будет вся строка мэтчиться.
Пример: "regex":"ТПА_(.*?)_.*", "matcherIndex": 1 |
|
[ все ] |
prefix
suffix
(тип данных string) |
Префикс и суффикс, добавляемые к текстовому значению переменной после всех расчётов, применений регулярок и т.д.
Пример: "prefix":"Годен до: ", "suffix":" года" |
| GTIN |
value
(тип данных string) |
GTIN конкретного уровня упаковки
Допустимые значения: "SGTIN" - GTIN товара "GROUP" - GTIN групповой упаковки "TRANSPORT" - GTIN транспортной упаковки "PALLET" - GTIN паллетной упаковки
Пример: "value":"SGTIN" |
| TEXT |
Текст, который будет отправлен на печать Пример: "value":"Колбаса" |
|
|
CUSTOM_ATTRIBUTE CUSTOM_ATTRIBUTE_TEXT_TO_BMP
|
Название атрибута продукта, из которого будет взято значение для печати
Пример: "value":"attr_1" |
|
| IMAGE |
Название .bmp файла для вставки как изображения. Файл должен лежать в папке /img
Пример: "value":"logo.bmp" |
|
|
DATAMATRIX_GS DATAMATRIX_NON_GS SGTIN_SERIAL_21 SGTIN_SERIAL_NON_GS SGTIN_91 SGTIN_92 |
index
(тип данных int) |
Индекс кода для возможности печати более одного кода в одном шаблоне
Пример: "index": 1 |
|
CUSTOM_ATTRIBUTE_TEXT_TO_BMP VARIABLE_TO_BMP CODE_128_BMP |
widthPercent heightPercent
(тип данных int) |
Ширина и высота поля в процентах от величины, указанной в "width" параметра "label" файла .vars
heightPercent на данный момент нигде не используется
Пример: "widthPercent": 80 |
| CODE_128_BMP |
widthScale
(тип данных int) |
Целочисленный множитель для минимально генерируемой ширины штрих-кода. Результирующая ширина изображения = минимальная ширина для генерации штрих-кода * widthScale
Приоритет ниже widthPercent (будет использоваться только в случае, если widthPercent == null)
Пример: "widthScale": 2 |
| TEXT |
fieldName
(тип данных string) |
Человеко-читаемое имя поля во фронте для ввода в данных пользователем
Пример: "<VAR_1>: { "type":"TEXT", "fieldName":"Номер смены" } |
| TEXT |
fieldValues
(тип данных string[ ]) |
Список значений, из которых будет создан Select во фронте с выбором текста для отправки на печать в эту переменную
Пример: "<VAR_1>:{ "type":"TEXT", "fieldName":"Номер смены", "fieldValues":["1","2","3"] } |
|
CUSTOM_ATTRIBUTE_TEXT_TO_BMP VARIABLE_TO_BMP CODE_128_BMP IMAGE |
rotation
(тип данных int) |
Поворот результирующего изображения
Допустимые значения: 0 90 180 270
Пример: "rotation": 180 |
|
ACTUAL_WEIGHT |
multiplier
(тип данных double) |
Множитель для отображения веса в нужной размерности Например, когда в продукте вес указан в граммах, а общий вес агрегата нужен в кг, то нужно умножить на 0.001
Пример: "multiplier": 0.001 |
|
VARIABLE_TO_TEXT VARIABLE_TO_BMP |
sourceVariableType
(устаревший способ, сохраняется для обратной совместимости) |
Тип вложенной переменной для отображения её значения в текстовом виде или изображением
Пример: "<VAR_REP_TEXT>": { "type": "VARIABLE_TO_TEXT", "sourceVariableType": "SGTIN_SERIAL_21", "format": "13", "index": 1 }, "<VAR_REP_BMP>": { "type": "VARIABLE_TO_BMP", "sourceVariableType": "PRODUCT_NAME", "format": "15", "widthPercent": 80 }
Недостаток: для изображений не задать format, так как это свойство используется для шрифта изображения (см. VARIABLE_TO_BMP / CUSTOM_ATTRIBUTE_TEXT_TO_BMP) |
|
sourceVariable |
Полностью описанная вложенная переменная для отображения её значения в текстовом виде или изображением
Пример: "<DATE_PROD_MM/yyyy>": { "type": "VARIABLE_TO_BMP", } |