0. svilsa 2 07.04.18 00:57 Сейчас в теме

Загрузка справочника БИК банков с сайта Национального банка Республики Беларусь http://www.nbrb.by для конфигураций 1С 7.7 используя AddIn.V7HttpReader с разбором файла ответа в формате JSON

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

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. Dnki 4 03.09.18 00:57 Сейчас в теме
Благодарю за идею - не знал про API сайта.
Скачиваю в знак благодарности.
Как замечание могу только сказать: из всего списка банков есть несколько со статусом "Закрыт", "Ликвидирован". Вы их обрабатываете как нормальные банки.
2. Dnki 4 03.09.18 01:11 Сейчас в теме
А здорово, когда есть в распоряжении инструменты! Набросал аналог на 8-ке:
Функция Загрузить()
	
	//	Запрос
	Соединение = Новый HTTPСоединение("www.nbrb.by");
	Попытка
	АшТТП_Ответ		= Соединение.Получить(Новый HTTPЗапрос("/API/BIC"));
	Исключение
		Сообщить(ОписаниеОшибки());
		Возврат Ложь;
	КонецПопытки;
	
	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(АшТТП_Ответ.ПолучитьТелоКакСтроку());
	Т_Массив = ПрочитатьJSON(ЧтениеJSON, Ложь);
	
	//	Разбор
	КолНов = 0;
	КолУдл = 0;
	СпрМен = Справочники.Банки;
	Для каждого ТекЭлемент Из Т_Массив Цикл
		Т_Статус= ТекЭлемент.CdControl;
		Т_Удл	= (СтрНайти("ЛИКВ,ЗАКР", Т_Статус) > 0);
		Т_БИК	= ТекЭлемент.CdBank;
		
		//	Поиск
		СпрСылка = СпрМен.НайтиПоКоду(Т_БИК);
		
		//	Есть
		Если ЗначениеЗаполнено(СпрСылка) Тогда
			Если Т_Удл И НЕ СпрСылка.ПометкаУдаления Тогда
				СпрОбъект = СпрСылка.ПолучитьОбъект();
				СпрОбъект.УстановитьПометкуУдаления(Истина);
				Увеличить(КолУдл);
			КонецЕсли;

		//	Нету
		Иначе
			Если НЕ Т_Удл Тогда
				СпрОбъект = СпрМен.СоздатьЭлемент();
				СпрОбъект.Код			= Т_БИК;
				СпрОбъект.Наименование	= ТекЭлемент.NmBankShort;
				СпрОбъект.Адрес			= ТекЭлемент.AdrBank;
				Попытка
				СпрОбъект.Записать();
				Исключение
					Сообщить(ОписаниеОшибки());
				КонецПопытки;
				Увеличить(КолНов);
			КонецЕсли;
		КонецЕсли;	// ЗначениеЗаполнено(СпрСылка)
	КонецЦикла;	// Т_Массив

	Предупреждение("Новых: "+ КолНов+ Символы.ПС+ "Удалено: "+ КолУдл, 10);
	Возврат Истина;
КонецФункции	// Загрузить
Показать
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата до 160 000 руб.
Полный день