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

26.05.17

Интеграция - WEB-интеграция

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Адрес DADATARU (обычные и управляемые формы)
.epf 34,30Kb
61
61 Скачать (1 SM) Купить за 1 850 руб.

Данная обработка создана для демонстрации работы сервиса подсказок 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

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

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

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

См. также

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

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

36000 руб.

03.08.2020    17783    19    22    

16

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

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    19851    13    17    

16

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

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

22656 руб.

25.05.2021    14424    42    8    

18

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

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    1173    1    0    

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


процедура работает это ошибка!!!
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.ПоступлениеТоваров.МодульОбъекта(25)}: Значение не является значением объектного типа (Номенклатура)
Запись.Номенклатура = Стр.Номенклатура;
4. olegmedvedev 65 22.01.18 15:22 Сейчас в теме
(2)не понял - у меня такого кода точно нет.
8. mburkin 11 07.09.18 13:33 Сейчас в теме
в кладре у кода 25 символов и это число, а тут возвращаются кладровые данные строкой и длина другая, но вообще обработка классная!!!!
10. akrelius 18 12.09.19 11:54 Сейчас в теме
при запросе "подстепки" выдает несколько деревень из разных областей, но в поле Value везде написано "Самарская" хотя регион может быть "Воронеж"

Адрес одной строкой (сокр.) Самарская обл, Ставропольский р-н, село Подстепки
Адрес одной строкой (полный, от региона) Самарская обл, Ставропольский р-н, село Подстепки
Индекс 397183
Страна Россия
Код ФИАС региона b756fe6b-bbd3-44d5-9302-5bfcc740f46e
Код КЛАДР региона 3600000000000
Регион с типом Воронежская обл
Тип региона (сокращенный) обл
Тип региона область
Регион Воронежская
Код ФИАС района в регионе dac587d3-17c6-49d3-8949-cc829f947e3f
Код КЛАДР района в регионе 3600500000000
Район в регионе с типом Борисоглебский р-н
Тип района в регионе (сокращенный) р-н
Тип района в регионе район
Район в регионе Борисоглебский
11. olegmedvedev 65 12.09.19 12:07 Сейчас в теме
(10) это уже вопрос к выдаче данных сервисом дадаты, видимо у них другой приоритет по областям.
12. vechiy 35 06.10.19 11:59 Сейчас в теме
а координаты он в табличную часть не возвращает?
13. vechiy 35 07.10.19 11:18 Сейчас в теме
14. vechiy 35 07.10.19 11:19 Сейчас в теме
но не для всех адресов, почему так?
15. olegmedvedev 65 28.10.19 15:30 Сейчас в теме
(14) возможно у ДАДАТЫ нет данных геолокации по этому адресу
16. vechiy 35 29.10.19 09:30 Сейчас в теме
(15)

dadata на форуме ответили:
Валерия 4 недели назад
Адрес неправильный, вам нужен

https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address
Получить координат можно. Пока человек не выбрал конкретную подсказку (count > 1), Дадата использует справочник адресов налоговой службы (ФИАС). В нём нет координат.

Когда же человек выбирает конкретную подсказку (count = 1), Дадата возвращает дополнительную информацию об адресе, в том числе координаты.

Текст запроса при count = 1 должен быть результатом одного из предыдущих запросов (значением поля unrestricted_value).
17. olegmedvedev 65 29.10.19 10:14 Сейчас в теме
(16)
Адрес неправильный, вам нужен: https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address

а можно подробнее? в коде обработки идет соединение:
HTTPЗапрос = Новый HTTPЗапрос();
	HTTPЗапрос.АдресРесурса = "/api/4_1/rs/suggest/address";
	
	HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/xml");
	HTTPЗапрос.Заголовки.Вставить("Accept", "application/xml");
	
	HTTPЗапрос.Заголовки.Вставить("Authorization", "Token " + Token);
	
	//если КоличествоПодсказок = 0, тогда по умолчанию вернет 10 подсказок 
	ТекстЗапроса = "<req><query>" + Текст + "</query><count>" + КоличествоПодсказок + "</count></req>";
	
	HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса);
	
	//соединяемся с сервисом подсказок
	Соединение = Новый HTTPСоединение("suggestions.dadata.ru/suggestions",,,,,, Новый ЗащищенноеСоединениеOpenSSL);
Показать


что именно в адресе неправильно? адрес такой же как в вашем ответе.

Когда же человек выбирает конкретную подсказку (count = 1), Дадата возвращает дополнительную информацию об адресе, в том числе координаты.

проверил - действительно при одной подсказке выводит координаты.
Текст запроса при count = 1 должен быть результатом одного из предыдущих запросов (значением поля unrestricted_value).

а вот тут необязательно, достаточно одной подсказки. у меня вывел при произвольном адресе координаты
18. vechiy 35 29.10.19 15:16 Сейчас в теме
(17) ну например мне нужно заполнить ряд адресов и условно говоря по тысяче адресов координаты заполнились а по тысяче нет (вызывал вашу функцию в цикле по сетке представлений)
19. olegmedvedev 65 30.10.19 15:32 Сейчас в теме
(18) если честно, не понял ответа. согласно ответу дадаты у вас должна была быть еще указана единичная подсказка, для заполнения координат - так отрабатывает?

Или это был ответ на вопрос, что вам ответила дадата по поводу что адрес неправильный?
"Адрес неправильный, вам нужен: https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address"
но у меня используется такой же адрес.
20. GipnoPanda 26.06.20 12:34 Сейчас в теме
Очень удобно, спасибо!
Оставьте свое сообщение