Появилась задача пробежаться по бизнес-процессам за некоторое количество лет и получить тех, кто был за них ответственным. Ответственный хранится в переменной бизнес-процесса с названием Approver. Гугл ничего не дал, поэтому пошёл методом проб и ошибок. Этим методом удалось выяснить следующую последовательность действий:
В первую очередь получаем полностью инициализированный объект бизнес-процесса:
\Bitrix\Main\Loader::includeModule('bizproc');
// объект среды исполнения
$runtime = CBPRuntime::GetRuntime();
// из этой среды получаем бизнес-процесс по id
// вторым параметром сообщаем, что получаем его в тихом режиме, чтобы случайно что-нибудь попутно не запустилось.
$wf = $runtime->GetWorkflow('5ebb8da25f98d5.63283030', true);
В объекте бизнес-процесса $wf хранится приватная переменная rootActivity, которая нам и нужна. Геттера в классе не предусмотрено, поэтому чтобы ее получить, используем замыкание:
Таким же образом можно вызывать и другие методы объекта корневой активности, обычно доступные только "изнутри" бизнес-процесса. Например GetConstant, GetDocumentId, GetWorkflowStatus и др. Можно вызывать и сеттеры, но за результат таких действия автор ответственности не несет!
Для установки данного решения необходимо указать адрес вашего сайта, на котором установлен 1С-Битрикс. Вам также потребуется авторизоваться на своем сайте под правами Администратора, чтобы продолжить установку.
Как установить дополнение
СОГЛАСИЕ НА ОБРАБОТКУ ФАЙЛОВ COOKIES
Продолжая использовать сайт, Вы даете ИП Шулаев Павел Александрович (ИНН 590417167613) согласие на обработку файлов cookies и пользовательских данных (дата и время посещения; IP-адрес, присвоенный Вашему устройству для выхода в Интернет; тип Вашего браузера и операционной системы; URL сайта, с которого был осуществлен переход; данные, собираемые посредством агрегаторов статистики посетителей веб-сайтов) в целях составление профиля, таргетирования товаров в соответствии с интересами посетителя сайта. Если Вы не хотите, чтобы Ваши вышеперечисленные данные обрабатывались, просим отключить обработку файлов cookies и сбор пользовательских данных в настройках Вашего браузера или покинуть сайт.