Работаем с сервисом подсказок на формах: dadata.ru

20.12.14

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

Рассмотрим: как можно использовать REST-сервис данного сайта для формирования списка выбора.

Публикация устарела в связи с изменениями API на сайте dadata.ru

 

Сервис dadata.ru позволяет получать подсказки по ФИО и по Адресам. У него есть довольно неплохо описанный API. Мы Рассмотрим, как с помощью него можно вывести подсказку в ФИО. 

Данными с сайтом можно обмениваться в двух форматах: 

  1. XML
  2. JSON

Я решил делать в xml, как в более используемом в 1С. Итак, для начала создадим новую пустую конфигурацию, со справочником Физлица, и так же создадим XDTO схему:

Создадим форму элемента справочника Физлица.

Основной функцией у нас будет: ПолучитьОбъектXDTO, в которую мы будем передавать набираемый текст (Обратите внимание, что вы должны передавать в параметрах ваш код авторизации, который вы можете получить свободно на сайте).

&НаКлиенте
Функция ПолучитьОбъектXDTO(Текст, КоличествоПодсказок = 10)
    
    HTTPЗапрос = Новый HTTPЗапрос();
    HTTPЗапрос.АдресРесурса = "/api/v2/suggest/fio";
    
    HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/xml");
    HTTPЗапрос.Заголовки.Вставить("Accept", "application/xml");
    HTTPЗапрос.Заголовки.Вставить("Authorization", "ВАШ КОД АВТОРИЗАЦИИ");
    HTTPЗапрос.УстановитьТелоИзСтроки("" + Текст + "" +  КоличествоПодсказок + "");
    
    Соединение = Новый HTTPСоединение("dadata.ru",,,,Новый ИнтернетПрокси,, Новый ЗащищенноеСоединениеOpenSSL);
    
    ОтветHTTP = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
    
    Тело = ОтветHTTP.ПолучитьТелоКакСтроку();	
    Если Тело = "" Тогда
        Возврат Ложь;
    Иначе
        структурныйТип = ФабрикаXDTO.Тип("http://www.sample-package.org", "SuggestFioResponse"); 
        
        МойXML = Новый ЧтениеXML;
        МойXML.УстановитьСтроку(Тело);
        ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(МойXML, структурныйТип);
        
        Возврат ОбъектXDTO;
    КонецЕсли;
    
КонецФункции

Затем назначим элементу "Наименование" событие: "Автоподбор".

&НаКлиенте
Процедура НаименованиеАвтоПодбор(Элемент, Текст, ДанныеВыбора, Параметры, Ожидание, СтандартнаяОбработка)

    Если СтрДлина(Текст) > 3 Тогда

        Элемент.СписокВыбора.Очистить();	
        
        ОбъектXDTO  = ПолучитьОбъектXDTO(Текст);
        
        Если ТипЗнч(ОбъектXDTO) = Тип("ОбъектXDTO") Тогда
            Если ТипЗнч(ОбъектXDTO.suggestions) = Тип("СписокXDTO") Тогда
                Для каждого Ключ Из ОбъектXDTO.suggestions Цикл
                    Элемент.СписокВыбора.Добавить(Ключ.value);	
                КонецЦикла;
            ИначеЕсли ТипЗнч(ОбъектXDTO.suggestions) = Тип("ОбъектXDTO") Тогда
                Элемент.СписокВыбора.Добавить(ОбъектXDTO.suggestions.value);	 
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
    
КонецПроцедуры

Можно пойти и дальше. Создадим у справочника реквизиты: Фамилия, Имя, Отчество и Пол (тип: Перечисления). И заполним их при окончании редактирования:

&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
    
    Если ЗначениеЗаполнено(Объект.Наименование) Тогда
        ОбъектXDTO = ПолучитьОбъектXDTO(Объект.Наименование, 1);
        Если ТипЗнч(ОбъектXDTO) = Тип("ОбъектXDTO") Тогда
            ПолученныеДанные = ОбъектXDTO.suggestions;	 	
            Объект.Фамилия = ?(ТипЗнч(ПолученныеДанные.data.surname)=Тип("Строка"), ПолученныеДанные.data.surname, "");
            Объект.Имя = ?(ТипЗнч(ПолученныеДанные.data.name)=Тип("Строка"), ПолученныеДанные.data.name, "");
            Объект.Отчество = ?(ТипЗнч(ПолученныеДанные.data.patronymic)=Тип("Строка"), ПолученныеДанные.data.patronymic, "");
            
            Если ПолученныеДанные.data.gender = "MALE" Тогда
                Объект.Пол = ПредопределенноеЗначение("Перечисление.ПолФизическогоЛица.Мужской");	
            ИначеЕсли ПолученныеДанные.data.gender = "FEMALE" Тогда
                объект.Пол = ПредопределенноеЗначение("Перечисление.ПолФизическогоЛица.Женский");	
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
    
