Загрузка курсов валют с сайта НБРБ по защищенному протоколу HTTPS для 1С 7.7

28.09.20

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

В связи с переходом Национального банка РБ с сентября 2020 на защищенный протокол HTTPS внесены изменения в обработку загрузки курсов валют с сайта Национального банка РБ для 1С 7.7.

Скачать файл

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

Наименование SM По подписке Купить один файл
Загрузка курсов валют с сайта НБРБ (по защищенному) протоколу HTTPS:
.ert 251,00Kb
12
12
2 SM
Скачать Купить за 2 150 руб.

Обработка позволяет загружать курсы валют с сайта Национального банка РБ по защищенному протоколу в формате json для 1с 7.7.

Обработка не привязана к конкретной конфигурации, можно использовать путем включения в состав конфигурации. Тестирование производилось на релизе платформы 7.7 (7.70.027). Первый запуск 1С предприятие необходимо производить с правами Администратора.

Импорт курсов валют

См. также

Разработка внешних компонент WEB-интеграция Программист Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Компонента HttpSrv7 позволяет создавать веб-сервисы в среде 1С 7.7 и даже, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя компоненту HTTP_Async или синхронный клиент HTTP для 1С 7.7 (публикация № 1152364) можно наладить обмен данными между удаленными информационными базами. С помощью компоненты HTTP_Async можно сначала послать несколько запросов к сайтам, веб-сервисам (в т.ч. к HttpSrv7), а затем обрабатывать данные по мере их поступления. Компонента GISMT в дополнение к HTTP_Async имеет функцию цифровой подписи и, таким образом, имеет все возможности для работы с API ГИС МТ "Честный знак" непосредственно из среды 1С 7.7.

2000 руб.

27.05.2022    8145    19    17    

31

Банковские операции Загрузка и выгрузка в Excel Бухгалтер Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Россия Бухгалтерский учет Платные (руб)

Решение предоставляет комплексную загрузку банковской выписки из CSV, XLS, TXT файла в 1С 7.7 любой конфигурации. Позволяет создавать документы выбранного вида, например "Строка выписки банка (приход/расход)", или многострочный табличный документ, например Выписка, для каждой операции из загружаемого файла банковской выписки. Загружает реквизиты документа, а также создаёт контрагентов и другие необходимые элементы справочников.

3588 руб.

29.07.2021    21204    13    22    

14

Банковские операции Программист Бухгалтер Платформа 1С v7.7 1С:Бухгалтерия 7.7 1С:Производство+Услуги+Бухгалтерия Россия Бухгалтерский учет Абонемент ($m)

Загрузка банков Федерального казначейства для конфигураций 1С 7.7 ПУБ и Бухгалтерия из нового формата классификатора БИК. Обработка разбирает файл JSON и записывает новые банки в справочник банков конфигурации 1С 7.7.

1 стартмани

02.02.2021    13022    46    zaic    9    

8

WEB-интеграция Программист Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Универсальная обработка для 1С 7.7 по обмену с сервисом адресной информации и информацией о контрагентах DaData.ru по API. Используется внешняя компонента "v7plus.dll". Различные виды запросов позволяют получить ответ в формате JSON и/или XML.

3 стартмани

20.04.2020    11734    27    Drena    0    

6

Банковские операции Эквайринг/ридер магнитных карт Бухгалтер Пользователь Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Россия Абонемент ($m)

Внешняя обработка для выбора документа и формирования ссылки на оплату, которую можно скопировать в буфер обмена и отправить любыми средствами. Решение позволяет повысить автоматизацию процесса выставления счетов на оплату через интерфейс 1С8.х, 1С7.7. Совместимо с интернет-эквайрингом Сбербанк.

1 стартмани

14.01.2020    43311    196    etmarket    90    

26

Разработка внешних компонент WEB-интеграция Программист Платформа 1С v7.7 Абонемент ($m)

Компонента позволяет использовать различные веб-сервисы интернет-ресурсов, например работать с онлайн-кассой через API, предоставленное ее разработчиком. Тестировалась на платформе 1С релиза 7.70.027.

