Цикл в БП

Добрый день!

Столкнулся с такой штукой. В БП сделал цикл, в котором каждый раз создается активность, а за ней следует сигнал, ожидающий её, активности, завершения. За сигналом следует вопрос пользователю.
Проблема в том, что при втором проходе и, соответственно, после создания второй активности, сигнал не отрабатывает, и пользователю сразу выдается вопрос.
Вот диаграма:

Судя по всему, ID активности для сигнала не обновляется, поэтому он и не отрабатывает.
Подскажите пожалуйста, как решить данную проблему.
Заранее спасибо.

Нравится

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

Как-то подозрительно это выглядит. Я бы там настроил добавление Задачи и открытие ее (открыть карту редактирования, объект "Задача", ИД - ваш из создания задачи) с ожиданием изменения статуса. И тогда не надо париться с сигналами.

p.s. русской версии нету, сорри.

А уж если Вы хотите так, то попробуйте между задачей и сигналом влепить чтение созданной задачи. и в сигнал передавать как-раз прочитанный ид (не уверен, что поможет, но чудеса бывают)

UPD: сделал я такое как у вас, все ок :) только у меня не генерирующий сигнал, а обрабатывающий. Оно во вложении (7.7, чешская локаль)

Я бы вообще поостерёгся от циклов в БП. Не знаю точно, как сейчас, но раньше переход между элементами БП был реализован как рекурсия, что при многократном повторении может вызвать переполнение стека. Конечно, 1-2 вызова ничего не сломают, но стоит это учитывать.

тут по другому не сделать

"Дмитрий Степанов" написал:Я бы там настроил добавление Задачи и открытие ее (открыть карту редактирования, объект "Задача", ИД - ваш из создания задачи) с ожиданием изменения статуса.

Такой вариант не очень подходит, так как в этом случае карточка будет всплывать автоматом, а мне нужно только появление уведомления о новой задаче.

"Дмитрий Степанов" написал:

UPD: сделал я такое как у вас, все ок :) только у меня не генерирующий сигнал, а обрабатывающий. Оно во вложении (7.7, чешская локаль)

Действительно, пересоздал процесс заново и все заработало:)
В любом случае спасибо за помощь!

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

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

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