← К заметкам

Заметки

Как прочитать переменную БП в PHP-активити

В PHP-действии коробочного БП переменную читают по её коду, а не по подписи в редакторе. Например, для переменной DealId:

$root_activity = $this->GetRootActivity();
$deal_id = (int) $root_activity->GetVariable('DealId');

if ($deal_id <= 0) {
    throw new RuntimeException('Переменная DealId не заполнена.');
}

GetVariable читает переменную экземпляра процесса. Код CRM-поля вроде UF_CRM_... не превращает этот вызов в чтение карточки. Поля документа получают через сервис документа или API соответствующей сущности.

Для множественной переменной сначала посмотрите фактический тип значения. Массив пользователей в формате user_25 и строка с ID через запятую требуют разной обработки. Подготовка данных для итератора разобрана отдельно.

Код выполняется внутри действия «PHP-код», где доступен $this; открывающий тег PHP там не нужен.