Пример использования сервиса dadata.ru для платформы 8.1 (маленькая дверь к большим возможностям внешних сервисов)

07.07.21

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

Для 8.1 не нашел подходящего решения для работы с сервисами dadata.ru Это пример работы только с API стандартизации адресов. Работает так: посылаем адрес, введенный пользователем в виде строки, на API сервис dadata.ru В ответ получаем массив структур с вариантами валидных адресов (формат JSON) . Показываем таблицу (массив) для выбора нужного адреса пользователю. Данные из выбранной строки переносим куда нужно. Весь перечень данных (а он не маленький) в каждом варианте ответа https://dadata.ru/api/clean/address/

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

Наименование Файл Версия Размер
Пример использования сервиса dadata.ru из 1С Предприятие 8.1:
.epf 7,41Kb
1
.epf 1.0 7,41Kb 1 Скачать

Задача: стандартизировать записываемый адрес из строки введенной с клавиатуры.

Т.е. поменять строку введенную пользовтелем на список валидных адресов и предложить пользователю выбрать нужный вариант.

(для моей задачи нужно заполнить реквизиты: Регион, Населенныйпункт и УлицаНомерДома.)

Сложность заключается в отсутствии удобных механизмов работы с сервисами http в формате обмена JSON у платформы.

На помощь приходят пара COM-объектов:

ТекстЗапроса = "мск варшавское 4";

               WinHttpUTF8 = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");

               WinHttpUTF8.Option(2, "UTF-8");

              WinHttpUTF8.SetTimeouts(10000, 10000, 30000, 30000);

              Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");

               Скрипт.Language = "javascript";

               Скрипт.AddObject("WinHttp", WinHttpUTF8);

               Скрипт.Eval("WinHttp.Option(2) = ""utf-8""");

               Скрипт.Eval("WinHttp.Option(4) = 13056");

               Скрипт.Eval("WinHttp.Option(6) = true");

               Скрипт.Eval("WinHttp.Option(12) = true");

              WinHttpUTF8.Open("POST", "http://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address", 0);

               WinHttpUTF8.SetRequestHeader("Content-Type", "application/json;charset=UTF-8");

               WinHttpUTF8.SetRequestHeader("Accept", "application/json");

               ///+++ нужно зарегистрироваться в сервисе и ввести свои данные

               WinHttpUTF8.SetRequestHeader("Authorization", "Token b1b2e*********117d874b");

               WinHttpUTF8.SetRequestHeader("X-Secret", "9e13**********6be0f6042");

               ///---

              WinHttpUTF8.Send("{""query"": """+ТекстЗапроса+"""}");

               ТекстJSON = WinHttpUTF8.ResponseText();

               /// ответ разбиваем на строки

           

ОтветСтроки = СтрЗаменить(ТекстJSON,"""value"":", Символы.ПС);

Дальше уже совсем легко – находим нужное имя до «:» и далее будет соответствующее значение;      

А имён там довольно много (включая геодаты, что позволит обращаться к картам, но это другая история... )        

тз = Новый ТаблицаЗначений;

               тз.Колонки.Добавить("Адрес");

               тз.Колонки.Добавить("Регион");

               тз.Колонки.Добавить("НаселенныйПункт");

               тз.Колонки.Добавить("УлицаДом");

               кол = СтрЧислоСтрок(ОтветСтроки);

               Для д=2 По кол Цикл

                              нов = тз.Добавить();

                              текСтрока = СтрПолучитьСтроку(ОтветСтроки,д);

                              текДлина = СтрДлина(текСтрока);

                              Для Сч = 1 По текДлина Цикл

                                            Символ = Сред(текСтрока, Сч, 1);

                                            Если Символ = "u" Тогда

                                                           Поз2 = Сч-3;

                                                           Прервать;

                                            КонецЕсли;

                              КонецЦикла;

           //…………………………………………………………………

               КонецЦикла;

//здесь пользователь должен выбрать валидный адрес

стр = тз.ВыбратьСтроку();

 

 

Переносим данные из выбранной строки в нужное место.

Тестировалась на релизе 1С:Предприятие 8.1 (8.1.15.14). Код будет работать везде, где удастся создать оба COM-объекта.

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

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

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

36000 руб.

03.08.2020    15750    10    17    

11

Интеграция 1С — Битрикс24. Обмен задачами

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

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

5040 руб.

04.05.2021    17558    6    15    

13

Интеграция с сервисом vetmanager

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

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16364    42    49    

23

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25746    9    0    

7

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

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

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    88593    160    215    

318