Блог
Ошибка: «Версия загружаемого Jasper файла не актуальна. Актуальная версия 6.12.2» — что делать
Самый простой способ решить проблему — подготовить шаблон через EasyJasper.
EasyJasper — это онлайн-редактор шаблонов этикеток для Честного Знака. В нём не нужно устанавливать Jaspersoft Studio, искать подходящую версию 6.12.2, вручную компилировать .jrxml в .jasper и разбираться с ошибками загрузки. Вы можете открыть шаблон, изменить размер этикетки, добавить нужные поля, Data Matrix, текст, логотип или штрихкод, а затем скачать готовый .jasper для загрузки в Честный Знак.
Это особенно удобно, если вы столкнулись с ошибкой:
«Версия загружаемого Jasper файла не актуальна. Актуальная версия 6.12.2»
Во многих случаях такая ошибка связана не только с версией Jasper Studio, а с содержимым самого шаблона: неправильной структурой, размерами, картинками, штрихкодами, полями или некорректной компиляцией файла.
Если вы хотите быстро подготовить рабочий шаблон без ручной настройки Jasper Studio, используйте EasyJasper. А ниже разберём, почему возникает эта ошибка и что проверить, если вы всё-таки редактируете шаблон вручную.
«Версия загружаемого Jasper файла не актуальна. Актуальная версия 6.12.2»
На первый взгляд кажется, что проблема именно в версии Jaspersoft Studio. Пользователь устанавливает Jasper Studio 6.12.2, заново сохраняет шаблон, снова загружает файл в СУЗ — и получает ту же ошибку. В обсуждениях на сайте Честного Знака пользователи прямо пишут, что работают в нужной версии, но портал всё равно не принимает файл.
На практике эта ошибка не всегда означает, что файл создан в неправильной версии Jasper Studio. Часто причина находится внутри самого шаблона: в структуре JRXML, в логике элементов, в картинках, штрихкодах, размерах области печати или в неправильной компиляции файла.
Что на самом деле означает ошибка
Представитель Честного Знака объяснял, что ошибка «Версия загружаемого файла не актуальна. Актуальная версия 6.12.2» может возникать не из-за версии программы, а из-за нарушения синтаксиса JRXML или логических ошибок в шаблоне. Например, когда данные указаны не в том элементе, динамические значения размещены в статическом поле или в элемент передаётся больше символов, чем он способен корректно обработать. В таких случаях СУЗ не может корректно обработать содержимое загружаемого файла.
То есть сообщение про версию может быть не точной причиной, а общей ошибкой обработки Jasper-шаблона.
Первое, что нужно проверить
Сначала убедитесь, что вы загружаете именно скомпилированный файл .jasper, а не файл .jrxml, который просто переименовали.
Это частая ошибка: пользователь редактирует шаблон, получает JRXML-файл, меняет расширение с .jrxml на .jasper и пытается загрузить его в Честный Знак. Но .jrxml и .jasper — это разные файлы.
JRXML — исходный файл шаблона. Его можно открыть и редактировать.
Jasper — скомпилированный файл, который должен загружаться в Честный Знак.
Простой способ проверки: откройте файл через обычный текстовый редактор. Если внутри виден читаемый XML-текст, значит это, скорее всего, не настоящий .jasper, а JRXML-файл или неправильно подготовленный файл. В обсуждениях Честного Знака пользователи также указывали, что часто проблема возникает именно из-за переименования JRXML в Jasper.
Проверьте, что шаблон действительно скомпилирован
В Jasper Studio недостаточно просто сохранить проект. Нужно именно скомпилировать отчет.
Обычно логика такая:
- Открыть
.jrxmlв Jasper Studio. - Внести изменения.
- Выполнить компиляцию отчета.
- Получить файл
.jasper. - Загрузить в СУЗ именно
.jasper.
Если после сохранения у вас появился только .jrxml, Честный Знак такой файл как готовый шаблон не примет.
Проверьте элементы Report, Detail и Frame
В официальном ответе на сайте Честного Знака рекомендуют поочерёдно удалять элементы шаблона, чтобы найти проблемный элемент, а также проверить параметры элементов Report, Detail и Frame.
Это важный пункт, потому что шаблон этикетки обычно состоит не просто из отдельных текстов и штрихкодов. В Jasper есть структура отчета: страница, поля, detail band, frame, элементы внутри frame. Если размеры или вложенность элементов нарушены, СУЗ может не принять файл.
Что стоит проверить:
- размер страницы соответствует размеру этикетки;
Detailне выходит за пределы страницы;- основной
Frameнаходится внутри области печати; - элементы не выходят за пределы
Frame; - нет элементов с отрицательными координатами;
- ширина и высота элементов не равны нулю;
- нет случайно оставшихся пустых или битых элементов.
Проверьте размер этикетки
Другая похожая ошибка при загрузке шаблона — «Не удаётся определить размеры этикетки». Она часто встречается рядом с ошибкой про версию Jasper, особенно когда пользователь меняет шаблон или добавляет изображение. В одном из обсуждений пользователь пишет, что без изображения шаблон загружается, а с изображением появляются ошибки: либо про неактуальную версию Jasper, либо про невозможность определить размеры этикетки.
Проверьте:
- ширину этикетки;
- высоту этикетки;
- ориентацию;
- размеры основной области отчета;
- нет ли элементов, которые выходят за границы этикетки.
Например, если этикетка должна быть 58×40 мм, в шаблоне не должно случайно получиться 77×53 мм из-за неправильного коэффициента, DPI или единиц измерения.
Проверьте изображения и логотипы
Изображения — одна из частых причин проблем. Пользователи в обсуждениях Честного Знака пишут, что шаблон без картинки загружается, а после добавления логотипа или изображения появляется ошибка про версию Jasper. В одном из комментариев описывается обходной вариант: кодировать изображение в Base64 и вставлять его в шаблон как данные, а не как внешний файл.
Что проверить:
- изображение не слишком большое;
- формат изображения поддерживается;
- путь к файлу не ссылается на локальный компьютер;
- изображение не вставлено как внешняя ссылка, которую СУЗ не сможет найти;
- картинка находится внутри области этикетки;
- в шаблоне нет битых ссылок на старые изображения.
Для этикеток Честного Знака лучше использовать простые изображения: PNG, чёрно-белые или с минимальным количеством цветов, без лишнего фона и без большого размера файла.
Проверьте штрихкоды и Data Matrix
Если после добавления Data Matrix, EAN-13, Code-128 или другого штрихкода шаблон перестал загружаться, временно удалите штрихкод и попробуйте импортировать файл снова.
Если без штрихкода шаблон загружается, проблема может быть в выражении, типе штрихкода или значении, которое передается в элемент.
Проверьте:
- используется ли правильное поле для Data Matrix;
- не передаётся ли пустое значение;
- не используется ли статический текст вместо динамического поля;
- подходит ли тип штрихкода под значение;
- не выходит ли штрихкод за границы этикетки;
- не слишком ли маленький размер Data Matrix для печати.
Для Честного Знака важно не просто нарисовать квадрат Data Matrix, а передать в него корректное значение кода маркировки из данных СУЗ.
Проверьте текстовые поля
Ошибка может появляться из-за логической ошибки в элементах. Например, когда в поле передается слишком длинный текст, который не помещается в элемент, или когда динамические данные размещены там, где должен быть статический текст. Такая причина прямо приводится в официальном ответе Честного Знака.
Проверьте:
- все динамические поля используют правильные выражения;
- длинные поля имеют достаточно места;
- наименование товара не выходит за пределы этикетки;
- включён перенос текста, если он нужен;
- статические надписи и динамические поля не перепутаны;
- формулы не содержат ошибок.
Пример динамического поля в Jasper обычно выглядит так:
$F{name}
А обычная надпись должна быть статическим текстом, например:
Наименование:
Не стоит вставлять $F{name} в обычный статический текстовый элемент, если этот элемент не предназначен для выражений.
Метод быстрой диагностики
Самый рабочий способ найти причину — удалять элементы по одному.
Порядок проверки:
- Сохраните копию шаблона.
- Удалите все изображения.
- Скомпилируйте
.jasper. - Попробуйте загрузить в Честный Знак.
- Если загрузилось — проблема была в изображении.
- Если не загрузилось — удалите штрихкоды.
- Потом проверьте текстовые поля.
- Затем проверьте frame, размеры и detail band.
Так можно быстро понять, какой элемент ломает импорт.
Частые причины ошибки
Самые вероятные причины:
- загружается не
.jasper, а переименованный.jrxml; - файл сохранён, но не скомпилирован;
- шаблон создан в неподходящей версии Jasper Studio;
- есть синтаксическая ошибка в JRXML;
- есть логическая ошибка в элементе;
- динамическое поле вставлено как статический текст;
- слишком длинное значение передаётся в маленькое поле;
- элемент выходит за границы этикетки;
- неверные размеры Report, Detail или Frame;
- изображение вставлено некорректно;
- штрихкод или Data Matrix содержит неправильную формулу;
- внешний файл изображения не попадает в архив;
- СУЗ не может определить размер этикетки.
Что делать пошагово
Шаг 1. Проверьте расширение файла
Убедитесь, что файл действительно .jasper.
Не переименовывайте .jrxml в .jasper. Это не компиляция.
Шаг 2. Скомпилируйте шаблон заново
Откройте исходный .jrxml в Jasper Studio и выполните компиляцию отчета. После этого загрузите полученный .jasper.
Шаг 3. Уберите изображения
Если в шаблоне есть логотип, картинка или пиктограмма, временно удалите их и попробуйте загрузить шаблон без них.
Если без изображения файл загружается, значит проблема в способе вставки картинки.
Шаг 4. Проверьте размеры
Сравните размер этикетки в шаблоне с размером, который вы выбираете в Честном Знаке. Проверьте, что frame и detail не больше страницы.
Шаг 5. Проверьте Data Matrix
Убедитесь, что Data Matrix использует правильное поле с кодом маркировки, а не GTIN или произвольный текст.
Шаг 6. Проверьте текстовые поля
Уберите длинные поля или увеличьте область текста. Особенно это важно для полного наименования товара, состава, размера, цвета и других атрибутов.
Шаг 7. Найдите проблемный элемент
Удаляйте элементы по одному и каждый раз пробуйте загрузить шаблон. Это самый надёжный способ найти, какой именно объект мешает импорту.
Можно ли решить проблему установкой другой версии Jasper Studio?
Иногда — да. Но не всегда.
В обсуждениях пользователи пишут, что пробовали разные версии Jasper Studio, включая 6.12.2 и 6.20.x, но ошибка сохранялась. При этом представитель Честного Знака объяснял, что сообщение может быть связано не с версией программы, а с содержимым файла.
Поэтому установка другой версии — не первое решение. Сначала стоит проверить структуру шаблона, изображения, штрихкоды, поля и компиляцию.
Как избежать ошибки
Лучше всего не редактировать Jasper-шаблон вручную без проверки.
Перед загрузкой в Честный Знак проверьте:
- файл скомпилирован в
.jasper; - размер этикетки указан правильно;
- элементы находятся внутри области печати;
- нет битых изображений;
- нет лишних внешних ссылок;
- Data Matrix использует правильное поле;
- текстовые поля не переполнены;
- шаблон открывается и компилируется без ошибок;
- файл не является переименованным JRXML.
Краткий вывод
Ошибка «Версия загружаемого Jasper файла не актуальна. Актуальная версия 6.12.2» не всегда означает, что у вас неправильная версия Jasper Studio.
Чаще нужно искать проблему в самом шаблоне:
- в структуре JRXML;
- в размерах Report, Detail и Frame;
- в изображениях;
- в формулах;
- в штрихкодах;
- в динамических полях;
- в неправильной компиляции
.jasper.
Самый быстрый путь — сделать копию шаблона, удалить изображения и сложные элементы, загрузить простую версию, а затем возвращать элементы по одному. Так можно найти, какой объект вызывает ошибку при импорте в Честный Знак.
FAQ
Почему Честный Знак пишет про версию 6.12.2, хотя файл сделан в 6.12.2?
Потому что ошибка может быть общей ошибкой обработки файла. В официальных ответах указывается, что причина может быть в синтаксисе JRXML или логических ошибках внутри шаблона, а не только в версии Jasper Studio.
Можно ли просто переименовать JRXML в Jasper?
Нет. .jrxml нужно скомпилировать в .jasper. Простое переименование расширения не создаёт корректный Jasper-файл.
Почему шаблон без картинки загружается, а с картинкой нет?
Вероятно, изображение вставлено способом, который СУЗ не может обработать: как внешний файл, с неправильным путём, слишком большим размером или некорректной ссылкой. В обсуждениях пользователи сообщали, что добавление изображения часто вызывает ошибку загрузки.
Что проверять в первую очередь?
Сначала проверьте, что у вас настоящий .jasper, затем уберите изображения, проверьте размеры этикетки, frame/detail и формулы штрихкодов.
Нужно ли обязательно использовать Jasper Studio?
Для ручной работы с исходными шаблонами Jasper Studio обычно используют, но основная сложность не только в программе, а в корректной подготовке файла под требования СУЗ. Поэтому удобнее использовать редактор, который сразу проверяет шаблон и экспортирует готовый .jasper для Честного Знака.