Загрузка курсов валют с сайта https://bank.gov.ua для всех валют справочника Валюты (работает в 8.2 и 8.3 - обычные формы)

12.10.18

Учетные задачи - Банковские операции

Обработка выполняет загрузку курсов с сайта https://bank.gov.ua за указанный период для всех валют с корректными кодами в справочнике "Валюты". Работает в 8.2 и 8.3. Для работы в 8.2 используется COMОбъект "MSXML2.ServerXMLHTTP.6.0" или ".4.0". Может быть использована в качестве замены существующей обработки загрузки курсов валют с сайта finance.ua. Отсутствует интерфейс выбора валют. Заполняются автоматически курсы для валют, которые будут найдены в справочнике Валют по коду из данных с сайта. В рабочей конфигурации данная обработка используется для автоматической загрузки курсов валют путем её выполнения из командного файла задания Планировщика Windows.

Скачать исходный код

Наименование Файл Версия Размер
Загрузка курсов валют с сайта https://bank.gov.ua для всех валют справочника Валюты. Возможность установки необходимых параметров для автозапуска при старте системы.
.epf 14,50Kb
22
.epf 1.2. 14,50Kb 22 Скачать

Предистория

11.10.2018 стал очень знаменательным днём, т.к. именно в этот день перестала правильно работать основная обработка загрузки курсов валют с сайта finance.ua. Эта обработка входит во все типовые конфигурации 1С Украины. В своё время она была "революцией" онлайн получения данных из Интернета. Но пришло время для ревизии.

В результате проведенного анализа, оказалось, что НБУ на своем сайте уже давно имеет описание API, который можно использовать для получения курсов валют за любую дату (с какого-то момента 2016 года, если быть точным). Вся информация находится здесь: https://bank.gov.ua/control/uk/publish/article?art_id=38441973

Поэтому и возникла мысль об изменении обработки и переходе на получение данных из "первоисточника".

Описание предлагаемой обработки

Обработка была разработана для замены той, что входит в типовые конфигурации. Главный концепт - это минимизация интерфейса и сообщений для пользователя.

Практика показала, что пользователи используют обработку исключительно для того, чтобы автоматически заполнять курсы валют для всех элементов из справочника Валюты. Никаких дополнительных настроек никто не хочет делать. Поэтому, в новой обработке сейчас нет выбора валют и нет вывода никакой информации. Результаты пользователь и так увидит в регистре сведений. Все, что ему необходимо - это выбрать период (или не выбирать) и нажать кнопку "Загрузка".

Особенности

НБУ сейчас использует защищенный протокол. Для 8.3 все прекрасно работает штатными средствами. Для 8.2 - всё оказалось нет так уж и просто.
Определение версии программы производится обычным методом по данным из СистемнойИнформации.

	// определяем версию программы - если 8.2 - тогда другая методика
	СисИнфо = Новый СистемнаяИнформация;
	СтрРез = Неопределено;
	
	Если Лев(СисИнфо.ВерсияПриложения, 3) >= "8.3" Тогда
		СтрРез = ПолучитьОтветСКурсамиВалютНаДату1С(НаДату);
	КонецЕсли;
	
	Если СтрРез = Неопределено Тогда
		// пробуем старым методом
		СтрРез = ПолучитьОтветСКурсамиВалютНаДату(НаДату);
	КонецЕсли;

Для получения данных с сайта в 8.2 использован COMОбъект "MSXML2.ServerXMLHTTP.6.0" или "MSXML2.ServerXMLHTTP.4.0".

    //пытаемся определить версию MSXML
	Версия = "6";
	Попытка
		ХТТП = Новый COMОбъект("MSXML2.ServerXMLHTTP."+Версия+".0");
	Исключение   
		Попытка
			Версия = "4";
			ХТТП = Новый COMОбъект("MSXML2.ServerXMLHTTP."+Версия+".0");    
		Исключение   
			Сообщить(ОписаниеОшибки(),"!");
			Сообщить("Для работы загрузки данных курсов валюты необходима MSXML не ниже 4.0","!");
			Возврат "";
		КонецПопытки;
	КонецПопытки;
	
	ХТТП.open ("GET", Адрес, Ложь); 
	ХТТП.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	ХТТП.send();

