Агрегирующий фильтр в условном потоке БП

Здравствуйте, коллеги

подскажите, пожалуйста, как в БП можно сделать условием агрегирующий фильтр, например, такой:

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

Нравится

9 комментариев

В каком смысле? Я так понимаю на скрине как раз то, что Вам нужно: БП запустится только для того объекта, который будет соответствовать всем условиям, который вы добавили в фильтр.

Условием запуска процесса является перевод инцидента в состояние "разрешен". А уже дальше мне нужно разветвить процесс по условию есть ли незакрытые активности по инциденту или нет. Если есть, то вернуть инцидент в состояние в работе. Пытался делать это через промежуточные обрабатывающие события, и исключающее или по операциям, но никаких событий после старта процесса не случается, поэтому он и не движется дальше..

и да, на скриншоте карточка промежуточного события а не старта процесса.

По Вашей задаче, мне кажется следует использовать элемент чтение данных (для выяснения есть ли незакрытые активности) и элемент запись данных для возврата инцидента в работу.

пс: "сигналы" работают только в рамках одного процесса, "сообщения" - между процессами.

Вы не поверите, но я так и сделал, однако выполняются обе ветви.. нужно исключающее или по условиям, кмк

Вам просто нужно создать параметр ActivityRecordsCount с типом "Целое число", и после элемента "чтение данных", в котором вы находите количество записей из раздела активности по определенным фильтрам, добавить элемент "Скрипт", в котором заполнить этот параметр:

ActivityRecordsCount = ReadDataUserTask1.NumberOfRecords;
return true;

"где ReadDataUserTask1 - имя элемента "чтение данных".

Затем добавить "исключающее или", и два условных потока с условиями ActivityRecordsCount > 0 и ActivityRecordsCount == 0.

Вот скрины составленного мной тестового процесса:

"чтение данных"

"условный поток"

"параметр"

диаграмма процесса

спасибо!

К сожалению ветка ActivityRecordsCount == 0 не работает, вылезает ошибка о том что колонка Id не определена.. Попытка заменить еще условным потоком по-умолчанию дает тот же результат. =(
Подозреваю, что проблема в агрегирующем фильтре

в итоге у меня получилось таким образом (вдруг кому-нибудь пригодится):

условные потоки соответственно:
ReadDataUserTask1.ResultCount == 0 и ReadDataUserTask1.ResultCount > 0

Показать все комментарии