powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / BIRT передача массива в отчет через setParameterValue
5 сообщений из 5, страница 1 из 1
BIRT передача массива в отчет через setParameterValue
    #38791531
svirfneblyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Подскажите как правильное реализовать.

В сервлете передаются параметры для отчета :

Код: java
1.
2.
3.
4.
5.
6.
7.
                IRunAndRenderTask task = engine.createRunAndRenderTask(reportDoc);
                task.setParameterValue("production",objectMap.get("numberbso"));
                task.setParameterValue("dateInvoice", objectMap.get("dateinvoice"));
                task.setParameterValue("list",objectMap.get("listitems"));

                task.setRenderOption(option);
                task.validateParameters();



объекты, которые не являются списком отображаются в форме отчета без проблем. Но объект содержащий массив данных(в примере это "list") никак не хочет .

Или такой подход не совсем правильный и лучше настраивать разные датасеты в самом отчете ?
...
Рейтинг: 0 / 0
BIRT передача массива в отчет через setParameterValue
    #38791540
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
objectMap.get("listitems") что именно возвращает?
Попробуйте
task.setParameterValue("list", (Object[])objectMap.get("listitems"));
Либо
task.setParameterValue("list", ((Collection)objectMap.get("listitems")).toArray());
...
Рейтинг: 0 / 0
BIRT передача массива в отчет через setParameterValue
    #38791558
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще бы узнать как эти объекты потом выводятся в отчет.
...
Рейтинг: 0 / 0
BIRT передача массива в отчет через setParameterValue
    #38791578
svirfneblyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, забыл же описать мап.. :

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
@SuppressWarnings("MagicConstant")
    public <T extends WarehouseShippingWaybill> Map<String, Object> constructBirtReportGoodsWaybill(Class<T> c, Long id) {

// some code..

     WarehouseShippingWaybill waybill = getDocument(WarehouseOutgoingGoodsWaybill.class, id);
      
   DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
     
    root.put("dateinvoice", returnStringDateFormat(dateDocument));
     
   root.put("organization", organization);
    
   // some code..
    List<TypeService> entryInternal = returnListTableGoodsInvoice(contract, waybill.getOperationEntries(), organization);
        root.put("listitems", entryInternal);
  
 // some code..
        return root;
    }



авторtask.setParameterValue("list", (Object[])objectMap.get("listitems"));
Либо
task.setParameterValue("list", ((Collection)objectMap.get("listitems")).toArray());

не помогли варианты :( возможно в самом отчете необходимо как-то обрабатывать этот параметр ?
Формирую дизайн отчета в эклипсе



Или все же лучше использовать DataSets при формировании отчета и параметрами получать только условия для поиска данных в БД ?
В данных условиях, конечно, было бы удобнее передавать уже готовые объекты в отчет..
...
Рейтинг: 0 / 0
BIRT передача массива в отчет через setParameterValue
    #38791582
svirfneblyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторЕще бы узнать как эти объекты потом выводятся в отчет.

вот это и пытаюсь осилить :) как список правильно выводить в отчете. формировать таблицу..
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / BIRT передача массива в отчет через setParameterValue
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]