Получение информации об Адресе с использованием DADATA.ru через ПреобразованиеXSL (обычные и управляемые формы)

Публикация № 627013

Обработки - Обработка справочников

DADATA.ru ПреобразованиеXSL обработка

9
Получение информации по Адресу с использованием подсказок сервиса https://dadata.ru/ и разбор результата по в табличную часть: Индекс, Регион, Город, Район, Улица, Дом, Корпус, Квартира, Коды ФИАС, Коды КЛАДР до координат здания включительно и выводом результата в печатную форму. Обработка сделана для управляемых и обычных форм.

Данная обработка создана для демонстрации работы сервиса подсказок https://dadata.ru/ с получением информации об Адресе с разбиением ответа в табличную часть по таким реквизитам, как:

  • Индекс,
  • Регион,
  • Город,
  • Район,
  • Улица,
  • ...
  • информация до кодов адреса по ФИАС/КЛАДР и координат местонахождения.

Обработка "Адрес DADATARU (обычные и управляемые формы).epf" позволит получить полный ответ по вашему запросу об Адресе с учетом всех рекизитов ответа с формированием простой таблицы, преобразованной из сложного древовидного ответа сервиса https://dadata.ru/.

Примером работы с механизмом этой обработки является стандартизация заведенных в учетной системе адресов, если не использовались никакие классификаторы, а адрес вводился произвольной строкой, как показано на примере:

Данная обработка будет полезна, как обычным, так и отраслевым организациям, так как зачастую необходимо знать не только Адрес данного контрагента, но и коды ФИАС адреса города, здания, объекта, координаты для интеграции с ГИС-системами. В частности это поможет в заполнении кодов ФИАС зданий пользователям учетных систем "Учет в управляющих компаниях ЖКХ, ТСЖ", так как на текущий момент заполнение кодов ФИАС автоматически там не реализовано. Также на основе механизмов данной обработки можено реализовать автоматическое заполнение адресных данных контрагента для учетных систем, где это не предусмотрено разработчиком.

В решении этих вопросов поможет данная обработка.

Реквизиты Адреса, получаемые при помощи подсказок сервиса DADATA.ru

Обработка позволяет получить в следующие Данные об Адресе:

Название Описание
value Адрес одной строкой (как показывается в списке подсказок)
unrestricted_value Адрес одной строкой (полный, от региона)
data.postal_code Индекс
data.country Страна
data.region_fias_id Код ФИАС региона
data.region_kladr_id Код КЛАДР региона
data.region_with_type Регион с типом
data.region_type Тип региона (сокращенный)
data.region_type_full Тип региона
data.region Регион
data.area_fias_id Код ФИАС района в регионе
data.area_kladr_id Код КЛАДР района в регионе
data.area_with_type Район в регионе с типом
data.area_type Тип района в регионе (сокращенный)
data.area_type_full Тип района в регионе
data.area Район в регионе
data.city_fias_id Код ФИАС города
data.city_kladr_id Код КЛАДР города
data.city_with_type Город с типом
data.city_type Тип города (сокращенный)
data.city_type_full Тип города
data.city Город
data.city_area Административный округ (только для Москвы)
data.city_district_fias_id Код ФИАС района города (заполняется, только если район есть в ФИАС)
data.city_district_kladr_id Код КЛАДР района города (не заполняется)
data.city_district_with_type Район города с типом
data.city_district_type Тип района города (сокращенный)
data.city_district_type_full Тип района города
data.city_district Район города
data.settlement_fias_id Код ФИАС нас. пункта
data.settlement_kladr_id Код КЛАДР нас. пункта
data.settlement_with_type Населенный пункт с типом
data.settlement_type Тип населенного пункта (сокращенный)
data.settlement_type_full Тип населенного пункта
data.settlement Населенный пункт
data.street_fias_id Код ФИАС улицы
data.street_kladr_id Код КЛАДР улицы
data.street_with_type Улица с типом
data.street_type Тип улицы (сокращенный)
data.street_type_full Тип улицы
data.street Улица
data.house_fias_id Код ФИАС дома
data.house_kladr_id Код КЛАДР дома
data.house_type Тип дома (сокращенный)
data.house_type_full Тип дома
data.house Дом
data.block_type Тип корпуса/строения (сокращенный)
data.block_type_full Тип корпуса/строения
data.block Корпус/строение
data.flat_type Тип квартиры (сокращенный)
data.flat_type_full Тип квартиры
data.flat Квартира
data.flat_area Площадь квартиры (не заполняется)
data.square_meter_price Рыночная стоимость м² (не заполняется)
data.flat_price Рыночная стоимость квартиры (не заполняется)
data.postal_box Абонентский ящик
data.fias_id Код ФИАС:
  • HOUSE.HOUSEGUID, если дом найден в ФИАС по точному совпадению;
  • HOUSEINT.INTGUID, если дом найден в ФИАС как часть интервала;
  • ADDROBJ.AOGUID в противном случае.
