Как в бизнес-процессе получить название подразделения сотрудника?
Сделал тестовый бизнес-процесс. Добавил блок "Информация о сотруднике". С помощью которого далее могу получить ID подразделения. Как можно получить название подразделения с помощью этого ID или может как-то ещё можно?
Могу соврать, но если это облако - то только костылем: делать ручные сопоставления айдишников с человекопонятными названиями отделов. Если коробка то через GetList
konsealex, Спасибо, сделал с помощью функций CIntranetUtils::GetUserDepartments(), CIntranetUtils::GetDepartmentsData(), и в целом разобрался как работает блок PHP код в БП
Спасибо. Помогли.
Методом проб и ошибок разобрался как именно это сделать:
В БП создаем переменную (множественную) типа строка. Множественную, потому что в итоге получим список подразделений, так как сотрудник может быть одновременно в нескольких подразделениях, иначе получим только первое из списка.
Вставляем блок Произвольный PHP код, куда вписываем:
# Получаем ID пользователя, например 499 (срезом убираем user_, так как {Сотрудник} возвращает user_499)
$userID = substr({{Сотрудник}}, 5);
# Подставляем в функцию для получения списка подразделений
$arUserDepartments = CIntranetUtils::GetUserDepartments($userID);
# Список подразделений подставляем в функцию для получения названий подразделений
$arDepartmentsName = CIntranetUtils::GetDepartmentsData($arUserDepartments);
# Полученное название подразделения присваиваем переменной бизнес-процесса (units).
$rootActivity->SetVariable("units", $arDepartmentsName);