#java #database #jbpm #business-process-management #kie
#java #База данных #jbpm #управление бизнес-процессами #kie
Вопрос:
У меня есть проект, который содержит актив бизнес-процесса, который извлекает данные из базы данных в виде списка, мне нужно получить все эти данные в выпадающем списке, чтобы позволить пользователю выбирать, как можно достичь этой точки? Я попытался добавить переменную для пользователя, которая берет список из задачи базы данных и представляет его пользователю как MultipleSelector, но не работает, пожалуйста, помогите.
Комментарии:
1. правильно ли я понимаю, что речь идет не столько о программировании, сколько об обучении использованию этого инструмента?
2. он содержит как программирование на Java, так и использование Business-central с небольшим программированием (то, что я использую сейчас)
3. пока, исходя из вашего вопроса, все, что вы пытаетесь, это установить некоторые поля в пользовательском интерфейсе.
4. да, и я могу указать на java-файл, чтобы выполнить некоторый код в качестве объекта данных, поэтому, если у вас есть какие-либо предложения по коду, он может с этим справиться
Ответ №1:
Прежде всего, выполните всю необходимую настройку служебной задачи «Выполнить SQL», как описано здесь .
Создайте модель процесса, в которую вы добавляете задачу «Выполнить SQL», за которой следует задача человека. Затем добавьте новую переменную процесса типа java.util.ArrayList в вашу модель процесса. Откройте свойства для задачи Execute SQL, настройте в качестве назначений (вывода данных) ранее созданную переменную процесса. Откройте свойства для человеческой задачи, заполните actor и настройте в качестве присваивания (ввода данных) переменную list.
Создайте новую форму, в которой вы выбираете человеческую задачу вашего процесса. Извлеките назначенную переменную слева в форме. В диалоговом окне выберите в качестве типа поля «множественный выбор», выберите «обязательно» и снимите флажок «только для чтения».
Я обнаружил, что существует проблема с JBPM (https://issues.redhat.com/browse/JBPM-9595 ), который блокирует использование компонента ‘multipleselector’. Пока это не будет исправлено, вы можете вместо этого использовать ‘multipleinput’.