data.fias_level Уровень детализации, до которого адрес найден в ФИАС:
  • 0 — страна;
  • 1 — регион;
  • 3 — район;
  • 4 — город;
  • 5 — район города;
  • 6 — населенный пункт;
  • 7 — улица;
  • 8 — дом;
  • 90 — доп. территория;
  • 91 — улица в доп. территории;
  • -1 — иностранный или пустой.
data.kladr_id Код КЛАДР
data.capital_marker Является ли город центром:
  • 1 — центр района (Московская обл, Одинцовский р-н, г Одинцово)
  • 2 — центр региона (Новосибирская обл, г Новосибирск);
  • 3 — центр района и региона;
  • 0 — ни то, ни другое (Московская обл, г Балашиха).
data.okato Код ОКАТО
data.oktmo Код ОКТМО
data.tax_office Код ИФНС для физических лиц
data.tax_office_legal Код ИФНС для организаций (не заполняется)
data.timezone Часовой пояс (не заполняется)
data.geo_lat Координаты: широта
data.geo_lon Координаты: долгота
data.beltway_hit Внутри кольцевой? (не заполняется)
data.beltway_distance Расстояние от кольцевой в км (не заполняется)
data.qc_geo Код точности координат
data.qc_complete Код пригодности к рассылке (не заполняется)
data.qc_house Код проверки дома (не заполняется)
data.qc Код проверки (не заполняется)
data.unparsed_parts Нераспознанная часть адреса (не заполняется)

Код точности координат qc_geo — точность координат адреса для курьерской доставки:

Код qc_geo Описание
0 Точные координаты
1 Ближайший дом
2 Улица
3 Населенный пункт
4 Город
5 Координаты не определены

Инструкция по работе с обработкой

1) Перед использованием необходимо получить Тoken на сайте https://dadata.ru:

Токен

2) Заполнить Токен, ввести Количество подсказок и Адрес в обработке:

Настройка

3) Результат будет загружен в табличную часть:

Обработка

4) Получившийся результат по всем подсказкам можно вывести в печатную форму:

Печатная Форма

Основные плюсы обработки

1) Использование формата ответа в XML, что позволит обрабатывать ответ даже на старых версиях платформы  - без использования JSON.

2) В данной версии использована новая версия API.

3) Использование Количества подсказок - вы сами можете регулировать сколько подсказок вы можете получить.

4) Вывод ответа в Табличную часть - вы можете видеть все возможные варианты подсказок по вашему запросу.

5) Основное отличие этой обработки от других аналогов на Инфостарте - использование ПреобразованиеXSL, для преобразования древовидной структуры XML ответа сервиса DADATA.ru

ОбъектXDTO

в более удобочитаемую таблицу, которую гораздо проще обрабатывать и загружать.

Преобразование

9

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

Наименование Файл Версия Размер
Адрес DADATARU (обычные и управляемые формы)
.epf 34,30Kb
25.05.17
31
.epf 34,30Kb 31 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. SurmachAU 19 22.01.18 15:15 Сейчас в теме
Не заполняет данные по адресу
Прикрепленные файлы:
3. olgerd666 43 22.01.18 15:21 Сейчас в теме
(1)заполняет, вы по всем адресам проверяли?. по некоторым адресам в дадате - нет инфы.
5. SurmachAU 19 22.01.18 15:37 Сейчас в теме
(3) простите, действительно, странно и жаль. просто добавила ваш код в общий модуль для заполнения по инн, добавила условие) теперь отрабатывает
6. olgerd666 43 22.01.18 16:05 Сейчас в теме
(5)а какое условие добавили?.
кстати у дадаты есть ссылка на расширение по заполнению контрагентов https://1cbonus.ru/kontragent-po-inn/
сам не пробовал, тк при создании обработки преследовал несколько возможность пакетной обработки.
7. SurmachAU 19 23.01.18 15:37 Сейчас в теме
(6)РезультатАдрес = cmGetDadataArray(ТекАдрес, "6fxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "address");
Если РезультатАдрес.Количество()>0 Тогда
СтруктураАдреса = РезультатАдрес[1];
далее код
9. Anton64 235 10.10.18 12:28 Сейчас в теме
2. Prog89 22.01.18 15:16 Сейчас в теме
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
	  
	Движения.ОстаткиТоваров.Записывать = Истина;
	Для каждого Стр из СписокТоваров цикл
	Запись = Движения.ОстаткиТоваров.Добавить();
	Запись = Дата;
	Запись.Номенклатура = Стр.Номенклатура;
	Запись.Склад = Склад;
	Запись.Колечиство = Стр.Количество;
	Запись.ВидДвижения = ВидДвиженияНакопления.Приход;
	КонецЦикла;
	
КонецПроцедуры   
Показать


процедура работает это ошибка!!!
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.ПоступлениеТоваров.МодульОбъекта(25)}: Значение не является значением объектного типа (Номенклатура)
Запись.Номенклатура = Стр.Номенклатура;
4. olgerd666 43 22.01.18 15:22 Сейчас в теме
(2)не понял - у меня такого кода точно нет.
8. mburkin 12 07.09.18 13:33 Сейчас в теме
в кладре у кода 25 символов и это число, а тут возвращаются кладровые данные строкой и длина другая, но вообще обработка классная!!!!
Оставьте свое сообщение