JasperServer 5.5, проблема с отображением даты в режиме AdHoc
После создания представления AdHoc с помощью JasperServer 5.5 я не могу использовать одно из полей типа даты для отображения. Использование этого поля в кросс-таблице приводит к общей ошибке в пользовательском интерфейсе и создает следующую ошибку в журнале сервера:
2014-06-06 12:33:56,437 ERROR AdhocAjaxController,http-bio-80-exec-3:888 - ad hoc controller exception
java.lang.IllegalArgumentException: Illegal pattern character 'n'
at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:845)
at java.text.SimpleDateFormat.applyPattern(SimpleDateFormat.java:2199)
at net.sf.jasperreports.engine.util.DefaultFormatFactory.createDateFormat(DefaultFormatFactory.java:127)
at com.jaspersoft.ji.adhoc.service.AdhocEngineServiceImpl.formatValue(AdhocEngineServiceImpl.java:1903)
<...>
Где на сервере JasperReports будет указан формат даты для этого конкретного поля этого конкретного представления AdHoc и почему он будет содержать "символ недопустимого шаблона 'n'", если он был создан с помощью пользовательского интерфейса?
1 ответ
- Если вы редактируете свойства отображения столбца даты в домене, вы получаете эту ошибку, или когда вы перетаскиваете столбец даты в специальном представлении, появляется ошибка "Не удалось обработать предыдущий запрос". Это известная ошибка.
- Чтобы решить эту проблему, вам нужно будет экспортировать файл схемы домена и найти атрибут "defaultMask=null" для поля даты, в котором вы получаете эту ошибку. Удалите этот атрибут "defaultMask=null" и снова импортируйте этот файл schema.xml.
- Вы не получите эту ошибку снова, пока не отредактируете свойства отображения поля даты.
- Я также заметил, что эта ошибка появляется, когда вы работаете над отчетом / специальным просмотром после обновления их домена. Попробуйте создать новое специальное представление, если вы сделали слишком много изменений в домене и получили эту ошибку.