• Как в Бизнес-процессе записать, получить в блоке PHP-код значение глобальной переменной?

    @Nentra Автор вопроса
    В итоге вот это помогло

    Boris, [22.11.2021 0:56]
    [В ответ на Andrey DEV(Джейс) ↑]
    /*
     * Комментарии к изменению глобальных переменных через БП PHP блок
     * Если указывать из БП глобальную переменную с _ будет ошибка исполнения (просто флоу до конца не дойдет, без каких то ошибок в логи)
     * Если \Bitrix\Bizproc\Workflow\Type\GlobalVar::getById возвращает пустоту, значит глобальная переменная в недопуступом имени
     * Если в \Bitrix\Bizproc\Workflow\Type\GlobalVar::upsert отдать что-то недопустимое, будет ошибка без логов
     * Если создать произвольный массив типа $var['idGlobVar'] = ['Name'=>'Имя глобальной переменной','Description'=>'','Type'=>bool,'Required'=>'','Multiple'=>'','Options'=>'','Default'=>'Y'];
     *   а после скормить этот массив в \Bitrix\Bizproc\Workflow\Type\GlobalVar::upsert то создастся ещё одна глобальная переменная idGlobVar несмотря на то, что она уже будет (да, две переменные будут, с одинаковыми идентификаторами)
     * Изменение значения происходит через изменение Default параметра
    */
    
    $var = \Bitrix\Bizproc\Workflow\Type\GlobalVar::getById('orderVacancy');
    $var['Default'] = 'Y';
    if($var)
    {
      \Bitrix\Bizproc\Workflow\Type\GlobalVar::upsert('orderVacancy', $var);
    }
    Ответ написан
    1 комментарий