...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_catalog.php
- Класс: \CAllCrmCatalog
- Вызов: CAllCrmCatalog::Delete
static function Delete($ID) { if (!Loader::includeModule('catalog')) { return false; } self::$LAST_ERROR = ''; global $DB; $tableName = CCrmCatalog::TABLE_NAME; $ID = intval($ID); if(!is_array(self::GetByID($ID))) { // Is no exists return true; } $events = GetModuleEvents('crm', 'OnBeforeCrmCatalogDelete'); while ($arEvent = $events->Fetch()) { if (ExecuteModuleEventEx($arEvent, array($ID)) === false) { return false; } } $dbRes = CCrmProduct::GetList(array(), array('CATALOG_ID' => $ID), array('ID')); while ($arRes = $dbRes->Fetch()) { $productID = $arRes['ID']; if (!CCrmProduct::Delete($productID)) { self::RegisterError(sprintf('Deletion of CrmCatalog(ID=%d) is canceled. Could not delete CrmProduct(ID = %d).', $ID, $productID)); return false; } } if(!$DB->Query('DELETE FROM '.$tableName.' WHERE ID = '.$ID, true)) { return false; } // -------------- remove from catalog module --------------> $CCatalog = new CCatalog(); if (!$CCatalog->Delete($ID)) { return false; } // <-------------- remove from catalog module -------------- CCrmEntityHelper::RemoveCached(self::CACHE_NAME, $ID); $events = GetModuleEvents('crm', 'OnCrmCatalogDelete'); while ($arEvent = $events->Fetch()) { ExecuteModuleEventEx($arEvent, array($ID)); } return true; }