Я разместил это на форумах JasperServer, но в целом мне повезло больше на StackOverflow. Пожалуйста, помоги, если можешь.
Моя самая большая претензия к JasperServer
заключается в том, что он ведет себя иначе, чем JasperReport
(в частности, отчеты, разработанные в iReport
).
Проблема, которую я вижу сейчас, заключается в том, что даты отображаются за один день до (фактически, ровно за 4 часа) до даты, указанной в параметре.
Это то, что я вставил в выражение значения по умолчанию JRXML:
((new Date().getMonth() / 3) + 1 == 1)? new Date(new Date().getYear(), 0, 1) :
((new Date().getMonth() / 3) + 1 == 2)? new Date(new Date().getYear(), 3, 1) :
((new Date().getMonth() / 3) + 1 == 3)? new Date(new Date().getYear(), 6, 1) :
new Date(new Date().getYear(), 9, 1)
Этот код работает, чтобы правильно рассчитать начало квартала из выражения значения по умолчанию JasperReports
. Когда я запускаю это через iReport
, я не вижу никаких проблем. Для всех отчетов, которые я запускаю в этом квартале, я вижу 1 июля 2010 года в качестве даты начала.
Когда я изменяю JRXML для учета формата "repo:subreport_name" JasperServer
и запускаю этот отчет, а JasperServer
отправляю мне его по электронной почте, я получаю другой результат:
6/30/10 8:00 PM
Это кажется мне ошибкой.