Развертывание вложенных отчетов в JasperServer - PullRequest
7 голосов
/ 30 ноября 2011

Я создал фрейм и подотчет для интеграции с 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, передать его, пропустить фрейм params, и заставить его работать, но когда я попытаюсь запустить фрейм, никаких кубиков.

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

1 Ответ

1 голос
/ 03 января 2016

Выводы OP.

  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 /, а это не так.

...