Автозаполнение адреса по КЛАДР в УПП при выгрузке контрагента с портала компании (API dadata)

03.12.19

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

Заведение, согласование контрагентов организовано на портале компании. Далее по web-сервису контрагенты выгружаются в УПП (юр.адрес и факт.адрес выгружаются строкой). Задача автоматизировать заполнение адреса в УПП по КЛАДР.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Автоматизация заполнения адреса по КЛАДР в УПП при выгрузки контрагента с портала(API dadata).:
.epf 7,80Kb
3
3 Скачать (1 SM) Купить за 1 850 руб.

На портале после ввода адреса отрабатывает пост запрос к API (https://dadata.ru/suggestions/#address), который возвращает код КЛАДР.

 

 

По этому API есть возможность получать также код ФИАС.

 

 

По web-сервису с портала в 1с я получаю строку 7700000000022800015#дом#12#корпус#2#офис#1#117393

Которая содержит КодКЛАДР, дом/владение, корпус/строение, квартира/офис, индекс.

- далее я парсю входящую строку с кодом КЛАДР

- делаю запрос к регистру "РегистрыСведений.АдресныйКлассификатор"

- заполняю Поля в "РегистрыСведений.КонтактнаяИнформация" и записываю набор записей.

 

 

Запрос.Текст = 
	"ВЫБРАТЬ
	|	1 КАК ТипАдреса,
	|	АдресныйКлассификатор.Наименование,
	|	АдресныйКлассификатор.Сокращение
	|ИЗ
	|	РегистрСведений.АдресныйКлассификатор КАК АдресныйКлассификатор
	|ГДЕ
	|	АдресныйКлассификатор.ТипАдресногоЭлемента = 1
	|	И АдресныйКлассификатор.КодРегионаВКоде = &КодРегионаВКоде
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	2,
	|	АдресныйКлассификатор.Наименование,
	|	АдресныйКлассификатор.Сокращение
	|ИЗ
	|	РегистрСведений.АдресныйКлассификатор КАК АдресныйКлассификатор
	|ГДЕ
	|	АдресныйКлассификатор.ТипАдресногоЭлемента = 2
	|	И АдресныйКлассификатор.КодРегионаВКоде = &КодРегионаВКоде
	|	И АдресныйКлассификатор.КодРайонаВКоде = &КодРайонаВКоде
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	3,
	|	АдресныйКлассификатор.Наименование,
	|	АдресныйКлассификатор.Сокращение
	|ИЗ
	|	РегистрСведений.АдресныйКлассификатор КАК АдресныйКлассификатор
	|ГДЕ
	|	АдресныйКлассификатор.ТипАдресногоЭлемента = 3
	|	И АдресныйКлассификатор.КодРегионаВКоде = &КодРегионаВКоде
	|	И АдресныйКлассификатор.КодРайонаВКоде = &КодРайонаВКоде
	|	И АдресныйКлассификатор.КодГородаВКоде = &КодГородаВКоде
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	4,
	|	АдресныйКлассификатор.Наименование,
	|	АдресныйКлассификатор.Сокращение
	|ИЗ
	|	РегистрСведений.АдресныйКлассификатор КАК АдресныйКлассификатор
	|ГДЕ
	|	АдресныйКлассификатор.ТипАдресногоЭлемента = 4
	|	И АдресныйКлассификатор.КодРегионаВКоде = &КодРегионаВКоде
	|	И АдресныйКлассификатор.КодРайонаВКоде = &КодРайонаВКоде
	|	И АдресныйКлассификатор.КодГородаВКоде = &КодГородаВКоде
	|	И АдресныйКлассификатор.КодНаселенногоПунктаВКоде = &КодНаселенногоПунктаВКоде
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	5,
	|	АдресныйКлассификатор.Наименование,
	|	АдресныйКлассификатор.Сокращение
	|ИЗ
	|	РегистрСведений.АдресныйКлассификатор КАК АдресныйКлассификатор
	|ГДЕ
	|	АдресныйКлассификатор.ТипАдресногоЭлемента = 5
	|	И АдресныйКлассификатор.КодРегионаВКоде = &КодРегионаВКоде
	|	И АдресныйКлассификатор.КодРайонаВКоде = &КодРайонаВКоде
	|	И АдресныйКлассификатор.КодГородаВКоде = &КодГородаВКоде
	|	И АдресныйКлассификатор.КодНаселенногоПунктаВКоде = &КодНаселенногоПунктаВКоде
	|	И АдресныйКлассификатор.КодУлицыВКоде = &КодУлицыВКоде
	|
	|УПОРЯДОЧИТЬ ПО
	|	ТипАдреса";
	
	МассивАдреса = СтрРазделить(СтрокаКладр1,"#");
	
	Если МассивАдреса.Количество() >= 8 Тогда
		
		Попытка
			Запрос.УстановитьПараметр("КодРегионаВКоде", Число(Лев(МассивАдреса[0],2)));
			Запрос.УстановитьПараметр("КодРайонаВКоде", Число(Сред(МассивАдреса[0],3,3)));
			Запрос.УстановитьПараметр("КодГородаВКоде", Число(Сред(МассивАдреса[0],6,3)));
			Запрос.УстановитьПараметр("КодНаселенногоПунктаВКоде", Число(Сред(МассивАдреса[0],9,3)));
			Запрос.УстановитьПараметр("КодУлицыВКоде", Число(Сред(МассивАдреса[0],12,4)));
		Исключение
			Сообщить(ОписаниеОшибки());
		КонецПопытки;		

 

Для демонстрации функционала сделал внешнюю обработку

 

 

Тестировал УПП релиз 1.3.123.1

Платформа 1С:Предприятие 8.3 (8.3.15.1747)

КЛАДР dadata УПП автозаполнение адреса

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    4337    5    0    

11

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

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    35835    71    45    

30

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

57600 руб.

26.11.2024    3301    3    3    

5

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    1382    9    2    

11

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

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

36000 руб.

03.08.2020    19669    24    24    

20

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

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

24000 руб.

27.09.2024    5530    5    2    

6

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

Решение осуществляет синхронизацию задач Битрикс24 и 1С, что позволяет в одной системе ставить задачи, контролировать выполнение всего пула задач с группировкой по ответственным и проектам, формировать управленческие отчеты по работе сотрудников (загрузка, просроченные задачи), уведомлять сотрудников о ходе выполнения задач посредством чат-бот Telegram

7200 руб.

04.05.2021    21308    14    19    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Senator_I 231 03.12.19 10:28 Сейчас в теме
Для тех, кто код выкладывает фоткой, есть отдельный котел в аду ;-)
khomkolov; amon_ra; G.Shatrov; ybatiaev; BigB; serg-lom89; YPermitin; OneEset; +8 Ответить
5. John_d 6002 03.12.19 17:27 Сейчас в теме
6. Senator_I 231 03.12.19 17:42 Сейчас в теме
(5) другое дело, спасибо мил человек. Весь код разработки, конечно. выкладывать не нужно. но если выкладываете часть, то лучше кодом. Может кому-нибудь этот кусок кода и пригодиться.
2. OneEset 03.12.19 10:34 Сейчас в теме
В общем я КЛАДР на всё это заполнение))
Free1CforAll; vtsuganov; +2 Ответить
3. пользователь 03.12.19 12:30
4. spectre1978 61 03.12.19 15:58 Сейчас в теме
Тем кто занимается разбором, преобразованием и вводом адресов - наш плюс, ибо дело нужное.
fight1c; Free1CforAll; +2 Ответить
7. axae 110 04.12.19 08:38 Сейчас в теме
На всякий случай напоминаю про dadata.ru: "Подсказки не предназначены для парсинга адресов, их запрещено использовать для отправки целого адреса на разбор. Для этого нужен сервис Стандартизации" - это их позиция.
8. John_d 6002 05.12.19 14:34 Сейчас в теме
(7)В статье про парсинг подсказок не говорится. На портале после ввода адреса отрабатывает пост запрос к API, который возвращает код КЛАДР.
9. user1250039 17.12.19 12:47 Сейчас в теме
Не очень понятно, как вы получаете строку : 7700000000022800015#дом#12#корпус#2#офис#1#117393. Откуда берете данные?
10. John_d 6002 17.12.19 12:53 Сейчас в теме
(9) На портале после ввода адреса отрабатывает пост запрос к API (https://dadata.ru/suggestions/#address), который возвращает код КЛАДР
Остальные данные вводят на портале пользователи, дом, квартиру
Строка склеивается и отправляется в 1с.
Оставьте свое сообщение