Page 1 of 1

Параметры фильтрации для отчета

PostPosted: Fri Apr 12, 2019 11:49 am
by vsablin
Всем добрый день!
Требуется из триггера запустить отчет с передачей новых параметров фильтрации к отчету. Как запустить отчет разобрался, а вот как передать параметры фильтрации этому отчету?

Re: Параметры фильтрации для отчета

PostPosted: Tue Apr 16, 2019 1:55 pm
by dpochtarev
А как вы запускаете? Покажите код.

Re: Параметры фильтрации для отчета

PostPosted: Mon Jun 10, 2019 1:04 pm
by vsablin
Set<Report> reports = KernelManager.getReport().getAllReportList(taskFinanceID, "1");

Iterator<Report> iter = reports.iterator();
byte[] bArray = null;
SecuredReportAdapterManager sram = AdapterManager.getInstance().getSecuredReportAdapterManager();

// Найти ID отчета BIRT и запустить его
String reportID = "";
Report report = null;
while (iter.hasNext()) {
report = iter.next();
if (report.getName().equalsIgnoreCase(reportTSName)) {
reportID = report.getId();
break;
}
}
if ( reportID.isEmpty() ) {
throw new UserException(String.format("Отчет TS \"%s\" для поля %s не найден\n", reportTSName,REPORT_XML), false);
}
//
// Отчет TS найден. Построим этот отчет и потом сторим отчет GREE
//
String delimiter = "";
TaskFValue fvalue = sram.getFValue(sc, reportID);
try {
bArray = sram.generateReport(sc, reportID, taskFinanceID, false, SecuredReportAdapterManager.RT_XML,
delimiter, false, "UTF-8", fvalue, null);
} catch (Exception ex) {
log.error(ex.getMessage(), ex);
// "Ошибка при формировании отчета %s (%s)"
throw new UserException(String.format( "Ошибка при формировании отчета %s (%s)", report.getName(), ex.getMessage()), false);
}

Re: Параметры фильтрации для отчета

PostPosted: Mon Jun 17, 2019 2:15 pm
by oveiya
I am sure this post has helped me save many hours of browsing other related posts just to find what I was looking for. Many thanks!

https://www.gangboard.com/business-inte ... ent=oveiya

Re: Параметры фильтрации для отчета

PostPosted: Tue Jun 18, 2019 1:26 pm
by dpochtarev
Передавайте параметры через TaskFValue.
Code: Select all
TaskFValue fvalue = new TaskFValue();
 fvalue.set(FieldMap.TASK_CATEGORY.getFilterKey(), "categoryId");
etc...