Очень долгий обмен с 1С

Home » Bitrix » Bitrix наработки » Очень долгий обмен с 1С
Bitrix наработки Комментариев нет
Очень долгий обмен с 1С.
При отладке выяснилось, что функция обновления товара отрабатывала по 5 сек на каждый товар.
Причина была в том, что у инфоблока 4тыс свойств, а в функцию update передавались все эти поля, хот 99,9% из них были пустыми.
Добавил в файл \bitrix\modules\iblock\classes\general\cml2.php LINE 3465

// 14.09.2016 usovdm // Удаляю пустые свойства, т.к. иначе заливка 3900 свойств занимает 5 сек на товар и импорт падает foreach($arElement['PROPERTY_VALUES'] as $k => $v){ $isRemoveProperty = true; foreach($v as $k2 => $v2){ if($k2 != '' || $v2['VALUE'] != '') { $isRemoveProperty = false; } } if ($isRemoveProperty) { unset($arElement['PROPERTY_VALUES'][$k]); } } перед $updateResult = $obElement->Update($arDBElement["ID"], $arElement, $bWF, true, $this->iblock_resize);

чтобы не менять ядро, нужно наследоват ьи переопределять класс