Страница 1 из 1

Небольшая проблемка #2

Добавлено: 18 апр 2014, 10:02
rax
Добрый день.

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

В качестве исполнителей используется массив пользователей. Что исполнители, что пользователь используются как локальные переменные. Пример описанной части шаблона приведен на рисунке.

Не знаю насколько понятна объяснил, но надеюсь хотя бы на какую-то помощь :)

Re: Небольшая проблемка #2

Добавлено: 18 апр 2014, 15:07
Старик Крупский
Нужно на задаче <Согласование передавамого задания> выполнить действие, обнуляющее массив исполнителей и записать в этот массив текущего юзера.
Или что-то аналогичное сделать.

Re: Небольшая проблемка #2

Добавлено: 21 апр 2014, 10:05
rax
Мне кажется, с этим тоже могут быть проблемы, т.к. задание разделяется по исполнителям и если каждый из них будет обнулять и записывать текущего юзера, то получим по сути тоже самое, разве нет?)

Re: Небольшая проблемка #2

Добавлено: 21 апр 2014, 10:56
Старик Крупский
Задание уже разветвилось. Все уже все получили. Теперь надо, чтобы переписка шла "теа-а-тет". Вот и надо сделать так, чтобы тот, кто отвечает отправлял сообщение не массиву юзеров, а одному.
Есть и другой вариант. После разветвления делаем исполнителем локальную переменную. На ветке делаем действие, которое накручивает глобальный цифровой счетчик. В локальную переменную-пользователя записываем элемент массива исполнителей с индексом, равным глобальному счетчику.

Re: Небольшая проблемка #2

Добавлено: 20 май 2014, 06:12
Anderyt
еще можно сделать между разделителем и объединителем вместо нескольких задач вложенную работу. при запуске вложенной работы один раз определить нужных исполнителей, вытащив из массива пользователей нужного, и передать это значение во вложенную работу. тогда для каждого исполнителя из массива будет своя работа, и он сможет общаться тет-а-тет с инициатором, не завися от остальных элементов того же массива.
там конечно свои нюансы будут, но сколько раз мы ни пытались настроить корректную работу в похожих сценариях с простыми задачами - всегда заканчивалось созданием вложенной работы.