gifts2017

Заполнение адреса с использованием сервиса dadata.ru

Опубликовал reznic Резник (reznic) в раздел Обработки - Обработка справочников

В последнее время все большую популярность набирают сервисы онлайн обработки данных. Предлагаю Вашему вниманию универсальный механизм, благодаря которому можно формировать правильные по структуре адреса, не загружая в базу классификатор КЛАДР или ФИАС

ВНИМАНИЕ: Требуется включение возможности изменений в информационной базе и модификация одной строчки кода в общем модуле УправлениеКонтактнойИнформациейКлиент

Принцип работы. Пользователь вводит адрес в произвольном виде в адресною строку, после чего, нажав на три точки справа от строки ввода, открывается форма редактирования адреса, которая автоматически заполняется данными, отправленными для обработки на сервис dadata.ru и полученными оттуда. После чего форнму ввода адреса можно закрывать, а мы получаем адрес, сформированный по стандартам.

Интеграция. Необходимо создать общий модуль, в который поместить текст из файла, после чего в модуле УправлениеКонтактнойИнформациейКлиент найти строку

 

ДанныеСтроки.ЗначенияПолей = КонтактнаяИнформацияСлужебныйВызовСервера.ПарсингКонтактнойИнформацииXML(Текст, ДанныеСтроки.Вид);

 

и заменить ее на строки

 

Если ЗначениеЗаполнено(Текст) И ДанныеСтроки.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес") Тогда
		ДанныеСтроки.ЗначенияПолей = ИсправлениеАдресаКлиент.ИсправитьИРазобратьАдрес(Текст);
	Иначе
		ДанныеСтроки.ЗначенияПолей = КонтактнаяИнформацияСлужебныйВызовСервера.ПарсингКонтактнойИнформацииXML(Текст, ДанныеСтроки.Вид);
	КонецЕсли;

 

после чего останется только прописать ключи, полученные на сервисе, в переменные APIКлюч и СекретныйКлюч и обновить конфигурацию базы данных. Данный способ интеграции с сервисом подходит для всех конфигураций 1C, использующих БСП для работы с адресами.

Скачать файлы

Наименование Файл Версия Размер
Общий модуль "ИсправлениеАдресаКлиент" 14
.txt 13,43Kb
06.04.15
14
.txt 13,43Kb Скачать

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение
Комментарии
1. Сергей (seermak) 07.04.15 06:17
(0) неактуально - последние версии БП 3.0 уже имеют этот механизм встроенным в конфигурацию (включается в настройках - или КЛАДР или этот). Даже вычисляется индекс, что в ранних релизах небыло
2. reznic Резник (reznic) 07.04.15 08:18
(1) seermak, да Вы что, а я не знал :)


Одно но, механизм встроенный в БП работает с их сервисом и требует ИТС, кроме того есть ряд других конфигураций в частности ДО, ЗУП

PS я глуповат, стал заказывать уже имеющийся функционал
3. Артем Целовальников (slazzy) 07.04.15 09:22
(2) reznic, механизм проверки контрагентов встроен в последнюю версию БСП, поэтому скоро он появится во всех новых типовых конфигурациях :)
но за статью спасибо
4. reznic Резник (reznic) 07.04.15 12:02
(3) slazzy, я его видел, но он завязан на их сервис где фактически абонентская плата в виде ИТС, кроме того условия использования они собираются менять, в данном случае используется же сторонний сервис где оплата за фактически обработанные запросы.
5. Сергей Ожерельев (Поручик) 07.04.15 15:34
(0) Модуль КонтактнаяИнформацияСлужебныйВызовСервера в последних релизах БСП переименован.
http://forum.aeroion.ru/post5664.html#5664
6. reznic Резник (reznic) 08.04.15 07:55
Изначально делалось это для ДО, но в последней БП 3 пока все тоже заработало, и кстати по вашей ссылке речь про другой модуль идет
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа