1С 8.3 Заполнение информации о Контрагенте по ИНН из интернета через сервис egrul.itsoft.ru - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Заполнение информации о Контрагенте по ИНН из интернета через сервис egrul.itsoft.ru

Данные > Примеры кода 1С > 1С 8.3 Типовые (БП3, ЗУП, УТ)
  • Получение формата данных JSON с помощью стандартного GET - запроса;
  • Необходимо учитывать что подключение защищенное (нужно указать параметр СоединениеOpenSSL в http-соединении, иначе будет получен редирект);
  • Описание API: https://egrul.itsoft.ru/
Программное заполнение инфо о контрагента по ИНН через egrul.itsoft.ru для 1С 8.3:
&НаСервереБезКонтекста
Функция ЗаполнитьПоИНН(ИНН)

   СведенияКонтрагента = Новый Структура;
   СведенияКонтрагента.Вставить("ИНН", ИНН);
   //  ИНН  - Тип.Строка - Строка с ИНН

   //Создаем HTTPS-соединение, GET-запрос;
   hostname         = "egrul.itsoft.ru"; // Сайт API https://egrul.itsoft.ru/
   resourse           = "/short_data/?" + ИНН;
   httpconn           = Новый HTTPСоединение(hostname ,,,,, 5, Новый ЗащищенноеСоединениеOpenSSL());
   httprequest       = Новый HTTPЗапрос(resourse);

   Попытка
       Ответ = httpconn.Получить(httprequest);
   Исключение
       Сообщить("Не удалось получить данные по ИНН по причине: " + ОписаниеОшибки());
       Возврат СведенияКонтрагента;
   КонецПопытки;

   ДанныеЕГРБЛ = Неопределено;

   Если Ответ.КодСостояния = 200 Тогда
       СтрокаJSON = Ответ.ПолучитьТелоКакСтроку();
       ЧтениеJSON = Новый ЧтениеJSON;
       ЧтениеJSON.УстановитьСтроку(СтрокаJSON);
       ДанныеЕГРБЛ = ПрочитатьJSON(ЧтениеJSON, Истина);
   Иначе
       Текст = СтрШаблон("Не удалось получать данные по ИНН...
                                        |Код состояния: %1
                                        |Ответ сервера: %2", Ответ.КодСостояния, СтрокаJSON);
       Сообщить(Текст);
       Возврат СведенияКонтрагента;
   КонецЕсли;

   Если ДанныеЕГРБЛ["short_form"] <> Неопределено И ДанныеЕГРБЛ["short_form"] = "ИП" Тогда
       ВидКонтрагента = Перечисления.ВидыКонтрагентовСПАРКРиски.ИндивидуальныйПредприниматель;
   Иначе
       ВидКонтрагента = Перечисления.ВидыКонтрагентовСПАРКРиски.ЮридическоеЛицо;
   КонецЕсли;

   СведенияКонтрагента.Вставить("ВидКонтрагента"               , ВидКонтрагента);
   СведенияКонтрагента.Вставить("КПП"                                   , ДанныеЕГРБЛ["kpp"]);
   СведенияКонтрагента.Вставить("РегистрационныйНомер"  , ДанныеЕГРБЛ["ogrn"]);
   СведенияКонтрагента.Вставить("Наименование"                  , ДанныеЕГРБЛ["short_name"]);
   СведенияКонтрагента.Вставить("НаименованиеПолное"     , ДанныеЕГРБЛ["full_name"]);

   Если ДанныеЕГРБЛ["address"] <> Неопределено Тогда
       СведенияКонтрагента.Вставить("ЮридическийАдрес", ДанныеЕГРБЛ["address"]);
   КонецЕсли;

   Возврат СведенияКонтрагента;

   // Возвращаемое значение:
   //      - Структура сожержит
   //                                    *ВидКонтрагента
   //                                    *КПП
   //                                    *РегистрационныйНомер
   //                                    *Наименование
   //                                   *НаименованиеПолное
   //    Если организация не является ИП *ЮридическийАдрес

КонецФункции
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 11.10.2021
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому