Аналитики, настраивающие бизнес-процессы в Битрикс 24, сталкиваются с существенным ограничением задания запрос дополнительной информации: выпадающий список значений может содержать либо предопределенные значения, либо ссылаться на инфоблок, без какой — либо возможности фильтрацеии значений. Что делать, например, если согласно техническому заданию в задании бизнес-процесса надо вывести подмножество значений списка договоров, относящихся лишь к той компании, которая указана в сделке?
Если отбросить трудоемкие сценарии в виде разработки своей активити, в коробочной версии можно применить следующий финт:
1.Пишем свой обработчик события:
onTaskAdd($taskId, $arFields)
2.Распаковываем параметры:
$params = unserialize($arFields['PARAMETERS']);
3. Проверяем к какому шаблону БП относится задание:
$wfid = $arFields['WORKFLOW_ID']; $workflowState = \CBPStateService::getWorkflowState($wfid); if($workflowState['TEMPLATE_ID']==?
4. Записываем значение выпадающего списка в переменную:
$params['REQUEST'][0]['Options']
5. Обновляем запись в таблице заданий БП:
$update = \CBPTaskService::Update($taskId, array(
'PARAMETERS' => $params
));
После этого, нужный список значений отобразиться в запросе дополнительной информации, который откроет пользователь!