Продолжаю выкладывать всякие полезные скрипты для работы с 1с-Битрикс. На этот раз это автоматическое обновление курсов валют. Откуда он у меня я уже не помню, по моему на форуме нашел. Там все довольно просто, по этому выкладываю как есть. Это полноценный агент, можете ложить в php_interface и добавить агента. GetCurrencyMy();
[source language=’php’]
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(«]{1,}>», «», $strQueryText);
$objXML = new CDataXML();
$objXML->LoadString($strQueryText);
$arData = $objXML->GetArray();
if(is_array($arData) && count($arData[«ValCurs»][«#»][«Valute»])>0)
{
$cdate = $arData[«ValCurs»][«@»][«Date»].»
«;
for ($j1 = 0; $j1
«RATE_CNT» => $arData[«ValCurs»][«#»][«Valute»][$j1][«#»][«Nominal»][0][«#»],
«CURRENCY» => $arData[«ValCurs»][«#»][«Valute»][$j1][«#»][«CharCode»][0][«#»],
«DATE_RATE» => $cdate
);
CCurrencyRates::Add($arFields);
}
}
}
}
return «GetCurrencyMy();»;
}
?>
[/source]
Большое спасибо за скрипт, очень выручил.
Рад что пригодился. Пользуйтесь…
Сделал всё как написано однако выдаёт ошибку
Parse error: syntax error, unexpected ‘;’ in /var/www/bitrix/php_interface/init.php on line 14
Подскажите, как исправить.
не хватает знака ; в конце строки
Я тоже так подумал, но после того как знак прописал ничего не изменилось. Очистил кеш сайта и кэш браузера, перезапустил apache и nginx, всё бесполезно, та же ошибка выскакивает. Что ещё можно сделать?
Должно было на мыло тебе еще уйти, вот если что это попробуй http://pastebin.com/Q4NJDmMD
На мыло ничего кроме последней ссылки не пришло.
Новый код (http://pastebin.com/Q4NJDmMD) ошибку не выдаёт, функция через агента запускается, но курсы валют на /bitrix/admin/currencies_rates.php не появляются.
Не работает, все та же ошибка «Parse error: syntax error, unexpected ‘;’ in /var/www/bitrix/php_interface/init.php on line 14»
CCurrencyRates::Add($arFields); таким способом постоянно добавляет новый курс валют
Код старый, по этому смотрите сами :)