Загрузка курсов валют с сайта 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.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?] Купить один файл
Загрузка курсов валют с сайта https://bank.gov.ua для всех валют справочника Валюты. Возможность установки необходимых параметров для автозапуска при старте системы.
.epf 14,50Kb
22
22
1 SM
Скачать Купить за 1 850 руб.

Предистория

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

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

15000 руб.

21.03.2023    9614    53    14    

51

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

Подсистема интеграции Amo CRM с 1С: технические требования, порядок работы, возможности, доработки и обновления. Бесплатный период техподдержки - 1 месяц.

60000 руб.

07.05.2019    32008    62    41    

23

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    13451    39    8    

15

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

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

36000 руб.

03.08.2020    16861    15    19    

15

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

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    17094    46    49    

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