Каталог решений - Заполнение данных по ИНН контрагента с помощью альтернативного сервиса огрн.онлайн

Заполнение данных по ИНН контрагента с помощью альтернативного сервиса огрн.онлайн

Заполнение данных по ИНН контрагента с помощью альтернативного сервиса огрн.онлайн

В наличии

Код для заполнения данных по ИНН контрагента из ЕГРЮЛ с сайта огрн.онлайн.

Категория:

Описание

Всем доброго дня.

Во многих новых конфигурациях 1С существует сервис по заполнению данных контрагентов по ИНН. 

А что же делать тем, у кого старые конфы УТэшек или КАшек.

Можно, конечно, пилить в сторону нового сервиса 1С:

        Определение = Новый WSОпределения("https://api.orgregister.1c.ru/orgregister/v7?wsdl","логинИТС","парольИТС");
        Сервис = Новый WSПрокси(Определение,"http://ws.orgregister.company1c.com/", "RequisitesWebServiceEndpointImpl7Service", "RequisitesWebServiceEndpointImpl7Port");
        ТипWSПараметра = Сервис.ФабрикаXDTO.Пакеты.Получить("http://ws.orgregister.company1c.com/").Получить("getCorporationRequisitesByINN");
        Сервис.Пользователь = "логинИТС";
        Сервис.Пароль = "парольИТС";
        параметр = Сервис.ФабрикаXDTO.Создать(ТипWSПараметра);
        параметр.INN =  ИНН;
        Результат=Сервис.getCorporationRequisitesByINN(параметр);

И т.д… Но мы пойдем другим путем.

Хочу поделиться коротеньким кодом, который поможет страждущим в самописных или устаревших конфигурациях 1С8 не заводить информацию о клиентах ручками, а ввести лишь ИНН и получить исчерпывающую информацию о контрагенте, заметно большую чем в сервисе 1С.

Сегодня существует бесплатный платный сервис огрн.онлайн. Собственно с его помощью мы и реализуем эту функцию.

ИНН — переменная, в которую мы вобьем искомый ИНН.

Ответ — текстовый результат выполнения нашего запроса. 

Код 1С:

	ssl = Новый ЗащищенноеСоединениеOpenSSL();
	HTTPСоединение = Новый HTTPСоединение("xn--c1aubj.xn--80asehdb",443,,,,,ssl);     
	HTTPЗапрос = Новый HTTPЗапрос("интеграция/компании/?инн="+СокрлП(ИНН)); 
	Попытка
		ОтветСайта =  HTTPСоединение.Получить(HTTPЗапрос);
		ТекстJSON = ОтветСайта.ПолучитьТелоКакСтроку();
	Исключение
		Возврат;
	КонецПопытки;

	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(ТекстJSON);
	Структ = ПрочитатьJSON(ЧтениеJSON);
	ЧтениеJSON.Закрыть();

	//В данном случае нас интересует только id организации, чтобы можно было получить полную информацию с адресом в формате ФИАС
	IDОрганизации =Структ[0].id;

	HTTPЗапрос = Новый HTTPЗапрос("интеграция/компании/"+Формат(IDОрганизации,"ЧГ=")+"/"); 
	ОтветСайта =  HTTPСоединение.Получить(HTTPЗапрос);
	ТекстJSON = ОтветСайта.ПолучитьТелоКакСтроку();
	//ТекстJSON - полный ответ с данными об организации 
	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(ТекстJSON);
	Структ = ПрочитатьJSON(ЧтениеJSON);

	Ответ = "Наименование: "+СокрлП(Структ.shortName);
	Ответ = Ответ+Символы.ПС+"Полн. наименование: "+СокрлП(Структ.name);
	Ответ = Ответ+Символы.ПС+"ИНН: "+СокрлП(Структ.inn);
	Ответ = Ответ+Символы.ПС+"КПП: "+СокрлП(Структ.kpp);
	Ответ = Ответ+Символы.ПС+"ОГРН: "+СокрлП(Структ.ogrn);
	Ответ = Ответ+Символы.ПС+"Юр Адрес: "+СокрлП(Структ.address.fullAddress);
	Ответ = Ответ+Символы.ПС+"Физ Адрес: "+СокрлП(Структ.address.fullHouseAddress);

Вот и все.

Внимание! Владельцы сервиса просят пожалеть их и не выполнять массовых запросов, поэтому рекомендую всем повесить эту процедуру на кнопочку "Заполнить по ИНН", а не использовать целиком на весь справочник контрагентов за раз!  Подробнее здесь

И еще, парсер JSON появился с версии 1С 8.3.6 и в ранних версиях его нет. Но это ведь не большая проблема — из текста-то все что угодно выудить можно!  А лучше платформу все-таки обновить))

Удачи!

(20.09.2018) ВНИМАНИЕ!! К великому сожалению с момента написания статьи данный сервис перестал быть бесплатным…

has been added to your cart:
Оформление заказа