Развертывание подотчетов в JasperServer

Я создал кадр и вложенный отчет для интеграции с APEX и усовершенствовал его до такой степени, что готов к развертыванию на JasperServer. Каким-то образом точный синтаксис побеждает меня. Я пробовал все варианты, на которые укажут следующие вопросы, но, похоже, ничего не работает. Кстати, я использую Glassfish, но не думаю, что это важно. Вот мои вопросы:

  1. При развертывании вложенного отчета я развертываю его как отчет или как файл JRXML?

  2. Нужно ли настраивать элементы управления вводом для подотчета, переданного отчетом о кадре?

  3. Имеет ли значение, где я развертываю вложенный отчет (структуру папок), если я передаю правильный параметр SUBREPORT_DIR во фрейм?

  4. На этом SUBREPORT_DIR я пробовал несколько разных вещей. Сначала у меня был абсолютный путь по умолчанию в моем локальном поле для целей отладки, и я передавал значение, которое хотел, в URL-адресе (т.е. ...&SUBREPORT_DIR=/Subreports/...). Я также попытался установить по умолчанию путь, который я хотел. Ни один из них не работает, но должен ли первый работать так же хорошо, как второй?

  5. Каков фактический синтаксис для передачи SUBREPORT_DIR? Я развернул свой отчет о кадрах как «/reports/frame», а свой подотчет как «/reports/Subreports/sub», поэтому я передавал «repo:/Subreports/» (без кавычек в URL-адресе, с кавычками по умолчанию на раме).

Мой фрейм и подпрограмма работают в iReport с теми же параметрами, которые я передаю, но они вообще не работают с URL-адресом. Я могу загрузить подпрограмму в виде отчета под JasperServer, передать ему фрейм параметров и заставить его работать, но когда я пытаюсь запустить фрейм, кости нет.

Заранее спасибо за всю помощь, и я надеюсь вернуть ее, как только я правильно настрою это.


person user1073876    schedule 30.11.2011    source источник
comment
Я рад, что вы нашли решение своей проблемы. Это может помочь будущим людям с тем же вопросом, если вы скопируете свой вывод в качестве ответа и пометите его как принятый (щелкните пустую галочку, которая появится рядом с вашим ответом). Это будет означать, что у вопроса есть рабочий ответ для всех, кто наткнется на него позже.   -  person Eric Hydrick    schedule 02.12.2011
comment
Я переместил ваш ответ в вики-ответ сообщества, теперь вам нужно только принять его; )   -  person Petter Friberg    schedule 03.01.2016


Ответы (1)


Выводы ОП.

  1. Подотчет необходимо развернуть в репозитории в виде файла JRXML. В соответствующем столбце представления репозитория будет указано «Файл».

  2. Вам НЕ нужно устанавливать элементы управления вводом для подотчета. Кадровому отчету нужны только те элементы управления вводом, которые он использует, а не параметры подотчета.

  3. Пока вы передаете правильный SUBREPORT_DIR, вы можете поместить вложенный отчет в любое место, но помните, что отчет о кадре будет ссылаться на вложенный отчет точно по указанному вами имени. Одна из двух моих проблем (см. № 1 выше для другой) заключалась в указании расширения в пути по умолчанию. Это было правильно в iReport, но неправильно на стороне сервера.

  4. SUBREPORT_DIR может быть передан в качестве параметра и работает как заявлено.

  5. Правильный путь для SUB_REPORT_DIR, который я сейчас использую в качестве параметра по умолчанию, выглядит примерно так: "repo:/reports/Subreports/". Таким образом, подробное выражение подотчета: $P{SUBREPORT_DIR} + "five_col_sub". См. № 3 выше.

Не то чтобы сложно, на самом деле, но и не совсем интуитивно понятно. Мой коллега указал, что «repo:» — это сокращение от репозитория JasperServer. Теперь это кажется очевидным, но я предполагал, что это означает «отчеты», что требует, чтобы любой отчет с подотчетом и сам подотчет должен был существовать в каталоге /reports/, что не так.

person Community    schedule 03.01.2016