| Цитата |
|---|
написал: Что-то не получается и сообщение об ошибке увидеть, и деактивировать. Работает или сообщение об ошибке, или деактивация. Помогите разобраться, у кого работает, пожалуйста. |
Здравствуйте! Я понимаю, что уже поздно, но вдруг кто-то также проходит курсы и ищет ответ
| Код |
|---|
...
function OnBeforeIBlockElementDeleteHandler($ID) {
CModule::IncludeModule("iblock");
$res = CIBlockElement::GetByID($ID);
if($ar_res = $res->GetNext())
{
if(IntVal($ar_res["SHOW_COUNTER"]) > 0)
{
global $APPLICATION;
global $DB;
$APPLICATION->throwException("Количество просмотров товара ".$ar_res["NAME"]." = ".$ar_res["SHOW_COUNTER"]);
// Отменяем транзакцию (удаление) сами.
$DB->RollBack();
//Деактивируем наш элемент
$el = new CIBlockElement;
$res = $el->Update($ID, Array("ACTIVE"=>"N", "MODIFIED_BY"=>$USER->GetID()));
//Начинает транзакцию, так как после false будет делаться "$DB->RollBack()"
$DB->StartTransaction();
return false;
}
}
}
...
|