Skip to main content

Всё о переменных шаблона печати СМАРТ Л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>.

"label" задаёт размеры этикетки в пикселях (точках).

Можно сохранить несколько шаблонов с разными названиями (example.vars, default.vars, dm1.vars). Нужный шаблон указывается в редакторе продукта в СМАРТ Л3 в поле шаблон для печати.

image.png

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 Дата производства

Формат даты, где


y – цифра года
M – цифра месяца
d – цифра дня

h – цифра часа

m – цифра минут

 

Примеры
"dd.MM.yyyy"
"dd-MM-yy"
"dd/MM"

"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
SGTIN_93

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",
    "sourceVariable": {
        "type": "DATE_PRODUCTION",
        "format": "MM/yyyy"
     },
     "format": 25,
     "widthPercent": 100,
     "rotation": 270

}