BPM, можно ли из скриптов позвать стандартный генератор отчетов?

Добрый день!
JMIX 2.4, BPM аддон 2.4
Споткнулись на том, что невозможно позвать отчет:

def var_JMIXReportRunnerDoc = io.jmix.reports.runner.ReportRunner.byReportCode(‘JMIXReportCode’)
.addParam(‘uid’, execution.getProcessInstanceId())
.run()

Как мы поняли, падаем на отсутствии в BPM контекста приложения JMIX:

MissingMethodException: No signature of method: static io.jmix.reports.runner.ReportRunner.byReportCode() is applicable for argument types: (String) values: [JMIXReportCode]

И тут совершенно не важно какой отчет, так как сам генератор отчетов JMIX получается что “не виден” из-под BPM.

Подскажите пожалуйста, мы хотим странного, или у этой ситуации есть какой-то разумный способ решения проблемы? Удобно было бы работать именно из скриптового, а не из сервисного таска.

UPD: подход через “Define Spring Bean in spring boot app” работает, это единственный путь?

Здравствуйте, @klopotovik

Вы можете обращаться к бинам из Spring контекста, используя имя бина. Для вызова метода бина в скриптовой таске можно использовать конструкцию вида: <имяБина>.<имяМетода>.

Для бина ReportRunner имеется дефолтная реализация в виде бина io.jmix.reports.runner.impl.ReportRunnerImpl, для которого в аннотации Component указано имя report_ReportRunner.

Пример работающего Groovy скрипта для Script task:

def reportDoc = report_ReportRunner.byReportCode('user_report')
.addParam('username', usernameVar)
.run()

println "Report executed: " + reportDoc.documentName

С уважением,
Мария.

Мария, большое спасибо.
Через этот конструктор получилось, все отлично работает!