Ошибка NPE при попытке создать TaskListener на событие assignment

Доброго времени!

Получаем ошибку при попытке создать листенер на User task при событии assignment.

Задача такая:
Из группы кандидатов, зафиксировать ответственного который взял на себя эту задачу,
чтобы при необходимости, повторно отправить заявку на того кто в начале исполнял.

image

Изначально вопрос был такой:
Как через выражение получить назначенного пользователя из группы кандидатов в TaskListener на событие assignment

Подробной информации как это делать ни где не нашли, кроме как подсказки чатГПТ:

image

image

Jmix версии 1.4
Тестовый процесс
test_assigned_group_user.bpmn20.xml (6.6 КБ)
StackTrace Ошибки
stacktrace.java (11.0 КБ)

Здравствуйте

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

Вы пробовали продебажить метод, который выдаёт NPE?

Также, ознакомьтесь с документацией передачи параметров процесса в экраны: Doc

Также вы можете спросить у нашего AI ассистента, он понимает контекст Jmix больше, чем ChatGPT.

Если вы предоставите тестовый проект и шаги воспроизведения то мы сможем быстрее разобраться в вашей проблеме.

С уважением,
Дмитрий

Добрый день,

Дело в том, что ошибка исходит не из моего проекта а из кода аддона BPM.

io.jmix.bpmui.screen.modeler.properties.usertask.UserTaskPropertiesFragment.updateTaskListenersInModeler(UserTaskPropertiesFragment.java:225)

image

Это можно воспроизвести в редакторе схемы в браузере через интерфейс приложения (т.е. не в IDEA). Для этого нужно добавить TaskListener в UserTask на который указана группа кандидатов (любая), заполнить как ниже и при нажатии на Ок выдает ошибку. Я пробовал разные варианты заполнить, не важно ошибка всегда выходит.

image

image

Я вложил тестовую схему, и стек трейс ошибки в предыдущем сообщении тоже.
stacktrace.java (11.0 КБ)
test_assigned_group_user.bpmn20.xml (6.6 КБ)

Здравствуйте.

Это никак не запрещает вам продебажить метод. Возможно вы пытаетесь передать какой-то недопустимый параметр. Вы можете открыть исходный код фреймворка в вашей IDE и установить точку останова на нужной строчке.

Я находил схему и стектрейс ошибки в предыдущем сообщении, но на моём тестовом проекте ошибка никак не воспроизводилась, всё сохранялось корректно. Без тестового проекта я мало что смогу подсказать.

С уважением,
Дмитрий