Автоматическое обновление валют 1С-Битрикс
Ноя 17
1С-Битрикс, PHP bitrix api, php 7 Comments
Продолжаю выкладывать всякие полезные скрипты для работы с 1с-Битрикс. На этот раз это автоматическое обновление курсов валют. Откуда он у меня я уже не помню, по моему на форуме нашел. Там все довольно просто, по этому выкладываю как есть. Это полноценный агент, можете ложить в php_interface и добавить агента. GetCurrencyMy();
<?
function GetCurrencyMy()
{
global $USER;
$USER = new CUser;
$strQueryText = QueryGetData("www.cbr.ru",80,"/scripts/XML_daily.asp","",$error_number,$error_text);
if(strlen($strQueryText)>0)
{
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/xml.php");
$strQueryText = eregi_replace("<!DOCTYPE[^>]{1,}>", "", $strQueryText);
$objXML = new CDataXML();
$objXML->LoadString($strQueryText);
$arData = $objXML->GetArray();
if(is_array($arData) &amp;amp;&amp;amp; count($arData["ValCurs"]["#"]["Valute"])>0)
{
$cdate = $arData["ValCurs"]["@"]["Date"]."<br>";
for ($j1 = 0; $j1<count($arData["ValCurs"]["#"]["Valute"]); $j1++)
{
if(CModule::IncludeModule("currency"))
{
$arCurrValue = str_replace(",", ".", $arData["ValCurs"]["#"]["Valute"][$j1]["#"]["Value"][0]["#"]);
$curr = DoubleVal($arCurrValue);
$arFields = array(
"RATE" => round($curr, 2),
"RATE_CNT" => $arData["ValCurs"]["#"]["Valute"][$j1]["#"]["Nominal"][0]["#"],
"CURRENCY" => $arData["ValCurs"]["#"]["Valute"][$j1]["#"]["CharCode"][0]["#"],
"DATE_RATE" => $cdate
);
CCurrencyRates::Add($arFields);
}
}
}
}
return "GetCurrencyMy();";
}
?>
RSS
Twitter
Google
Facebook
Skype