Заполнить контрагента по ИНН, Получить данные по ИНН

Razlomalo 35 2 2

Пример процедуры для получение данных юридического лица по ИНН используя бесплатное API. Данный способ был реализован на YouTube канале "IRONSKILLS".

// <Описание функции>
//
// Параметры:
//  ИНН  - Тип.Строка - Строка с ИНН
//                 <продолжение описания параметра>
//
// Возвращаемое значение:
//   <Тип.Структура>   - Структура сожержит
//									*ВидКонтрагента 
//									*КПП
//									*РегистрационныйНомер
//									*Наименование
//							     	*НаименованиеПолное
//	Если организация не является ИП *ЮредическийАдрес						
//
// Сайт API
// https://egrul.itsoft.ru/
&НаСервереБезКонтекста
Функция ЗК_ПолучитьДанныеКонтрагентаПоИНН(ИНН)
		
	ДанныеКонтрагента = Новый Структура;
	ДанныеКонтрагента.Вставить("ИНН", ИНН); 
	
	АдресСервера = "egrul.itsoft.ru";
	АдресРесурса = "/short_data/?" + ИНН;
	
	Соеденения = Новый HTTPСоединение(АдресСервера,,,,, 30, Новый ЗащищенноеСоединениеOpenSSL);
	
	Запрос = Новый HTTPЗапрос(АдресРесурса);
	
	Попытка
		Ответ = Соеденения.Получить(Запрос);	
	Исключение
		Сообщить("Не удалось получить данные по ИНН по причине: " + ОписаниеОшибки());
		Возврат ДанныеКонтрагента;
	КонецПопытки;
	
	ДанныеЕГРБЛ = Неопределено;
	
	Если Ответ.КодСостояния = 200 Тогда
		
		СтрокаJSON = Ответ.ПолучитьТелоКакСтроку();
		ЧтениеJSON = Новый ЧтениеJSON;
		ЧтениеJSON.УстановитьСтроку(СтрокаJSON);
		
		ДанныеЕГРБЛ = ПрочитатьJSON(ЧтениеJSON, Истина);
		
	Иначе
		
		Текст = СтрШаблон("Не удалось получать данные по ИНН...
							|Код состояния: %1
							|Ответ сервера: %2", Ответ.КодСостояния, СтрокаJSON);

		Сообщить(Текст);
		Возврат ДанныеКонтрагента;
	
	КонецЕсли; 
	
	Если ДанныеЕГРБЛ["short_form"] <> Неопределено И ДанныеЕГРБЛ["short_form"] = "ИП" Тогда
		ВидКонтрагента = Перечисления.ВидыКонтрагентовСПАРКРиски.ИндивидуальныйПредприниматель;
	Иначе
		ВидКонтрагента = Перечисления.ВидыКонтрагентовСПАРКРиски.ЮридическоеЛицо;
	КонецЕсли;
	
	ДанныеКонтрагента.Вставить("ВидКонтрагента"	     , ВидКонтрагента);
	ДанныеКонтрагента.Вставить("КПП"				 , ДанныеЕГРБЛ["kpp"]);
	ДанныеКонтрагента.Вставить("РегистрационныйНомер", ДанныеЕГРБЛ["ogrn"]);
	ДанныеКонтрагента.Вставить("Наименование"		 , ДанныеЕГРБЛ["short_name"]);
	ДанныеКонтрагента.Вставить("НаименованиеПолное"	 , ДанныеЕГРБЛ["full_name"]);
	                                                                                    
	Если ДанныеЕГРБЛ["address"] <> Неопределено Тогда
		ДанныеКонтрагента.Вставить("ЮредическийАдрес", ДанныеЕГРБЛ["address"]);	
	КонецЕсли;
	
	Возврат ДанныеКонтрагента;
	
КонецФункции // ЗК_ПолучитьДанныеКонтрагентаПоИНН()

Источник

1

Комментарии

ShootNICK
#1, 12 сентября 2023 15:28

В турбоконфе есть опция проверки орфографии. Рекомендую автору =)

ОфроФастКод.png


См. также

Получение данных об организации и контрагентах в типовых конфигурациях с помощью БСП

Заполнение информации о Контрагенте по ИНН через сервис api-fns.ru

ЗаполнитьДанныеВыбораАвтоподбораПоСтранам (БСП)

ЗаполнитьДополнительныеДанныеФайла (БСП)

ЗаполнитьДанныеОбновленияОбластейПерсональныхДанных (БСП)

ЗаполнитьДанныеОбновленияДанныхЗависимыхОтПроизводственныхКалендарей (БСП)

ПолучитьДанныеФайла (БСП)

ПолучитьПрефиксообразующиеРеквизиты (БСП)

Получить контактное лицо по умолчанию

Модератору