Бывает возникает необходимость разместить один товар в нескольких разделах (категориях), 1С-Битрикс позволяет это сделать благодаря свойству элемента инфоблока Привязка к категориям, но тут встает вопрос синхронизации информации о товарах с 1С. При импорте товаров из 1С в Битрикс информация о привязке к разделам затирается. Чтобы этого не происходило необходимо разместить следующий код в файле init.php:
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate","SaveMySection"); function SaveMySection(&$arFields) { if (@$_REQUEST['mode']=='import')//импорт из 1с? { $db_old_groups = CIBlockElement::GetElementGroups($arFields['ID'], true); while($ar_group = $db_old_groups->Fetch()) { if(!in_array($ar_group['ID'],$arFields['IBLOCK_SECTION'])) $arFields['IBLOCK_SECTION'][]=$ar_group['ID']; } } }
Спасибо Николаю Семенцову. Источник http://www.sns-it.ru/blog/1c/1c-integratsiya-bitrix-odin-tovar-v-neskolkikh-kategoriyakh/