Рейтинг: 0  
На голосовании
Предложил Пользователь 14203 18.03.2016 11:03:39

Убрать лишнюю информацию в сообщении об ошибке при удалении элемента вызванной $APPLICATION->throwException('...') в OnBeforeIBlockElementDelete

Сейчас ошибка выглядит вот так http://c2n.me/3vJ9D3F

Ошибка
Ошибка удаления элемента #401. [Ошибка при удалении в CPortalHandlers::OnBeforeIBlockElementDeleteHandler: Удаление лицензий заблокировано.] 

а хочется  просто


Ошибка
Удаление лицензий заблокировано.


AddEventHandler("iblock", "OnBeforeIBlockElementDelete", Array("CPortalHandlers", "OnBeforeIBlockElementDeleteHandler");

class CPortalHandlers
{
/**
     * Удаление элемента (до)
     *
     */
    function OnBeforeIBlockElementDeleteHandler($ID)
    {
        if($ID)
        {
            $arSelect = array("IBLOCK_ID", "ID", "NAME";
            $arFilter = array("ID"=>$ID);
            $res = CIBlockElement::GetList(false, $arFilter, false, array("nTopCount"=>1), $arSelect);
            if($arFields = $res->GetNext())
            {
                if(defined('PORTAL_LICENSE_IBLOCK_ID') && PORTAL_LICENSE_IBLOCK_ID && $arFields['IBLOCK_ID']==PORTAL_LICENSE_IBLOCK_ID)
                {
                    global $APPLICATION;
                    $APPLICATION->throwException("Удаление лицензий заблокировано.";
                    return false;
                }
            }
        }
    }
}
Рейтинг: 1.733  
Новая
Предложил Пользователь 129131 22.10.2013 08:39:07

...

...