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

Класс CUserFieldEnum

Внимание! Практически все классы для работы с пользовательскими полями объявлены устаревшими с версий 20.0.700 и 20.0.800. Рекомендуется использовать классы ядра D7.

Описание и поля

CUserFieldEnum - класс для работы с пользовательскими полями типа "список".

Может быть использован для получения отображаемых значений списка по коду. Значения данного класса кешируются управляемым кешем. Управление происходит через константу CACHED_b_user_field_enum. По умолчанию время кеширования 1 час. Для отключения кеширования достаточно определить константу CACHED_b_user_field_enum равной false.

Поля

Поле Тип Описание
ID int ID значения.
USER_FIELD_ID
int
Идентификатор пользовательского поля.
VALUE
varchar (255) Отображаемое значение.
DEF
char
Является значением по умолчанию (Y|N).
SORT
int
Сортировка. Используется при выводе элемента формы.
XML_ID varchar (255) ID значения для связи с внешними источниками (например, ID значения в какой-либо внешний базе). Должен быть уникален в пределах одного USER_FIELD_ID.

Список методов

Метод Описание С версии
GetList Возвращает список значений.
SetEnumValues Изменяет список значений.
DeleteFieldEnum Полная очиска списка заданного поля.


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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Вадим Романов
Сообщение не промодерировано, возможны ошибки и неточности.
/**
* получить значение выбранного пользовательского поля типа список по коду поля и сущности
* @param $entityId
* @param $fieldCode
*
* @return string
*/
public static function getEnumUserFieldValue($entityId, $fieldCode){

$arFieldRes = \CUserTypeEntity::GetList(['ID' => 'ASC'], ['ENTITY_ID' => $entityId, 'FIELD_NAME' => $fieldCode, 'USER_TYPE_ID' => 'enumeration']);
if ($arField = $arFieldRes->Fetch()) {
 $enum = new \CUserFieldEnum();
 $enumRes = $enum->GetList(array(), array('USER_FIELD_ID' => $arField['ID']));
 while ($enumEl = $enumRes->Fetch()) {
  return $enumEl['VALUE'];
 }
}
}
1
Роберт Басыров
Задача: Необходимо при добавлении новых пользователей заполнить пользовательское свойство UF_USER_DOGOVOR.

Решение:
Код
$fields = Array( 
"UF_USER_DOGOVOR" => array("договор1","договор3","договор3"), 
); 
$user->Update($USER->GetID(), $fields); 
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх