101  /  175

PHP код

Просмотров: 10818 (Статистика ведётся с 06.02.2017)

Внимание! Данное действие доступно только для коробочной версии «Битрикс24».

Действие позволяет выполнить произвольный PHP код.

Внимание! Задавать PHP-код может только пользователь с правами администратора.

Примечание: Код нужно указывать без открывающих и закрывающих тегов (<?, ?>).

Важно! Не рекомендуется использовать в теле кода выражения типа {=...}. Они могут содержать параметры, которые может изменить любой пользователь портала, даже не имеющий необходимых прав.
Например, вместо конструкции {=Variable:COMPANY_NAME} лучше использовать $root->GetVariable('COMPANY_NAME').


Описание Параметров

Смысл большинства полей ясен из их названия, поэтому их описание будет пропущено.


Примеры использования:


Установка значения переменной

$this->SetVariable('Variable1', 12345);

где:

Variable1 - идентификатор переменной, которой будет присвоено значение (число 12345).

Запись нескольких пользователей в переменную типа "Пользователь"

$this->SetVariable("user", array("user_1", "user_2"));

где:

array("user_1", "user_2") - массив пользователей в формате user_[идентификатор_пользователя_в_системе].


Использование php-кода и значений полей/переменных для получения названия элемента инфоблока

$arFilter = Array("IBLOCK_ID" => {=Variable:Variable1_printable}, "ID" => {=Document:PROPERTY_1}); 
$dc = CIBlockElement::GetList(array(), $arFilter, array("NAME"));
$br = $dc->Fetch();
$Pbrr = $br["NAME"];
$this -> SetVariable('Variable2', $Pbrr);

где:

{=Variable:Variable1_printable} - значение переменной, в которой содержится идентификатор инфоблока;
{=Document:PROPERTY_1} - поле документа, содержащее идентификатор элемента инфоблока;
Variable2 - идентификатор переменной, которой будет присвоено вычисленное название элемента инфоблока.

Преобразование формата поля документа и дальнейшее его использование

Рассмотрим пример преобразования поля документа Пользователь в понятную форму для того, чтобы использовать его при отправке сообщения:

  1. В шаблоне бизнес процесса следует создать переменную для хранения преобразованного значения поля документа;
  2. Укажем в действии PHP-код приблизительно следующее:
    $rsUser = CUser::GetByID({=Document:PROPERTY_USER});
    $arUser = $rsUser->Fetch();
    $this->SetVariable('#Имя_переменной#', $arUser[NAME].' '.$arUser[SECOND_NAME].' '.$arUser[LAST_NAME]);
    
  3. После чего в блоке, используемом для уведомления, необходимо уже использовать вывод данной переменной вместо поля документа.

Документация по теме:


12
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии