Как объединить несколько отчетов BIRT
Вопрос
В настоящее время у нас есть целый набор дизайнов отчетов, которые охватывают различные части нашего приложения, и эти отчеты создаются по требованию наших пользователей.
Я хочу иметь возможность объединить несколько из этих отчетов в один отчет для возврата пользователю.
Сначала я взломал пользовательский построитель отчетов, который генерировал файлы дизайна отчетов, используя сегменты внутри файла библиотеки отчетов, а затем запустил этот созданный дизайн, но это было громоздким и трудным для управления, поскольку мне приходилось дублировать отдельные отчеты (до сих пор обязательно) внутри файла библиотеки отчетов. Любые изменения в автономных отчетах должны были дублироваться в библиотеке для комбинированных отчетов.
Что я действительно ищу, так это способ указать несколько файлов дизайна, запустить их все, а затем вернуть пользователю один файл, содержащий все выбранные им отчеты.
Решение
Это довольно распространенный запрос, над которым мы работаем, но еще не решили. Р>
Один из подходов, который не является идеальным, который вы можете использовать сегодня, - это запускать каждый отчет, а затем объединять выходные данные каждого rptdocument. BIRT-exchange имеет пример этого здесь для PDF и HTML. Проблема в том, что нумерация страниц не будет правильной, а оглавление будет неправильным. Р>
Лучший подход - если бы существовала задача механизма отчетов о слиянии, которая позволила бы объединить несколько документов rpt в один документ rpt с соответствующей нумерацией страниц и оглавлением. Здесь есть запись об ошибке , которую я надеюсь увидеть в 2.5. (Июнь 2009) версия продукта. Если вы заинтересованы, пожалуйста, загляните и оставьте свой отзыв. Р>
Наконец, одна из функций, которую я хотел бы видеть в продукте 2009 года, - это некоторое усовершенствование API-интерфейса DesignEngine, позволяющее разработчику легко составлять единый дизайн отчета во время выполнения, используя компоненты из других проектов отчетов. Я создал bugzilla , чтобы отслеживать это тоже.
Если ничего из этого не подходит, дайте мне знать, и я посмотрю, смогу ли я помочь вам найти другое решение.