Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Params:
- $iblockA = 44;
- $iblockB = 51;
- $pregMatchStr = '#\((.*?)\)#';
- $testCountElem = 10;
- $test = true;
- //Script:
- CModule::IncludeModule('iblock');
- $dbIblockB = CIblockElement::GetList([], ['IBLOCK_ID' => $iblockB], false, false, ['NAME', 'ID', 'XML_ID']);
- $arNamesB = [];
- $cnt = 0;
- while($obB = $dbIblockB->GetNext()){
- $arXmlId = explode('#', $obB['XML_ID']);
- if(count($arXmlId) == 2)
- $arNamesB[$arXmlId[1]] = $obB['XML_ID'];
- if((int)$testCountElem > 0 && $cnt++ > $testCountElem)
- break;
- }
- $dbIblockA = CIblockElement::GetList([], ['IBLOCK_ID' => $iblockA, 'XML_ID' => array_flip($arNamesB)], false, false, ['NAME', 'ID', 'XML_ID']);
- if($test) {
- print_r(['Найдено' => $dbIblockA->SelectedRowsCount(), 'Выбрано' => count($arNamesB)]);
- print_r($arNamesB);
- die();
- }
- $el = new CIBlockElement;
- $cntUpd = 0;
- while($obA = $dbIblockA->GetNext()){
- $el->Update($obA['ID'], ['XML_ID' => $arNamesB[$obA['XML_ID']]]);
- $cntUpd++;
- }
- echo 'Обновлено: ' . $cntUpd;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement