Загрузка курсов валют с сайта 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
21
.epf 1.2. 14,50Kb 21 Скачать

Предистория

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С действия:

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

Заключение

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

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

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

См. также

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

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

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

36000 руб.

03.08.2020    15952    13    18    

13

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

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

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

12000 руб.

21.03.2023    8522    43    12    

45

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

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

Выписка клиент-банка загружается и обрабатывается по Вашим правилам. Заполнение реквизитов документов, анализ назначения платежа. Работа с клиент банком не отличается от типового варианта, а документы автоматически заполняются так, как нужно вам. Дополнительная обработка, работающая совместно с основным расширением позволяет подключать собственные произвольные алгоритмы.

20400 руб.

03.04.2013    122727    245    377    

160

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

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

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

10.10.2017    36555    71    Xershi    41    

58

Обмен 1С с СУФД (УФК)

Банковские операции Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Выгрузка платежных поручений из коммерческих программ 1С в Казначейство (СУФД). Загрузка выписок из Казаначейства (СУФД) в 1С.

15000 руб.

07.11.2017    97255    302    82    

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