Битрикс, как изменить ELEMENT_XML_ID?

Не могу понять как поменять ELEMENT_XML_ID У меня товары были импортированы с другого сайта и в это поле забит их артикул. У меня есть Xml выгрзука из 1С, я прогоняю её и пытаюсь заполнить поле ELEMENT_XML_ID у товара. Ничего не получается. Подскажите как правильно делать? Bitrix не знаю совсем, документацией и гуглом пользоваться умею.

То, что успел наваять:
$xml = new SimpleXMLElement($importCatalogData,LIBXML_NOENT);
    foreach ($xml->Каталог->Товары->Товар as $xmlItem){
        $sku = trim((string)$xmlItem->Артикул);
        $name = trim((string)$xmlItem->Наименование);
        $importId = trim((string)$xmlItem->Ид);
        if($sku != ''){
            $db_res = CCatalogProduct::GetList(false,array("ELEMENT_XML_ID" => "{$sku}"));
            while ($ar_res = $db_res->Fetch()){
                //echo $ar_res['ELEMENT_IBLOCK_ID']." - ".$ar_res['ID']." - ".$importId." - ".$ar_res["ELEMENT_NAME"]."<br>";
                CIBlockElement::SetPropertyValuesEx($ar_res['ID'], false, array('ELEMENT_XML_ID'=>$importId));
            }
        }
    }


Вариант получить пару тройку сертификатов от битрикса - увлекателен, но не подходит по срокам. Так что можно не предлагать.
  • Вопрос задан
  • 2144 просмотра
Решения вопроса 1
@klokovdy
php developer
Посмотрите метод dev.1c-bitrix.ru/api_help/iblock/classes/ciblockel...
название поля будет XML_ID, а не ELEMENT_XML_ID dev.1c-bitrix.ru/api_help/iblock/fields.php#felement
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы