Бывают ситуации, когда нужно обновить все элементы инфоблока. Для создания символьных кодов, например. Или для отрабатывания какого-либо события для ElementUpdate.
Следующий код делает простую штуку — пробегается по элементам и меняет имя элемента на его же имя 🙂
Нужно создать файл с любым именем, вставить в него код и запустить (конечно предварительно заменить ID инфоблока).
<?php ini_set("max_execution_time","99999"); require_once($_SERVER['DOCUMENT_ROOT']. "/bitrix/modules/main/include/prolog_before.php"); echo 'Start script...<br>'; if(CModule::IncludeModule('iblock')){ $el = new CIBlockElement; $Filter = array("IBLOCK_ID" => 6, "ACTIVE" => "Y"); $res = CIBlockElement::GetList(array("NAME"=>"ASC"), $Filter, false, false, array('ID', 'IBLOCK_ID', 'NAME')); while($ob = $res->GetNext()){ $res1 = $el->Update($ob["ID"], array('NAME' => $ob['NAME'])); echo 'Обновлен элемент ID '.$ob["ID"].'<br>'; } } ?>
То есть по сути элемент не изменяется, но все события для обновления вызываются и отрабатывают.