@lin24

Как работать с валютой в битриксе?

Добрый день, на сайте до меня реализовали вывод валют. Сейчас стоит задача вывести еще и рубли, но проблема следующая(пример):
Есть список валют, с одна из них базовая:
ОАЭ Дирхамы (базовая) курс: 1
Евро курс: 3.9430
Доллар США курc: 3.6730
63ecd5537e022497326385.jpeg
и так далее, в чем один из вопросов, вот эти курсы 3.9430,3.6730 ..., меняются из за дня в день, соответственно они откуда-то подтягиваются и как-то считаются, где и как? насколько я понимаю для того что бы это происходило раздел "Курсы валют" должжен быть заполнен, а он пустой
63ecd4f0a45ec517483714.jpeg
в добавок при создании курса нету кнопки запросить курс.
63ecd51addf55056216089.jpeg
  • Вопрос задан
  • 361 просмотр
Пригласить эксперта
Ответы на вопрос 1
@KukuRuku
в добавок при создании курса нету кнопки запросить курс.

Скорее всего кнопки нет, т.к. базовая валюта не из списка RUB, BYR, BYN, UAH.

$showGetRate = ($baseCurrency != '' && in_array($baseCurrency, array('RUB', 'BYR', 'BYN', 'UAH')));


откуда-то подтягиваются и как-то считаются, где и как?

Крон, агенты, код в init.php?

Вообще должно обновляться поле CURRENT_BASE_RATE (а не AMOUNT) в таблице b_catalog_currency через агент
\Bitrix\Currency\CurrencyManager::currencyBaseRateAgent(). Вот его базовые настройки:
if (!($currencyAgent = $agentIterator->Fetch())) {
        Currency\CurrencyManager::updateBaseRates();
        $checkDate = Main\Type\DateTime::createFromTimestamp(strtotime('tomorrow 00:01:00'));
        CAgent::AddAgent('\Bitrix\Currency\CurrencyManager::currencyBaseRateAgent();', 'currency', 'Y', 86400, '', 'Y', $checkDate->toString(), 100, false, true);
}

А агент работает с курсами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы