Блог
Почему в СУЗ не отображается артикул или наименование в шаблоне
Одна из частых ситуаций при настройке этикетки: пользователь хочет вывести артикул, наименование товара или GTIN, но в шаблоне доступны только ограниченные данные. Например, есть поле cis, а нужных текстовых полей нет.
Это не всегда ошибка шаблона. Часто причина в том, какие данные СУЗ или внешняя система передаёт в печатную форму.
Шаблон не создаёт данные сам
Jasper-шаблон не является базой данных. Он не знает артикул, наименование или характеристики товара, если эти значения не переданы в него как поля или параметры.
Шаблон только отображает те данные, которые получает на входе.
Если в шаблон передаётся только cis, то автоматически вывести наименование или артикул не получится.
Проверьте доступные поля
Первое, что нужно сделать, — проверить список полей в шаблоне. Если нужного поля нет, его нельзя просто вывести как динамическое значение.
Например, если нет поля article, name, gtin или похожего по смыслу, шаблон не сможет взять эти данные из воздуха.
Почему передаётся только cis
В некоторых сценариях СУЗ передаёт в шаблон только код маркировки. Это может быть достаточно для печати Data Matrix, но недостаточно для полноценной этикетки с описанием товара.
Такой сценарий особенно часто вызывает вопросы, когда нужно сделать красивую этикетку с артикулом, наименованием и другими текстовыми данными.
Что можно сделать
Есть несколько вариантов решения:
- Добавить недостающие данные как статический текст.
- Использовать отдельные шаблоны для разных товаров.
- Доработать источник данных, чтобы он передавал артикул и наименование.
- Настроить интеграцию с учётной системой.
- Изменить требования к этикетке и оставить только Data Matrix.
Если этикетка используется для одного товара, статический текст может быть простым решением. Если товаров много, лучше передавать данные динамически.
Почему статический текст не всегда подходит
Статический текст удобен, когда шаблон используется для одной позиции или небольшой группы товаров. Но если один шаблон применяется для разных товаров, статический артикул или наименование может привести к ошибкам.
Например, Data Matrix будет относиться к одному товару, а текст на этикетке — к другому. Это недопустимо для рабочего процесса.
Как помогает EasyJasper
EasyJasper показывает доступные поля шаблона и помогает понять, какие данные можно вывести динамически. Если нужного поля нет, его можно добавить только как статический текст или решить вопрос на уровне источника данных.
Вывод
Если в СУЗ не отображается артикул или наименование, причина часто не в этикетке, а в наборе данных, который передаётся в шаблон.
Перед доработкой макета нужно проверить доступные поля и решить, какие данные должны быть динамическими, а какие можно добавить вручную.