Документация для разработчиков
Темная тема

SetEnumValues

Описание и параметры

CUserFieldEnum::SetEnumValues(
 int FIELD_ID,
array values
)

Изменение значений списка пользовательского поля. Нестатический метод.

Параметры

ПараметрОписание
FIELD_IDИдентификатор пользовательского поля.
values
Массив устанавливаемых значений. Ключами массива служат идентификаторы значений списка, а значения ключей определяют новое содержимое списка.

Если ключ начинается с символа "n", то это будет новое значение списка.

Значение ключа в с вою очередь представляет собой массив. Ключи данного массива:
  • VALUE - значение для отображения, если задана пустая строка, то значение будет удалено из списка;
  • DEF - флаг умолчания (Y|N);
  • SORT - сортировка;
  • XML_ID - код внешнего источника, если не задан, то будет вычислен как md5 от VALUE.
  • DEL - если равен Y, то данное значение будет удалено из списка.
Значения ключей задают точное соответствие для фильтрации.

Смотрите также

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

<?
//Пусть для пользователей определено пользовательское свойство
// типа список с кодом UF_GENDER.

//0. определим идентификатор поля.
$arFields = $GLOBALS['USER_FIELD_MANAGER']->GetUserFields("USER");
if(array_key_exists("UF_GENDER", $arFields))
{
$FIELD_ID = $arFields["UF_GENDER"]["ID"];

//1. Добавим значение выпадающего списка: "не знаю"

$obEnum = new CUserFieldEnum;
$obEnum->SetEnumValues($FIELD_ID, array(
"n0" => array(
"VALUE" => "не знаю",
),
));

//2. Изменим "не знаю" на "не помню"
$rsEnum = CUserFieldEnum::GetList(array(), array(
"VALUE" => "не знаю",
));
if($arEnum = $rsEnum->Fetch())
{
$obEnum = new CUserFieldEnum;
$obEnum->SetEnumValues($FIELD_ID, array(
$arEnum["ID"] => array(
"VALUE" => "не помню",
),
));
}

//3. удалим значение "не помню" из списка
$rsEnum = CUserFieldEnum::GetList(array(), array(
"VALUE" => "не помню",
));
if($arEnum = $rsEnum->Fetch())
{
$obEnum = new CUserFieldEnum;
$obEnum->SetEnumValues($FIELD_ID, array(
$arEnum["ID"] => array(
"DEL" => "Y",
),
));
}

}
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2021, «1С-Битрикс», 2021
Наверх