1 стартмани

14.11.2019    18633    93    mdbruyfn    97    

15
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. AnryMc 849 28.09.20 14:06 Сейчас в теме
Теперь и "курсы валют" защищают?
igor_1c; serg-lom89; +2 Ответить
2. dimitryas 20 28.09.20 17:57 Сейчас в теме
(1) Да Национальный банк планирует полностью переходить на протокол https (http://www.nbrb.by/news/10100)
10. user720490 07.12.20 11:56 Сейчас в теме
(2)Не много ли 2 стартмани за это?

ЭТО ВЗЯТО из соседней ветки:

Всем у кого перестала работать старая обработка, использующая Addin.V7HttpReader
компоyенты v7plus.dll, предлагаю элеГантное решение с использованием
WinHttp.WinHttpRequest.5.1.

Было:
Соединение = СоздатьОбъект("Addin.V7HttpReader"); //с https не работает
Соединение.Получить("https://www.nbrb.by/Services/XmlExRates.aspx?ondate="+СтрД, Текст, 2);

Рабочий вариант:
Соединение = СоздатьОбъект("WinHttp.WinHttpRequest.5.1");
Соединение.Open("get","https://www.nbrb.by/services/xmlexrates.aspx?ondate="+СтрД, 0); //Открывает HTTP-соединение с HTTP-ресурсом
Соединение.Send();//Отправляет HTTP-запрос на HTTP-сервер
Текст=Соединение.ResponseText();//Получает тело объекта ответа в виде текста
Показать

Вполне рабочее решение, если лень разбираться в протоколах, XML и протчем....
12. igor_1c 17 08.12.20 09:23 Сейчас в теме
(10)
СоздатьОбъект("WinHttp.WinHttpRequest.5.1")


у меня WinHttp.WinHttpRequest: Ошибка поддержки безопасных каналов
13. user720490 08.12.20 10:47 Сейчас в теме
(12)
WinHttp.WinHttpRequest: Ошибка поддержки безопасных каналов

Представленный выше код для 1Cv7.7, если Вы это используете в 1Cv8.3 используйте средства платформы для создания защищёного соединения:
ЗащитаSSL = Новый ЗащищенноеСоединениеOpenSSL();
Решения для 1Сv8 - 1Cv8.2 решения не знаю, надо эксперементировать
14. igor_1c 17 08.12.20 14:53 Сейчас в теме
(13) я делал это на 1с 7.7 , про ЗащищенноеСоединениеOpenSSL в 1с 8 я знаю, у меня заработало на 1с 8 8.3.12
15. user720490 08.12.20 15:26 Сейчас в теме
(14)
Тогда проблема с ОС. Если Windows Server 2008 R2< там надо KB скачивать. Если найду какое, отпишусь
16. user720490 08.12.20 15:30 Сейчас в теме
(14)
к примеру для win 2008 serv, нам оказалось этого недостаточно нужно скачать KB обновление самой компоненты
winhttp (библиотеки wininet.dll которая используется в winhttp)

ссылка для обновлений c сайта microsoft
http://www.catalog.update.microsoft.com/search.aspx?q=kb3140245

и далее еще запустить фикс - делает тоже что описано в этой статье, только автоматом
https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

там много буков - но где-то по середине текста кнопка Download, по которой скачивается файл MicrosoftEasyFix51044.msi

после всего этого перезагружаем сервер и будет счастье!
17. user828339 08.12.20 19:31 Сейчас в теме
(13)
Добрый день, подскажите, пожалуйста, как быть в 1Cv8.2 без Новый ЗащищенноеСоединениеOpenSSL()?
3. vlad_d 30.09.20 10:07 Сейчас в теме
Да, семерочникам будет полезно.

"Первый запуск 1С предприятие необходимо производить с правами Администратора."
Библиотека регистрируется?
4. dimitryas 20 30.09.20 11:38 Сейчас в теме
5. user1493374 16.11.20 15:49 Сейчас в теме
Доброго дня. Поясните, как можно получить себе это "фичу"?
6. ge_ni 306 16.11.20 23:22 Сейчас в теме
Проверено. Работает. Работает быстро. Уже плюсанул. Код открытый. Достойно еще одного плюса. (1) Есть от кого защищать. "Обломать курсы" на сайте НБРБ и катастрофа для импортеров - экспортеров...
7. user870478 18.11.20 13:46 Сейчас в теме
Вот здесь есть библиотека что бы не переписывать обработку

https://forum.mista.ru/topic.php?id=861752
8. by_1Cnik 236 04.12.20 10:47 Сейчас в теме
Спасибо работает! На код приятно смотреть - аккуратный
9. vkv 04.12.20 11:56 Сейчас в теме
Добрый, а для 8,1 что надо поменять вместо
СерверИсточник = "https://www.nbrb.by";
ОбработкаПолученияФайлов = Обработки.ПолучениеФайловИзИнтернета.Создать();

Адрес = "Services/XmlExRates.aspx?ondate=";
28. StepanBY 20.12.20 16:25 Сейчас в теме
(9)
В УТ 2.0

В обработке по загрузке курсов
//Адрес = "Services/XmlExRates.aspx?ondate=";

на
Адрес = "/Services/XmlExRates.aspx?ondate=";
СерверИсточник = "www.nbrb.by";


ОбработкаПолученияФайлов.ЗапроситьФайлыССервера

Функцию ЗапроситьФайлыССервера заменить на свою изменив в ней

Заменить
//HTTP = Новый HTTPСоединение(СерверИсточник);

на

HTTP = Новый HTTPСоединение(СерверИсточник,,,,,5,Новый ЗащищенноеСоединениеOpenSSL());


Заменить
//HTTP.Получить(СтрокаПараметраПолучения, ИмяВходящегоФайла);


на

HTTP.Получить(Новый HTTPЗапрос(СтрокаПараметраПолучения),ИмяВходящегоФайла);
11. ЕшеешАкгееш 07.12.20 13:21 Сейчас в теме
18. user720490 08.12.20 21:23 Сейчас в теме
(17)
Не знаю. Я не сталкивался с платформой 1С8.2 Предложенный выше вариант использует библиотеки ОС Windows для 1Cv7.7, так как в семёрке нет штатных инструментов работы через интернет, а те что есть безнадёжно устарели. Думаю, что в 8.2 должны быть штатные инструменты работы с сокетами и протоколами безопасности, надо просто поискать в документации.
19. igor_1c 17 08.12.20 22:52 Сейчас в теме
Проблема обнаружена. Это обновление IE до 11 версии . Если у вас wininet.dll в папке system32 не старше 2017 года, то курсы будут грузиться. wininet.dll это и есть WinHttp.WinHttpRequest.5.1 и прочие.
Прилагаю обработку - на windows 10 работает - на server 2016 тоже
Прикрепленные файлы:
ЗагрузкаКурсов.ert
svilsa; user734985; by_1Cnik; hanna.savina; +4 Ответить
20. martia 09.12.20 02:55 Сейчас в теме
(19)
Проблема обнаружена. Это обновление IE до 11 версии . Если у вас wininet.dll в папке system32 не старше 2017 года, то курсы будут грузиться. wininet.dll это и есть WinHttp.WinHttpRequest.5.1 и прочие.
Прилагаю обработку - на windows 10 работает - на server 2016 тоже
Прикрепленные файлы:
ЗагрузкаКурсов.ert

Спасибо огромное!
27. user734985 16.12.20 19:26 Сейчас в теме
(19) спасибо, добрый человек!
все заработало!
не хватает слов, чтобы выразить всю мою благодарность :)
21. slim747 10.12.20 11:39 Сейчас в теме
Может кто тестил на windows server 2003?
Платформа 1с 77.
Есть старый код:	

        Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"v7plus.dll")=0 Тогда
		Сообщить("Не удалось обнаружить компоненту V7Plus.dll!"); 
	КонецЕсли;
	Попытка
		Соединение = СоздатьОбъект("Addin.V7HttpReader");
		Соединение.КоличествоПопытокАвторизации = 3;
	Исключение
		Сообщить("Не удалось осуществить связь с компонентой V7Plus.dll!");        
	КонецПопытки; 
	
	//Параметр: ondate – дата в формате месяц/день/год, на которую запрашивается официальный курс. 
	СтрД =""+ДатаМесяц(ТекущаяДата())+"/"+ДатаЧисло(ТекущаяДата())+"/"+ДатаГод(ТекущаяДата()); 
	Текст="";
	Попытка 
		Соединение.Получить("http://www.nbrb.by/Services/XmlExRates.aspx?ondate="+СтрД, Текст, 2); 
		// инфо по каждой валюте:
		//<Currency Id="145">      //ID – внутренний код
		//<NumCode>840</NumCode>   //NumCode – цифровой код
		//<CharCode>USD</CharCode> //1 CharCode – буквенный код
		//<Scale>1</Scale>         //2 Scale – номинал
		//<Name>Доллар США</Name>  //3 Name – наименование валюты
		//<Rate>3023.00</Rate>     //4 Rate – курс
		//</Currency>  
	Исключение
		Сообщить("Невозможно установить соединение. Курсы валют не загружены!");
	КонецПопытки ;      
	
