Здравствуйте,
Добавил в init.php следующий код:
в котором CIBlockElement::GetList с помощью фильтра берется список товаров и в $arSelect = array("ID", "IBLOCK_ID", "CATALOG_GROUP_2");
и делается \Bitrix\Catalog\Model\Price::delete($item["CATALOG_PRICE_ID_2"]); и цена не удаляется.
В $item["CATALOG_PRICE_ID_2"] - точно содержится ID ценового предложения.
Причем в следующей строке стоит \Bitrix\Catalog\Model\Price::update($item["CATALOG_PRICE_4"], $arFields); - цена обновляется.
Пробовал тот же самый код пробовал делать отдельным скриптом- все работает, цена удаляется.
В init.php событие срабатывает, т.к. делал до и после удаления цены запись в лог-файл.
Также пробовал удалять цену через CPrice::Delete - результата не дало.
Не подскажете, почему в init.php при запуске из события цена может не удаляться или как правильно ее удалять?
Добавил в init.php следующий код:
Код |
---|
AddEventHandler("catalog", "OnSuccessCatalogImport1C", "success1c"); function success1c($arParams, $arFields){ ... } |
и делается \Bitrix\Catalog\Model\Price::delete($item["CATALOG_PRICE_ID_2"]); и цена не удаляется.
В $item["CATALOG_PRICE_ID_2"] - точно содержится ID ценового предложения.
Причем в следующей строке стоит \Bitrix\Catalog\Model\Price::update($item["CATALOG_PRICE_4"], $arFields); - цена обновляется.
Пробовал тот же самый код пробовал делать отдельным скриптом- все работает, цена удаляется.
В init.php событие срабатывает, т.к. делал до и после удаления цены запись в лог-файл.
Также пробовал удалять цену через CPrice::Delete - результата не дало.
Не подскажете, почему в init.php при запуске из события цена может не удаляться или как правильно ее удалять?