[QUOTE] написал:
ищу аналог CIBlockElement::SetPropertyValuesEx на D7
нужен метод установки одного множественного свойства элемента инфоблока[/QUOTE]
Для того, чтобы начать использовать эту возможность вам необходимо зайти в настройки информационного блока и задать значения для поля «Символьный код API».
[SIZE=11pt]Для свойств типа строка: / множественный / привязка к элементу[/SIZE]
[B][SIZE=11pt]RATING_LIKE[/SIZE][/B][SIZE=11pt] - Свойство в инфоблоке[/SIZE]
[SIZE=11pt]аналогично пишем всегда $element->get[/SIZE][B][SIZE=11pt]RatingLike[/SIZE][/B][SIZE=11pt]() в "[/SIZE][I][SIZE=11pt]CamelCased[/SIZE][/I][SIZE=11pt]" - [U]код свойства[/U][/SIZE][CODE]\Bitrix\Main\Loader::includeModule('iblock');
$iblock = \Bitrix\Iblock\Iblock::wakeUp(IB_ARTICLE); // IB_ARTICLE - Ваш инфобло
$classArticleName = $iblock->getEntityDataClass();
$element = $classArticleName::getByPrimary( $ELEMENT_ID , array( // $ELEMENT_ID - id елемента
'select' => array('ID', 'NAME', 'RATING_LIKE')
))->fetchObject();
// Запись Тип Строка
$element->getRatingLike()->setValue('new value');
$element->getRatingLike()->setDescription('new descr');
// ========== Запись Множественный ============
use Bitrix\Iblock\ORM\PropertyValue;
foreach ($element->getRatingLike() as $value)
{
$value->setValue('new value');
$value->setDescription('new descr');
}
$element->addToRatingLike(new PropertyValue('new value'));
$element->addToRatingFile(new PropertyValue('new value', 'new descr'));
// ===========================================
// установка привязки к элементу
$element->getRatingLike()->setElement($anotherElement);
// Сохраняем
$element->save();
[/CODE]
[SIZE=12pt]ЕСЛИ ошибка типа «[B]Call to a member function on null[/B]» - Проверьте наличие свойства в Инфоблоке и его Имя.
[/SIZE][I](Возможно - не видит "новосозданное свойство", странно, конечно, но мне помогло элементарное пересохранение их админки элементов...)[/I][SIZE=12pt]
[/SIZE][SIZE=12pt]После Идем в Настройки - Поиск - Переиндексация. Переиндексируйте iblock.
[/SIZE]