Работа со свойствами типа «Список» - techart/bitrix.tao GitHub Wiki

Самое главное, что надо уяснить - всегда указываем XML_ID для каждого элемента списка, хоть Битрикс этого и не требует. Автоматический ID - автоинкрементный, и на что он нужен - не понятно. Так что если у нас есть список, то в качестве идентификатора используем XML_ID, который и будет у нас значением свойства.

$item = \TAO::infoblock('items')->loadItem($id);

// получение значения
$value = $item['LISTPROP'];

// запись значения
$item['LISTPROP'] = $newvalue;

// сохранение записи
$item->save();

Работа со множественными значениями

Если поле - множественное, то значением является не XML_ID, а массив.

$item = \TAO::infoblock('items')->loadItem($id);

// Получение массива
$values = $item['MULTILIST'];

// добавление нового значения
$item['MULTILIST']->add($value);

// удаление значения
$item['MULTILIST']->delete($value);

// замена всех значений
$item['MULTILIST'] = $newvalues;

// сохранение записи
$item->save();