Как объединить несколько отчетов BIRT - PullRequest
3 голосов
/ 23 октября 2008

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

Я хочу иметь возможность объединить несколько из этих отчетов в один отчет для возврата пользователю.

Сначала я взломал пользовательский построитель отчетов, который генерировал файлы дизайна отчетов, используя сегменты внутри файла библиотеки отчетов, а затем запустил этот созданный дизайн, но это было громоздким и трудным для управления, поскольку мне приходилось дублировать отдельные отчеты (все еще обязательно) внутри файла библиотеки отчетов. Любые изменения в автономных отчетах должны были дублироваться в библиотеке для комбинированных отчетов.

Что я действительно ищу, так это способ указать несколько файлов дизайна, запустить их все, а затем вернуть пользователю один файл, содержащий все выбранные им отчеты.

1 Ответ

3 голосов
/ 24 октября 2008

Это довольно распространенный запрос, над которым мы работаем, но еще не решили.

Один из подходов, который не является идеальным, который вы можете использовать сегодня, состоит в том, чтобы запускать каждый отчет, а затем объединять выходные данные каждого rptdocument. BIRT-exchange имеет пример этого здесь для PDF и HTML. Проблема в том, что нумерация страниц не будет правильной, а оглавление будет неправильным.

Лучший подход - если бы существовала задача механизма отчетов о слиянии, которая позволила бы вам объединить несколько документов rpt в один документ rpt с соответствующей нумерацией страниц и оглавлением. Здесь есть запись bugzilla здесь , которую я надеюсь увидеть в версии 2.5 (июнь 2009 г.) продукта. Если вы заинтересованы, пожалуйста, загляните и оставьте свой отзыв.

Наконец, одна из функций, которую я хотел бы видеть в продукте 2009 года, - это некоторое усовершенствование API-интерфейса DesignEngine, позволяющее разработчику легко составлять один дизайн отчета во время выполнения, используя компоненты из других проектов отчетов. Я создал bugzilla , чтобы отслеживать это тоже.

Если ни один из этих вариантов не подходит, дайте мне знать, и я посмотрю, смогу ли я помочь вам найти другое решение.

...