КонецПроцедуры

 Как результат получаем весьма удобный список подбора и разложение на составляющие ФИО.

 

оригинал

См. также

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

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

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме. Без существенных изменений типовой конфигурации. Проверено с брендами: Интеграция 1С и GEELY Интеграция 1С и HAVAL Интеграция 1С и KIA Интеграция 1С и FORD Интеграция 1С и LADA ГАРАНТИЯ 100% ВНЕДРЕНИЯ!

36000 руб.

03.08.2020    15727    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    17541    6    15    

13

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

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

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

12000 руб.

02.02.2021    16350    42    49    

23

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

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

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

8400 руб.

01.02.2019    25736    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    88570    160    215    

318
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. xzorkiix 34 23.06.14 17:23 Сейчас в теме
&НаСервере
Процедура УстановитьПол(gender)
	
	Если gender = "MALE" Тогда
		Объект.Пол = Перечисления.ПолФизическогоЛица.Мужской;	
	ИначеЕсли gender = "FEMALE" Тогда
		объект.Пол = Перечисления.ПолФизическогоЛица.Женский;	
	КонецЕсли;
	
КонецПроцедуры
Показать


Здесь достаточно на стороне клиента использовать ПредопределенноеЗначение("Перечисление.ПолФизическогоЛица.Женский");
2. xzorkiix 34 23.06.14 17:29 Сейчас в теме
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(СтрокаXML);
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);


wsСсылка, как таковая и не нужна для разбора ответа сервиса.
3. qwinter 671 23.06.14 17:54 Сейчас в теме
(2) xzorkiix, получается двойная работа, сначала создай wsСсылку и ее свойства, а затем еще надо присвоить им значения. Кода столько же как при HTTPЗапросе, плюс созданный объект в конфигурации. Вот в упор не вижу преимуществ при их использовании.
4. xzorkiix 34 24.06.14 09:28 Сейчас в теме
(3) я хотел указать xdto пакет не нужен (оговорился). По крайней мере в рамках описанной задачи. wsСсылка о другом об обмене через протокол SOAP. В вашем случае при разборе ответа нет необходимости расписывать модель сервиса. Достаточно перед обращением к свойствам сервиса проверять их наличие.

Это если для разбора XML строки вы используете объекты XDTO

Функция Свойство(ОбъектXDTO, ИмяСвойства, Значение = Неопределено)
   Результат = Не (ОбъектXDTO.Свойства().Получить(ИмяСвойства) = Неопределено);
   Если Результат Тогда
      Значение = ОбъектXDTO[ИмяСвойства];
   КонецЕсли;
   Возварт Результат;
КонецФункции 

// . . .

Предложения = Неопределено;
Если Свойство(ОбъектXDTO, "suggestions", Предложения) Тогда
   // . . .
КонецЕсли;
Показать
theshadowco; qwinter; +2 Ответить
5. qwinter 671 24.06.14 09:35 Сейчас в теме
(4) xzorkiix, коментарии как обычно полезнее статьи)))
6. bonv 1510 25.06.14 20:32 Сейчас в теме
1.
&НаКлиенте
Функция ПолучитьОбъектXDTO(Текст, КоличествоПодсказок = 10)


Не делайте это на клиенте, в веб-клиенте работать не будет, в нем нет объекта XDTO. Лучше делать внеконтекстный вызов сервера.

2.
Тело = ОтветHTTP.ПолучитьТелоКакСтроку();	
Если Тело = "" Тогда


Это не совсем корректная проверка, если сервер вернет ошибку, то в теле будет ее описание.
Надо использовать проверку на код состояния

Если ОтветHTTP.КодСостояния = 200 Тогда


3.
структурныйТип = ФабрикаXDTO.Тип("http://www.sample-package.org", "SuggestFioResponse"); 
		
МойXML = Новый ЧтениеXML;
МойXML.УстановитьСтроку(Тело);
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(МойXML, структурныйТип);
		
Возврат ОбъектXDTO;


Собственно определять в метаданных и затем использовать объект XDTO это лишнее.
Используете анонимный объект XDTO.

ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(Тело);
ЧтениеXML.ПерейтиКСодержимому();
ОбъектXDTO = Фабрика.ПрочитатьXML(ЧтениеXML);
ЧтениеXML.Закрыть();

Возврат ОбъектXDTO;


4.
&НаКлиенте
Процедура НаименованиеАвтоПодбор(Элемент, Текст, ДанныеВыбора, Параметры, Ожидание, СтандартнаяОбработка)


В этом методе лучше подключать обработчик ожидания, скажем на 0.5 сек и уже в нем заполнять список.
И опять же лучше отказаться от клиентского кода в пользу вызова внеконтекстного серверного вызова, из которого уже возвращать список.
BigB; babys; awk; worker1c; +4 Ответить
7. qwinter 671 25.06.14 20:56 Сейчас в теме
8. chmv 30.06.14 16:28 Сейчас в теме
Любопытно, но не более
9. Патриот 450 01.07.14 12:26 Сейчас в теме
Более чем любопытно, плюсую, хороший пример демонстрации возможностей работы с интернет сервисом.Комментаторам тоже спасибо за дополнения, сейчас попробую реализовать.
10. lyalius 09.07.14 15:51 Сейчас в теме
Отличная статья, только пример нерабочий.

Проблема вот в этих двух строках:

HTTPЗапрос.Заголовки.Вставить("Authorization", "ВАШ КОД АВТОРИЗАЦИИ");
HTTPЗапрос.УстановитьТелоИзСтроки("" + Текст + "" + КоличествоПодсказок + "");

Правильно так:

HTTPЗапрос.Заголовки.Вставить("Authorization", "Token ВАШ КОД АВТОРИЗАЦИИ");
HTTPЗапрос.УстановитьТелоИзСтроки("<req><query>" + Текст + "</query><count>" + КоличествоПодсказок + "</count></req>");

Еще момент: если по введенной пользователем строке ничего не будет найдено, то код сломается на строчке
> Если ТипЗнч(ОбъектXDTO.suggestions) = Тип("СписокXDTO") Тогда
потому что свойство suggestions в ответе отсутствует.
timurkhann; olegmedvedev; ::Green::; +3 Ответить
11. Патриот 450 10.07.14 18:46 Сейчас в теме
(10) lyalius, спасибо, так работает
12. mnemchinov 107 12.07.14 18:06 Сейчас в теме
У меня заработало только так:
HTTPЗапрос.УстановитьТелоИзСтроки("<req><query>" + Текст + "" + КоличествоПодсказок + "</query></req>");


И еще вместо:
Если ТипЗнч(ОбъектXDTO) = Тип("ОбъектXDTO") Тогда
		Если ТипЗнч(ОбъектXDTO.suggestions) = Тип("СписокXDTO") Тогда


сделал:
Если ТипЗнч(ОбъектXDTO) = Тип("ОбъектXDTO") Тогда
		Если ОбъектXDTO.Свойства().Получить("suggestions") <> Неопределено Тогда
			Если ТипЗнч(ОбъектXDTO.suggestions) = Тип("СписокXDTO") Тогда


и тогда окончательно заработало
olegovich; +1 Ответить
13. oslokot 190 09.09.14 16:46 Сейчас в теме
Всем привет! у этого сервиса, как я понимаю, сменилась версия api и теперь прежняя не работает.
Пытаюсь сделать как в примере, но сервер возвращает ошибку 400.
Текст ошибки: {"detail": "JSON parse error - No JSON object could be decoded"}
Странно, вроде все как надо сделал.

