/** * <p>Удаляет запись с кодом ID из таблицы курсов валют. Если удаляется несуществующий курс (нет курса с таким ID) - будет ошибка. </p> <p>В случае успеха сбросится кеш <b>currency_rate</b> и тэгированный <b>currency_id_КОД_ВАЛЮТЫ</b>.</p> * * * * * @param int $ID Код записи для удаления. * * * * @return bool <p>Возвращает значение <i>True</i> в случае успешного добавления и * <i>False</i> - в противном случае. Текст ошибки выводится с помощью * <code>$APPLICATION->GetException</code>.</p> <br><br> * * @static * @link http://dev.1c-bitrix.ru/api_help/currency/developer/ccurrencyrates/ccurrencyrates__delete.28de3643.php * @author Bitrix */ public static function Delete($ID) { global $DB; global $stackCacheManager; global $APPLICATION; $ID = (int) $ID; if ($ID <= 0) { return false; } foreach (GetModuleEvents("currency", "OnBeforeCurrencyRateDelete", true) as $arEvent) { if (ExecuteModuleEventEx($arEvent, array($ID)) === false) { return false; } } $arFields = CCurrencyRates::GetByID($ID); if (!is_array($arFields)) { $arMsg = array('id' => 'ID', 'text' => GetMessage('BT_MOD_CURR_ERR_RATE_CANT_DELETE_ABSENT_ID')); $e = new CAdminException($arMsg); $APPLICATION->ThrowException($e); return false; } $stackCacheManager->Clear("currency_rate"); $strSql = "DELETE FROM b_catalog_currency_rate WHERE ID = " . $ID; $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); CCurrency::updateCurrencyBaseRate($arFields['CURRENCY']); CCurrency::clearTagCache($arFields['CURRENCY']); foreach (GetModuleEvents("currency", "OnCurrencyRateDelete", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array($ID)); } return true; }