Всё о переменных шаблона печати СМАРТ Л2
История обновлений документа:
-
06.08.24: добавлены все основные параметры
-
14.11.24: добавлены aggregation_capacity, code_128, custom_attribute
-
23.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>.
Можно сохранить несколько шаблонов с разными названиями (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 изображение | - | |
| 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 картинку текстовое значение переменной | - | |
| LINE | Номер линии | - | |
| BOX_NUMBER | Номер короба | - | |
| EAN | EAN продукции | - | |
| SKU |
SKU продукции (артикул / ID в товароучётной системе) |
- |
Далее описаны параметры и их значения, применимые для отдельных типов переменных
| type | Параметр | Значение | |
[ все ] |
xDots yDots
(тип данных int) |
Коор Для корректной замены все названия переменных должны быть обрамлены символами < и >
Пример: "<VAR_1>":{ "type":"DATAMATRIX_GS", "xDots": 20, "yDots": 100 } |
|
|
[ все ] |
regex
(тип данных string) |
|
|
|
[ все ] |
prefix suffix
(тип данных string) |
|
|
| GTIN |
value
(тип данных string) |
GTIN конкретного уровня упаковки
"SGTIN" - GTIN товара "GROUP" - GTIN групповой упаковки "TRANSPORT" - GTIN транспортной упаковки "PALLET" - GTIN паллетной упаковки
Пример: "value":"SGTIN" |
|
| TEXT | value |
Текст, который будет отправлен на печать Пример: "value":"Колбаса" |
|
|
CUSTOM_ATTRIBUTE CUSTOM_ATTRIBUTE_TEXT_TO_BMP
|
value |
Название атрибута продукта, из которого будет взято значение для печати
Пример: "value":"attr_1" |
|
| IMAGE | value |
Название .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 |
|