class HandlerTest { static $b_HandlerRun = true; function OnAfterIBlockElementAddHandler(&$arFields) { AddMessage2Log(var_export( self::$b_HandlerRun , true), "my_module_id"); } } /****** В init.php *****/ AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("HandlerTest", "OnAfterIBlockElementAddHandler")); /************************************/ HandlerTest::$b_HandlerRun = false; $oElement = new CIBlockElement(); $oElement->Add(array("IBLOCK_ID" => 43, "NAME" => "Название элемента"));
В логе получим false, тем самым мы можем отключать или включать там где нужно события.