Доработал обработку от Finance.ua для получения курсов валют с сайта bank.gov.ua при помощи API. Есть возможность загрузить курсы валют за период.
С помощью кнопки "Подбор" можно подобрать те валюты из справочника "Валюты", по которым необходимо загружать курсы.
С помощью кнопки "Заполнить" можно заполнить список валют всеми валютами, которые зарегистрированы в справочнике "Валюты".
Загрузка курсов производится при нажатии на кнопку "Загрузить". После успешной загрузки информация о курсах валют автоматически записывается в регистр сведения для каждой валюты.
Кнопка "Очистить" очищает список валют и их курсов.
Проверено на конфигурации "Управление производственным предприятием для Украины", редакция 1.3.
Технически должна работать на любой конфигурации где есть справочник "Валюты" и регистр сведений "Курсы валют"
Принцип получения данных.
К примеру, необходимо получить курс EUR на 02.05.2019. Будем получать его с сайта bank.gov.ua при помощи API в формате JSON.
Упрощенный код:
//имя временного файла, после загрузки курсов файл желательно удалить.
ИмяВходящегоФайла= КаталогВременныхФайлов()+"kurs.json";
//создаем безопасное соединение
HTTPСоединение = Новый HTTPСоединение("bank.gov.ua", , , , , , Новый ЗащищенноеСоединениеOpenSSL);
//подготавливаем строку с параметрами
СтрокаПараметров ="/NBUStatService/v1/statdirectory/exchange?valcode=EUR&date=20190502&json";
//получаем данные с сервера НБУ в формате JSON
HTTPСоединение.Получить(СтрокаПараметров, ИмяВходящегоФайла);
//здесь необходимы проверки ответа сервера
//здесь проверки существования файла ответа (и его актуальность)
//Читаем JSON
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.ОткрытьФайл(ИмяВходящегоФайла);
МассивОтветов = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
//На выходе получили массив "МассивОтветов" со структурой
//Обходим массив и заполняем регистр курсов валют