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

Для добавления списочного свойства необходимо при создании свойства через класс CIBlockProperty указать правильный тип и задать варианты значения. В остальном создается как обычное свойство.

<?
\Bitrix\Main\Loader::includeModule('iblock');

$enumValues = [
	[
		'XML_ID' => 'TEST_PR_1',
		'VALUE' => '1',
	],
	[
		'XML_ID' => 'TEST_PR_2',
		'VALUE' => '2',
	],
];

$fields = [
	'NAME' => 'TEST',
	'CODE' => 'TEST_PROP',
	'PROPERTY_TYPE' => 'L',
	'ACTIVE' => 'Y',
	'IBLOCK_ID' => 25,
	'VALUES' => $enumValues,
];

$obCIBlockProp = new \CIBlockProperty;
$id = $obCIBlockProp->Add($fields);
if (!$id)
{
	echo $obCIBlockProp->LAST_ERROR;
}