Битрикс. отвалился обработчик

Всем привет. В битриксе в карточке товара заведено свойство, при активности которого у товара обнулялись остатки и он переходил в статус (нет в наличии). После какого-то обновления (достоверно неизвесно кокого) этот обработчик отвалился. в init.php нашел такой кусок кода. Помагите разобраться что случилось.

AddEventHandler("catalog", "OnBeforeProductAdd", "OnBeforeProductAddUpdateHandler");

AddEventHandler("catalog", "OnBeforeProductUpdate", "OnBeforeProductAddUpdateHandler");

function OnBeforeProductAddUpdateHandler(&$arFields) { $ID = $arFields['ID'];

//Обнуляем остатки и запрещаем продавать в минус при активном свойстве "Снят с продажи"
if (CModule::IncludeModule("iblock")) {

    $rsElement = CIBlockElement::GetByID($ID);
    if ($obElement = $rsElement->GetNextElement()) {

        $arElement = $obElement->GetFields();
        $arElement["PROPERTIES"] = $obElement->GetProperties();

        if (intval($arElement["IBLOCK_ID"]) === 30) {

            if (!empty($arElement["PROPERTIES"]["NOT_FOR_SALE"]["VALUE"])) {
                $arFields["QUANTITY"] = 0;
                $arFields["CAN_BUY_ZERO"] = "N";
            } else {
                $arFields["CAN_BUY_ZERO"] = "D";
            }
        }
    }
}

}


Ответы (0 шт):