Добрый день!
Сотрудник А запускает Бизнес процесс и должен полностью его выполнить. Определенную задачу должен выполнить сотрудник Б.
Как только сотрудник А назначает ответственным по текущей задаче сотрудника Б и следующая задача выскакивает у сотрудника Б, а хотелось бы чтобы возвращалась к сотруднику А так как это его бизнес процесс.
Как это можно сделать?
Нравится
Добрый день, Андрей.
Задача решается путем введения в диаграмму параметра. В случае если БП каждый раз может инициироваться разными ответственными, введите строковый параметр, в него вычитывайте ID пользователя, который его инициирует и используйте значение данного параметра далее в БП. В случае если ответственный всегда один - можно предустановить параметр как справочник, и указать для него значение по умолчанию.
в него вычитывайте ID пользователя, который его инициирует и используйте значение данного параметра далее в БП
Как можно получить этот ID пользователя?
Добрый день, Андрей.
Подобная задача описана в http://www.community.terrasoft.ua/blogs/7310.
У себя, в качестве теста, я создал процесс, с открытием двух задач в нем. Ввел параметр в диаграмму: WFOwnerID. Для элемента диаграммы Start, на его событие OnStart реализовал обработчик:
function StartOnStart(StartItem) { var ParentDiagram = GetDiagramByItem(StartItem); WFSetParamValue(ParentDiagram,'WFOwnerID',Connector.CurrentUser.ContactID, sdtGUID); }
В элементе "Открытие окна" задачи, передаю из параметра WFOwnerID значение в поле OwnerID карточки задачи.
Спасибо!
Это хорошо. С задачами получается.
Только у меня помимо задач используется компонент "Вопрос пользователю". Как быть с ним? У него нет параметров.
Добрый день, Андрей.
- В момент запуска процесса считайте из объекта Connector.CurrentUser.ContactID UID пользователя, который запустил процесс
- В момент открытия карточки первой задачи передайте установленный ранее (в п.1) параметр
- Элемент "вопрос пользователю" запускается по событию из предыдущего элемента - в нашем случае Задача 1
- На один из ответов поместите связь с вызовом задачи 2
- В момент открытия карточки второй задачи передайте установленный ранее (в п.1) параметр
Добрый день Павел!
Спасибо за подробное описание, но речь совсем не о том.
Если я по Вашему совету меняю ответственного. Результатом будет только то, что в следующей задаче поменяется ответственный, автором и инициатором следующей задачи будет ответственный текущей задачи и карточка следующей задачи выскочит у текущего пользователя, а мне нужно чтобы процесс вернулся к пользователю запустившему процесс. Т. е. скорее должен поменяться "Автор" (AutorID) и "Инициатор"
Добрый день!
А что мешает использовать вместо элемента "Открытие окна" непосредственно элемент "Задача" и там в поле "Роль владельца проставлять" значение - "Владелец процесса" (к примеру), аналогичное поле присутствует и в элементе "Окно" с типом "Вопрос пользователю" (там опять же поставить необходимую роль, например "Владелец процесса")
Андрей, здравствуйте.
Уточните, пожалуйста, проблема решена? Или есть какие-то вопросы связанные со сложностями в реализации Вашей задачи?
Здравствуйте Дмитрий!
Это не проблема, а скорее логически не верное поведение. К сожалению никто не понял сути вопроса.
Вопрос по прежнему актуален.
Кстати в своем процессе я использую не "Открытие окна", а "Задачу".
Андрей, здравствуйте.
Рассмотрим пример такого БП:
Здесь, по умолчанию "Автор" и "Ответственный" по всем задачам будет тот пользователь, на ПК котором начинал выполнятся любой из шагов БП.
Итак, к примеру, у нас на первом шаге, меняется ответственный на другого сотрудника. После нажатия на кнопку "ОК" в карточке задачи, задача будет создана, и ответственный сотрудник сможет её увидеть у себя в реестре записей в разделе "Задачи" и приступить к её выполнению. После того, как задача будет выполнена, следующий шаг будет выполнен на этом же ПК, т.е. нельзя передать выполнения следующего шага на компьютер сотрудника, стартовавшего процесс.
Единственным вариантом здесь является автоматическая установка ответственного по задаче того контакта, который стартовал процесс. Т.е. когда новый ответственный сотрудник на шаге 1 выполнит свою задачу, то вторая задача будет создана на его же ПК, но ответственный автоматом проставится как контакт пользователя стартовавшего БП. В свою очередь данный контакт сможет увидеть новую задачу либо в реестре, либо через механизм напоминаний.
Для того, чтобы реализовать такой функционал Вам понадобиться создать параметр,в котормо будет храниться ID контакта стартовавшего процесс:
Далее, в элементе Start на событии OnStart пропишем логику заполнения этого параметра:
И в конце, для каждой из задач, выставим чтобы ответственный подставлялся именно из этого параметра.
Если задачу нужно будет назначит другому человеку, это поле можно всегда изменить, но следующие задачи по процессу по умолчанию будут все ровно выставлены контакту стартовавшего процесс.