Бизнес-процессы
Переменные и константы БП
Чтение и запись переменных экземпляра процесса, константы шаблона и множественные значения.
PHP-примеры относятся к коробочному Bitrix24. Код для действия «PHP-код» вставляется без открывающего тега PHP; ядро и контекст действия уже доступны.
Переменные экземпляра
Переменная существует в экземпляре процесса. Изменение одного запущенного БП не меняет значение в другом экземпляре. Для примера заранее создайте строковые переменные source_text и result_text.
$root_activity = $this->GetRootActivity();
$source_text = (string) $root_activity->GetVariable('source_text');
$root_activity->SetVariable('result_text', trim($source_text)); Множественные значения
Для множественного поля передаётся массив. Строка с запятыми не становится массивом автоматически. В переменной типа «Пользователь» используются значения, которые понимает поле БП; для указания конкретных сотрудников распространён формат user_ID.
$this->SetVariable('approvers', ['user_15', 'user_27']);Здесь approvers — заранее созданная множественная переменная типа «Пользователь», а 15 и 27 — пример ID сотрудников.
Константа шаблона
$root_activity = $this->GetRootActivity();
$endpoint_name = (string) $root_activity->GetConstant('endpoint_name');Константу настраивают в шаблоне. SetVariable не изменяет константу. Адреса сервисов можно хранить как конфигурацию, но секреты интеграции лучше получать из закрытой серверной конфигурации.
Глобальные переменные — отдельное хранилище
Глобальные переменные и константы не равны переменным текущего БП. Их API и права зависят от версии модуля bizproc. Нельзя считать запись успешной только потому, что upsert не выбросил исключение: нужно проверить возвращаемый результат своей версии.
Пример изменения глобального значения здесь намеренно не приводится как универсальный: сигнатуры следует сверить с установленным модулем. Для обмена результатом между действиями одного процесса достаточно обычной переменной.