Есть новый код:	
	
	Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"v7plus.dll")=0 Тогда
		Сообщить("Не удалось обнаружить компоненту V7Plus.dll!"); 
	КонецЕсли;
	Соединение = СоздатьОбъект("WinHttp.WinHttpRequest.5.1");  
	СтрД =""+ДатаМесяц(ТекущаяДата())+"/"+ДатаЧисло(ТекущаяДата())+"/"+ДатаГод(ТекущаяДата()); 
	Соединение.Open("get","https://www.nbrb.by/services/xmlexrates.aspx?ondate="+СтрД, 0); //Открывает HTTP-соединение с HTTP-ресурсом
	Соединение.Send();//Отправляет HTTP-запрос на HTTP-сервер
	Текст=Соединение.ResponseText();//Получает тело объекта ответа в виде текста			
	Сообщить(Текст);
Показать

Дает ошибку:
WinHttp.WinHttpRequest: A connection with the server could not be established

Может кто сталкивался с подобной проблемой?
22. ЕшеешАкгееш 10.12.20 19:34 Сейчас в теме
(21) Не будет работать . Потратил день , но понял почему :) в 2003 нет поддержки tls 1.2 . А нбрб теперь его требует.
23. slim747 14.12.20 16:43 Сейчас в теме
(22)Решил использовать wget. На Windows Server 2003 работает стабильно!
25. by_1Cnik 236 14.12.20 16:56 Сейчас в теме
(23)
wget

а как вы будет дату (на которую курс нужен) задавать в wget?
24. by_1Cnik 236 14.12.20 16:50 Сейчас в теме
(22) тоже вчера потратил на это почти целый день))) у клиента 2003 сервер. Возможности переустановки нет (устар.дрова под доп.оборудование). В голове два решения:

1) Забрать с другого ПК с помощью 1С 8.3 (рег.заданием) с НБРБ и сложить в расшаренную папку файлик. А 7.7 забирает из файла
2) Вместо НБРБ, парсить другой ресурс. Типо https://select.by/kursy-valyut/natsbank-rb-na-15-12-2020

второй вариант вроде более приемлемые костыли, нежели первый
26. ЕшеешАкгееш 16.12.20 15:00 Сейчас в теме
(24) есть 3й вариант - vbs скрипт парсит по расписанию каждый день на любой машине где есть суппорт tls 1.2 и загоняет сразу в 1с через ole.
29. vkv 20.12.20 20:45 Сейчас в теме
(28)к сожалению в 8.1 нету еще такой процедуры ЗащищенноеСоединениеOpenSSL
Оставьте свое сообщение