Обработка прекрасно себя показала на версиях Бухгалтерии Украины 1.2 в качестве полной замены типовой обработки ЗагрузкаКурсовВалют. Поэтому, в её модуле оставлены методы, которые используются в типовой конфигурации. На других версиях - не тестировалась. Автоматическая загрузка курсов валют при старте тоже работает, только теперь её работы пользователь никак не видит. И ему нет необходимости постоянно закрывать надоедливое окно открывающегося сайта после загрузки курсов в 1С.
Все происходит благодаря следующему коду в модуле обычного приложения:

В модуле обработки оставлены следующие экспортные методы:


Процедура ЗагрузитьКурсыПоНастройкам() Экспорт
	ЗагрузитьКурсыНаДату();
КонецПроцедуры

Функция КодДоступаАктуален() Экспорт
	Возврат Истина;
КонецФункции

Также добавлена функция автоматической установки необходимых параметров для возможности автоматического старта обработки при старте системы:

При этом, кроме установки в Истина записи регистра "НастройкиПользователей" с настройкой "Загружать актуальные курсы валют при запуске системы" для текущего пользователя, обработка также запишет параметр "ЗагружатьЕжедневно" в константу "НастройкиЗагрузкиКурсовВалют".

    // теперь константа НастройкиЗагрузкиКурсовВалют
	Настройки = Новый Структура("ЗагружатьЕжедневно", Истина);
	ХранилищеНастроек = Новый ХранилищеЗначения(Настройки);
	Попытка
		Константы.НастройкиЗагрузкиКурсовВалют.Установить(ХранилищеНастроек);
	Исключение
		Сообщить("Не удалось записать значение ""ЗагружатьЕжедневно"" в константу ""НастройкиЗагрузкиКурсовВалют""", СтатусСообщения.Важное);
	КонецПопытки;

Проверить результат можно в настройках текущего пользователя:

Процедура загрузки обработки в конфигурацию

Данная обработка может быть подключена в справочник внешних обработок и отчетов. Но можно выполнить и замену типовой обработки в конфигураторе. Чтобы это сделать необходимо осуществить простые и известные любому администратору 1С действия:

Считаю, что также будет полезным выключить и поддержку у данной обработки:

Заключение

Очень надеюсь, что данная обработка станет Вам полезным инструментом.

А также, желаю всем замечательных творческих успехов! ("ЖТУ" - (с)Л.М.)

загрузка Украина валюты курсы

См. также

Автоматическая обработка банковских выписок и документов в 1С

Банковские операции Обмен с интернет-банком Эквайринг/ридер магнитных карт Программист Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Устали вручную дозаполнять и корректировать документы по банку после загрузки банковской выписки? С помощью правил обработки банковской выписки вы сможете автоматически определять правильный вид хозяйственной операции, заполнять расшифровку, аналитику платежа и многое другое.

15000 руб.

21.03.2023    8883    50    12    

48

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    16231    14    18    

14

Интеграция 1С и Битрикс 24 — модуль синхронизации для обмена задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    18400    10    15    

16

1С обмен данными с клиентом банка для БП 3.0, ERP 2.4, ERP 2.5 с дополнительными правилами загрузки

Обмен с интернет-банком Банковские операции Программист Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Модуль представляет собой комплексную автоматизацию обмена данными 1С с банком для БП 3.0, ERP 2.4, ERP 2.5. Выписка клиент-банка загружается и обрабатывается по Вашим правилам. Заполнение реквизитов документов, анализ назначения платежа. Работа с клиент банком не отличается от типового варианта, а документы автоматически заполняются так, как нужно вам. Дополнительная обработка, работающая совместно с основным расширением позволяет подключать собственные произвольные алгоритмы.

20400 руб.

03.04.2013    123315    247    377    

161

Обмен с клиентом банка для Беларуси

Банковские операции Обмен с интернет-банком Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Беларусь Россия Бухгалтерский учет Платные (руб)

Типовая обработка "Клиент-банк" из конфигурации 1С "Бухгалтерия для Беларуси, редакция 2.1" корректно работает с выписками только банка "Дабрабыт", до 28.01.2019 "Москва-Минск". А бухгалтеру нужно работать и с другими банками и с другими конфигурациями. Для этого было разработано расширение, которое позволит решить данную проблему!

10.10.2017    36788    71    Xershi    41    

58
Оставьте свое сообщение