Для присвоения значения переменной типа список из справочника 1С в Битрикс24 необходимо выполнить несколько шагов.
1. Подключить модуль 1С:Предприятие в Битрикс24. Для этого вставьте следующий код в начало скрипта:
if(!CModule::IncludeModule("1c")) { die('Модуль 1С:Предприятие не установлен'); }
2. Получить список значений из справочника 1С. Для этого используется метод C1CIBlockElement::GetList()
. Пример кода:
$iblockId = 1; // ID инфоблока, в котором находится справочник 1С $arFilter = array( "IBLOCK_ID" => $iblockId, "ACTIVE" => "Y", ); $arSelect = array( "ID", "NAME", ); $rsElements = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelect);
3. Преобразовать полученные значения в формат, подходящий для использования в переменной типа список. В данном случае, будем использовать массив, где ключами будут значения полей "ID" элементов справочника 1С, а значениями - значения полей "NAME". Пример кода:
$arResult = array(); while($arElement = $rsElements->Fetch()) { $arResult[$arElement["ID"]] = $arElement["NAME"]; }
4. Присвоить полученный массив значений переменной типа список. Для этого используется метод CUserTypeEntity::SetEnumValues()
. Пример кода:
$fieldName = "UF_MY_FIELD"; // код пользовательского поля, которому нужно присвоить список значений $userTypeId = CUserTypeEntity::GetList(array(), array( "ENTITY_ID" => "USER", "FIELD_NAME" => $fieldName, ))->GetNext()["ID"]; CUserTypeEntity::SetEnumValues($userTypeId, $arResult);
Теперь переменная типа список будет содержать значения из справочника 1С. Обратите внимание, что в примерах использованы некоторые значения по умолчанию, их можно изменить в соответствии с вашими требованиями. Также учтите, что код представлен на языке PHP для использования в Битрикс24.