• Модуль: statistic
  • Путь к файлу: ~/bitrix/modules/statistic/classes/general/statistic.php
  • Класс: CAllStatistics
  • Вызов: CAllStatistics::RecountBaseCurrency
static function RecountBaseCurrency($new_base_currency)
{
	$err_mess = "File: ".__FILE__."
Line: "; $DB = CDatabase::GetModuleConnection('statistic'); $base_currency = GetStatisticBaseCurrency(); if ($base_currency!="xxx" && $base_currency <> '') { if (CModule::IncludeModule("currency")) { if (CCurrency::GetByID($base_currency)) { $rate = CCurrencyRates::GetConvertFactor($base_currency, $new_base_currency); if ($rate!=1 && $rate>0) { $arUpdate = array( array("TABLE" => "b_stat_adv", "FIELDS" => array("COST", "REVENUE")), array("TABLE" => "b_stat_event", "FIELDS" => array("MONEY")), array("TABLE" => "b_stat_event_day", "FIELDS" => array("MONEY")), array("TABLE" => "b_stat_event_list", "FIELDS" => array("MONEY")) ); set_time_limit(0); ignore_user_abort(true); $DB->StartTransaction(); foreach ($arUpdate as $arr) { $arFields = $arr["FIELDS"]; $strSql = "UPDATE ".$arr["TABLE"]." SET "; $i = 0; $str = ""; foreach ($arFields as $field) { if ($i>0) $str .= ", "; $str .= $field." = round(".$field."*".$rate.",2)"; $i++; } $DB->Query($strSql.$str, false, $err_mess.__LINE__); } $DB->Commit(); } } } } }