Вопрос

Пользователь, запустивший процесс

Всем доброго времени суток. Версия 7.12.

Есть бизнес-процесс, запускающийся вручную. Необходимо в процессе отловить пользователя, запустившего процесс. Подходит ли для этого переменная "Контакт текущего пользователя"/"Текущий пользователь"?

Второй случай. Бизнес-процесс запускается по сигналу от объекта (изменение какой-либо колонки). Можно ли в процессе отловить пользователя, изменившего колонку в объекте, т.е. запустившего процесс?

В более общем смысле вопрос - что есть "Контакт текущего пользователя" в бизнес-процессах? Если у нас показывается "Контакту текущего пользователя" страница редактирования какого-либо объекта, и одновременно в системе сидит несколько пользователей - она будет показана всем?

Нравится

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

1) Да

2) Тут надо тестить, но я думаю нет (если, конечно, при запуске события не прокидывается UserConnection пользователя)

В общих чертах: есть UserConnection. Подключение пользователя, которое инициируется в момент вашего логина в СРМ. Соответственно "Контакт текущего пользователя" — контакт из UserConnection.

Система в состоянии определить кто и что запускает и меняет ручками и от его имени обрабатывать по логике.  

А все сервисы/бп по расписанию инициируются под userconnection от Supervisor-а.

2) Если в объекте в записи менялась колонка и по изменению запустился процесс, то сразу после запуска в поле ModifiedById этой записи и будет тот, кто поменял.

Варфоломеев Данила пишет:

А все сервисы/бп по расписанию инициируются под userconnection от Supervisor-а

а как определяется пользователь Supervisor, если он в системе не активный? 

Владимир Соколов пишет:

если он в системе не активный?

 AppConnection.SystemUserConnection всегда можно вытащить

Да и да. Пользователь, изменивший объект является инициатором триггерного процесса

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