Как добавить списочное UF-свойство

Перейдем сразу к практическому примеру. Следующий код создает новое UF-свойство с помощью класса CUserTypeEntity.

<?php
$oUserTypeEntity = new \CUserTypeEntity();

$aUserFields = [
	'ENTITY_ID' => 'HLBLOCK_31', // объект, в котором создаем UF-свойство
	'FIELD_NAME' => 'UF_TEST',
	'USER_TYPE_ID' => 'enumeration',
	'XML_ID' => 'test_xml_id',
	'MULTIPLE' => 'N', // множественность
	'MANDATORY' => 'N', // обязательность
	'IS_SEARCHABLE' => 'N',
	'EDIT_FORM_LABEL' => [
		'ru' => 'Test',
	],
	'LIST_COLUMN_LABEL' => [
		'ru' => 'Test',
	],
	'LIST_FILTER_LABEL' => [
		'ru' => 'Test',
	],
];

$propUfId = $oUserTypeEntity->Add($aUserFields);
if (!$propUfId)
{
	echo $oUserTypeEntity->LAST_ERROR;
}

Вторая часть код добавляет списочные значения для UF-свойства с помощью класса CUserFieldEnum.

<?
if ($propUfId)
{
	$oUserFieldEnum = new \CUserFieldEnum();

	$pgEnumValues = [
		[
			'XML_ID' => 'test_value_1',
			'VALUE' => 'Значение 1',
		],
		[
			'XML_ID' => 'test_value_2',
			'VALUE' => 'Значение 1',
		],
	];

	$enumId = $oUserFieldEnum->SetEnumValues($propUfId, $pgEnumValues);
	if ($enumId)
	{
		echo $oUserFieldEnum->LAST_ERROR;
	}
}