Почему возникают неизвестно...
Записал сюда в блог для сохранения... Фасетный индекс нужно пересчитать по завершении. либо использовать PropertyIndex\Manager::updateElementIndex($iblockId, $elementId); после установки раздела
Записал сюда в блог для сохранения... Фасетный индекс нужно пересчитать по завершении. либо использовать PropertyIndex\Manager::updateElementIndex($iblockId, $elementId); после установки раздела
\Bitrix\Main\Loader::includeModule('iblock'); $iblockId = 2; $r = CIBlockElement::getList(array(),array('IBLOCK_ID'=>$iblockId),false,false,array('ID','IBLOCK_ID','IBLOCK_SECTION_ID')); while($dt = $r->fetch()){ $ELEMENT_ID = $dt['ID']; $db_old_groups = CIBlockElement::GetElementGroups($ELEMENT_ID, true); $ar_new_groups = array(); while($ar_group = $db_old_groups->Fetch()){ $ar_new_groups[] = $ar_group["ID"]; } if(!empty($ar_new_groups) && !in_array($dt['IBLOCK_SECTION_ID'],$ar_new_groups)){ CIBlockElement::SetElementSection($ELEMENT_ID, $ar_new_groups); CIBlockElement::RecalcSections($ELEMENT_ID,$ar_new_groups[0]); } } |