HTTPЗапрос = Новый HTTPЗапрос();
	HTTPЗапрос.АдресРесурса = "/api/v2/clean";
	HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
	HTTPЗапрос.Заголовки.Вставить("charset", "UTF-8");
	HTTPЗапрос.Заголовки.Вставить("Authorization", "Token API-ключ"); 
	HTTPЗапрос.Заголовки.Вставить("X-Secret", "Секретный ключ"); 
	Стр = "{ ""structure"": [ ""ADDRESS"" ], ""data"": [ [ ""Москва, Милютинский 13"" ] ] }";
	HTTPЗапрос.УстановитьТелоИзСтроки(Стр,КодировкаТекста.UTF8); 	
	Соединение = Новый HTTPСоединение("dadata.ru",,,,Новый ИнтернетПрокси,, Новый ЗащищенноеСоединениеOpenSSL);
	ОтветHTTP = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
	
	Сообщить(ОтветHTTP.КодСостояния);
	Тело = ОтветHTTP.ПолучитьТелоКакСтроку();	
	Сообщить(Тело);
Показать

Может кто уже делал, подскажите пожалуйста где я наколбасил
14. oslokot 190 09.09.14 17:44 Сейчас в теме
(13) Сам себе и отвечу) Разобрался. Нужно перезаписать файл в кодировке UTF-8 без BOM и отправить серверу.
В общем неплохой сервис dadata.ru, жаль платный.
15. anton.fly7 173 10.09.14 08:44 Сейчас в теме
(14) покажите как вы устанавливаете тело НТТРЗапроса?
я делаю из строки, возвращает такую же ошибку
	ТекстЗапроса = "[ ""NAME"", ""PHONE"" ], ""data"": [ [ """ + Парам.Наименование + """, """ + Парам.Телефон + """ ] ]";
	
	ТекстЗапроса = "{ ""structure"": " + ТекстЗапроса + " }";
	
	HTTPЗапрос = Новый HTTPЗапрос();
	HTTPЗапрос.АдресРесурса = "/api/v2/clean";
	
	HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
	HTTPЗапрос.Заголовки.Вставить("Authorization", "Token " + Token); 
	HTTPЗапрос.Заголовки.Вставить("X-Secret", Secret);
	HTTPЗапрос.Заголовки.Вставить("charset", "UTF-8");
	HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса);
Показать
16. anton.fly7 173 10.09.14 09:01 Сейчас в теме
(15) сам себе отвечу )

	ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
	ЗТ = Новый ЗаписьТекста(ИмяВременногоФайла, КодировкаТекста.ANSI);
	ЗТ.Закрыть();
	ЗТ = Новый ЗаписьТекста(ИмяВременногоФайла,,, Истина, Символы.ПС);
	ЗТ.Записать(ТекстЗапроса);
	ЗТ.Закрыть();	
	
	HTTPЗапрос = Новый HTTPЗапрос();
	HTTPЗапрос.АдресРесурса = "/api/v2/clean";
	
	HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
	HTTPЗапрос.Заголовки.Вставить("Authorization", "Token " + Token); 
	HTTPЗапрос.Заголовки.Вставить("X-Secret", Secret);
	HTTPЗапрос.Заголовки.Вставить("charset", "UTF-8");
	//HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8); 
	HTTPЗапрос.УстановитьТелоИзДвоичныхДанных(Новый ДвоичныеДанные(ИмяВременногоФайла));
Показать
progersan; +1 Ответить
19. lyalius 17.09.14 17:06 Сейчас в теме
(14) oslokot, спасибо :) Посмотрите, у нас теперь и подсказки по ЕГРЮЛ есть.
21. oslokot 190 23.09.14 14:40 Сейчас в теме
(19) lyalius, Да-да, видел.
Может как-нибудь воспользуюсь
Пока что использую свою обработку по данным контур.фокус

Ну а так, конечно молодцы, хорошая работа!
Желаю вам успешного развития проекта!
23. lyalius 23.09.14 17:46 Сейчас в теме
(21) oslokot, спасибо, очень приятно слышать такие пожелания :)
17. Zixxx 10.09.14 18:36 Сейчас в теме
А что там по поводу SOAP?

По адресу: http://confluence.hflabs.ru/pages/viewpage.action?... существуют подсказки для протокола SOAP. Пробовал обратиться к wsdl по адресу: http://dadata.ru/suggestions/api/4_1/ws?wsdl, но в ответ получаю ошибку:

Error loading [http://dadata.ru/suggestions/api/4_1/ws?wsdl]: org.apache.xmlbeans.XmlException: org.apache.xmlbeans.XmlException: error: does not close tag

Я так понимаю что это неправильный адрес, но какой тогда правильный?
18. lyalius 17.09.14 17:05 Сейчас в теме
(17) Zixxx, правильный вот этот https://dadata.ru/api/suggest. Та страница, на которую вы сослались — это чтобы вызвать подсказки, которые у вас внутри на сервере установлены.
20. Zixxx 18.09.14 19:09 Сейчас в теме
(18) lyalius, И где там по ссылке wsdl?
22. lyalius 23.09.14 17:45 Сейчас в теме
(20) Zixxx, wsdl доступна тем, кто поставил сервис у себя в корпоративной сети. Вы не ставили и вам она не доступна. Вам нужно пользоваться вот этим сервисом: https://dadata.ru/api/suggest.
24. olegmedvedev 65 13.02.17 15:56 Сейчас в теме
HTTPЗапрос = Новый HTTPЗапрос();
HTTPЗапрос.АдресРесурса = "/api/v2/suggest/address";
	
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/xml");
HTTPЗапрос.Заголовки.Вставить("Accept", "application/xml");
HTTPЗапрос.Заголовки.Вставить("Authorization", "Token "+Token); 
HTTPЗапрос.УстановитьТелоИзСтроки("<req><query>" + Текст + "</query></req>"); 
	
Соединение = Новый HTTPСоединение("dadata.ru",,,,,, Новый ЗащищенноеСоединениеOpenSSL);
	
ОтветHTTP = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
Показать

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

изменился API dadata
26. vaad80 24.05.17 21:50 Сейчас в теме
народ, подскажите плз, делаю запрос по последней инструкции, апи текущий, как в инструкции, а в ответ приходит код ответа 200 и соответствие
"Content-Type":"application/xml; charset=UTF-8"
"Connection":"keep-alive"
"X-Powered-By":"Undertow/1"
"Vary":"Accept-Encoding"
"Server":"nginx/1.13.0"
"Date":"Wed, 24 May 2017 17:46:12 GMT"
"Transfer-Encoding":"chunked"

Поля suggestions нет(( в чем может быть ошибка?, вызываю &насервере

код
27. olegmedvedev 65 25.05.17 09:08 Сейчас в теме
(26) Ответ кода 200 - "Запрос успешно обработан", все верно делаете). Сейчас гляну и может подскажу подробнее.
28. vaad80 25.05.17 13:06 Сейчас в теме
(27)
Приветствую, со структурой разобрался, не выходило потому что результат не вогнал в тело. Сейчас приходит тегированная структура,<suggest><\suggest>
Всё ок, но это не устраивает, хотелось бы чтобы приходило в json,так как он легче и быстрее парсится 1ской.
Затык происходит у меня при json на выставке параметра запроса, текста который ищу. Строкой не проходит, возможно надо туда объект json-a впихнуть...
Может есть рабочий код с json?
29. tonimontana05 19.04.18 12:50 Сейчас в теме
(28)
HTTPЗапрос = Новый HTTPЗапрос();
HTTPЗапрос.АдресРесурса = "/api/4_1/rs/suggest/address";
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
HTTPЗапрос.Заголовки.Вставить("Accept", "application/json");
HTTPЗапрос.Заголовки.Вставить("Authorization", "Token " + "Свой токен");
HTTPЗапрос.УстановитьТелоИзСтроки("{"+"""query""" + ":" + """" + Текст + """" + "," +"""count""" + ":" + "" + КоличествоПодсказок + "" + "}",
КодировкаТекста.UTF8,
ИспользованиеByteOrderMark.НеИспользовать);

Соединение = Новый HTTPСоединение("suggestions.dadata.ru/suggestions",,,,Новый ИнтернетПрокси,, Новый
ЗащищенноеСоединениеOpenSSL);

Ответ = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
ОтветСервера = Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);

Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(ОтветСервера);
Данные = ПрочитатьJSON(Чтение);
Чтение.Закрыть();
30. JetBrain 78 19.06.19 09:21 Сейчас в теме
Сервис выдает абсолютно не актуальную информацию, ИП три раза уже закрылось и открылось , а карточка старая из ФНС загрузилась, проверили пол базы из них 50-60 % только актуально у тех кто ни чего не менял в регистрации.
Оставьте свое сообщение