1С 8.3 Заполнение информации о Контрагенте по ИНН из интернета через сервис egrul.itsoft.ru
Данные > Примеры кода 1С > 1С 8.3 Типовые (БП3, ЗУП, УТ)
Перейти в раздел примеры кода 1С 8.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
Функция ЗаполнитьПоИНН(ИНН)
СведенияКонтрагента = Новый Структура;
СведенияКонтрагента.Вставить("ИНН", ИНН);
// ИНН - Тип.Строка - Строка с ИНН
//Создаем 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"]);
КонецЕсли;
Возврат СведенияКонтрагента;
// Возвращаемое значение:
// - Структура сожержит
// *ВидКонтрагента
// *КПП
// *РегистрационныйНомер
// *Наименование
// *НаименованиеПолное
// Если организация не является ИП *ЮридическийАдрес
КонецФункции
Возврат СведенияКонтрагента;
КонецЕсли;
Если ДанныеЕГРБЛ["short_form"] <> Неопределено И ДанныеЕГРБЛ["short_form"] = "ИП" Тогда
ВидКонтрагента = Перечисления.ВидыКонтрагентовСПАРКРиски.ИндивидуальныйПредприниматель;
Иначе
ВидКонтрагента = Перечисления.ВидыКонтрагентовСПАРКРиски.ЮридическоеЛицо;
КонецЕсли;
СведенияКонтрагента.Вставить("ВидКонтрагента" , ВидКонтрагента);
СведенияКонтрагента.Вставить("КПП" , ДанныеЕГРБЛ["kpp"]);
СведенияКонтрагента.Вставить("РегистрационныйНомер" , ДанныеЕГРБЛ["ogrn"]);
СведенияКонтрагента.Вставить("Наименование" , ДанныеЕГРБЛ["short_name"]);
СведенияКонтрагента.Вставить("НаименованиеПолное" , ДанныеЕГРБЛ["full_name"]);
Если ДанныеЕГРБЛ["address"] <> Неопределено Тогда
СведенияКонтрагента.Вставить("ЮридическийАдрес", ДанныеЕГРБЛ["address"]);
КонецЕсли;
Возврат СведенияКонтрагента;
// Возвращаемое значение:
// - Структура сожержит
// *ВидКонтрагента
// *КПП
// *РегистрационныйНомер
// *Наименование
// *НаименованиеПолное
// Если организация не является ИП *ЮридическийАдрес
КонецФункции
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник