Всем доброго времени суток. Версия 7.12.
Есть бизнес-процесс, запускающийся вручную. Необходимо в процессе отловить пользователя, запустившего процесс. Подходит ли для этого переменная "Контакт текущего пользователя"/"Текущий пользователь"?
Второй случай. Бизнес-процесс запускается по сигналу от объекта (изменение какой-либо колонки). Можно ли в процессе отловить пользователя, изменившего колонку в объекте, т.е. запустившего процесс?
В более общем смысле вопрос - что есть "Контакт текущего пользователя" в бизнес-процессах? Если у нас показывается "Контакту текущего пользователя" страница редактирования какого-либо объекта, и одновременно в системе сидит несколько пользователей - она будет показана всем?
Нравится
1) Да
2) Тут надо тестить, но я думаю нет (если, конечно, при запуске события не прокидывается UserConnection пользователя)
В общих чертах: есть UserConnection. Подключение пользователя, которое инициируется в момент вашего логина в СРМ. Соответственно "Контакт текущего пользователя" — контакт из UserConnection.
Система в состоянии определить кто и что запускает и меняет ручками и от его имени обрабатывать по логике.
А все сервисы/бп по расписанию инициируются под userconnection от Supervisor-а.
2) Если в объекте в записи менялась колонка и по изменению запустился процесс, то сразу после запуска в поле ModifiedById этой записи и будет тот, кто поменял.
Варфоломеев Данила пишет:
А все сервисы/бп по расписанию инициируются под userconnection от Supervisor-а
а как определяется пользователь Supervisor, если он в системе не активный?
Владимир Соколов пишет:
если он в системе не активный?
AppConnection.SystemUserConnection всегда можно вытащить
Да и да. Пользователь, изменивший объект является инициатором триггерного процесса