Bitrix тип Справочник

При создании сво-ва с типом Справочник сам справочник к нему создавать следует во вкладке Дополнительно св-ва. так создается higload block с нужными полями.

use Bitrix\Main\Loader; 

Loader::includeModule("highloadblock"); 

use Bitrix\Highloadblock as HL; 
use Bitrix\Main\Entity;

$hlbl = 5; // Указываем ID нашего highloadblock блока к которому будет делать запросы.
$hlblock = HL\HighloadBlockTable::getById($hlbl)->fetch(); 
$entity = HL\HighloadBlockTable::compileEntity($hlblock); 
$entity_data_class = $entity->getDataClass(); 

Список записей справочника.

$rsData = $entity_data_class::getList(array(
   "select" => array("*"),
   "order" => array("ID" => "ASC"),
   "filter" => array('UF_MATERY_TYPE' => false)  // Задаем параметры фильтра выборки
));

while($arData = $rsData->Fetch()){
	print_r($arData);
}

Добавить запись в справочник

   $arElementFields = array(
      'UF_NAME' => strtolower('белый'),
      "UF_XML_ID" => hash('md5', 'белый')
   );
   $obResult = $entity_data_class::add($arElementFields);

Обновить св-во справочника

 $data = array('UF_MATERY_TYPE' => 3);
$result = $entity_data_class::update($arData['ID'], $data)

Установить значение св-ва тип Справочник

CIBlockElement::SetPropertyValuesEx($el_id, $iblock_id, ['COLOR_REF' => 'fdc13855f830f2f03d36fe3f645e7a3e'], ['DoNotValidateLists']);
// по UF_XML_ID