Читаем реквизиты по ИНН в 1С:7.7

Обмен - Обмен через XML

Чтение реквизитов контрагентов по ИНН при оформленной подписке на сервис 1С:Контрагенты

Подписка на 1С есть. Как читать из 1С:7.7. Не обидим любимый 7.7.

«1С:Контрагент» включает следующие возможности:

  • Автоматическое заполнение реквизитов контрагентов и организаций по ИНН или наименованию на основе данных из ЕГРЮЛ/ЕГРИП и получение актуальных сведений из федеральной информационной адресной системы (ФИАС);
  • Автоматическое заполнение и проверка реквизитов инспекций ФНС и филиалов ФСС и ПФР;
  • "Досье контрагента" – отчет со сведениями, полезными для оценки благонадежности контрагентов, в том числе информация о проверках государственными органами.

Сервис доступен для оформивших подписку на сервис или подписанных на ИТС ПРОФ

Работа с сервисом доступна в начиная с версии бухгалтерии 3.0 (8.З). 

Код ниже позволит получить реквизиты по ИНН в конфигурациях 1С:7.7  после оформления подписки или имея ПРОФ подписку

Схема xml доступна по ссылке https://api.orgregister.1c.ru/orgregister/v7?wsdl (пароль и логин ИТС)

 

INN = "7721562305";  
    
//  URL="https://api.orgregister.1c.ru/orgregister/v5?wsdl";   // старая ссылка
  URL="https://api.orgregister.1c.ru/orgregister/v7?wsdl";

  WinHttp=создатьобъект("WinHttp.WinHttpRequest.5.1");  
       
  t1 = "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""no""?>  
  |<SOAP-ENV:Envelope xmlns:SOAPSDK1=""http://www.w3.org/2001/XMLSchema""   
  | xmlns:SOAPSDK2=""http://www.w3.org/2001/XMLSchema-instance""   
  | xmlns:SOAPSDK3=""http://schemas.xmlsoap.org/soap/encoding/""   
  | xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/""  
  | xmlns:ns1=""http://ws.orgregister.company1c.com/"">  
  |<SOAP-ENV:Body>  
  | <ns1:getCorporationRequisitesByINN >   
  | <ns1:INN >"+INN+"</ns1:INN>  
  | <ns1:configurationName>0</ns1:configurationName>    
  | <ns1:getCorporationRequisitesByINN>  
  |</SOAP-ENV:Body>  
  |</SOAP-ENV:Envelope>";    
  	   
  WinHttp.Open("POST",URL);    
  WinHttp.SetCredentials("Логин","Пароль",0);  //к сожалению, подписка ИТС должна быть  
  WinHttp.send(t1);  
  Ответ = WinHttp.responsetext();    
  	   
  Сообщить(WinHttp.Status);  
    
  Если WinHttp.Status = 200 тогда // выводим для отладки  
  	т1 = 1;  
  	для ии=1 по  25  Цикл  
  		Сообщить(сред(Ответ,т1,250));    
  		т1 = 	т1 + 250;  
  	КонецЦикла;  
  КонецЕсли;

 

См. также

Комментарии
1. Сергей Коцюра (CheBurator) 3541 20.01.17 22:25 Сейчас в теме
WinHttp.send(t1);
{...\ОБРАБОТКА#СПРАВОЧНИК#КОНТРАГЕНТЫ#ИНФОИЗСЕРВИСА1СКОНТРАГЕНТЫ.ERT(49)}: WinHttp.WinHttpRequest: An error occurred in the secure channel support

???
2. Сергей Коцюра (CheBurator) 3541 20.01.17 23:26 Сейчас в теме
Добился кода ответа 200
в тексте приходит
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:getCorporationRequisitesByINNResponse xmlns:ns1="http://ws.orgregister.company1c.com/"></ns1:getCorporationRequisitesByINNResponse></soap:Body></soap:Envelope>

и все..
что это такое?
с чем его курить?
где инфа?

3. Сергей Коцюра (CheBurator) 3541 21.01.17 01:44 Сейчас в теме
Итого: ИП-шников запрос не обрабатывает, возвращает, код = 200, данные пусто
4. Сергей Коцюра (CheBurator) 3541 21.01.17 01:45 Сейчас в теме
какие параметры/атрибуты/теги прописать в запросе чтобы получить инфу по ИП - не нашел...???
5. Сергей Коцюра (CheBurator) 3541 21.01.17 01:49 Сейчас в теме
для отладки подправляем запрос, пришпеляем нужное, малость парсим

t1 = "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""no""?>  
	  |<SOAP-ENV:Envelope xmlns:SOAPSDK1=""http://www.w3.org/2001/XMLSchema"" xmlns:SOAPSDK2=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:SOAPSDK3=""http://schemas.xmlsoap.org/soap/encoding/"" xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:ns1=""http://ws.orgregister.company1c.com/"">  
	  |<SOAP-ENV:Body>  
	  | <ns1:getCorporationRequisitesByINN>   
	  | <ns1:INN>"+INN+"</ns1:INN>  
	  | <ns1:configurationName>0</ns1:configurationName>    
	  | </ns1:getCorporationRequisitesByINN>  
	  |</SOAP-ENV:Body>  
	  |</SOAP-ENV:Envelope>";    
	  
	Сообщить("Текст запроса:"); Сообщить(t1); 
  	   
  WinHttp.Open("POST",URL);    
  WinHttp.SetCredentials(СокрЛП(Логин),СокрЛП(Пароль),0);  //к сожалению, подписка ИТС должна быть  //тут нифига не подписка на ИТС - вход на ИТС это совсем не вход в 1С:Контрагенты
  WinHttp.send(t1);  
  Ответ = "<?xml version=""1.0"" encoding=""windows-1251"" standalone=""no""?>"+СокрЛП(WinHttp.responsetext()); //добавляем заголовок иначе браузеры и проги матюкаются
  Ответ = СтрЗаменить(Ответ,"/><","/>"+РазделительСтрок+"<"); //разделим на строки для удобства визуального осмотра
  Ответ = СтрЗаменить(Ответ,"><",">"+РазделительСтрок+"<");
  
  Сообщить("Статус выполнения запроса: "+WinHttp.Status);  
  Если WinHttp.Status <> 200 Тогда Возврат; КонецЕсли;
	
 	Т = СоздатьОбъект("Текст"); //запихнем в файл, чтобы было
  	Т.ДобавитьСтроку(Ответ);
  	ИмяФайла = КаталогПользователя()+""+_GetPerformanceCounter()+".xml";
  	ИмяФайла = "c:\1.xml";
  	Т.Записать(ИмяФайла);
  	//ЗапуститьПриложение(ИмяФайла);

	Иксемель = СоздатьОбъект("Microsoft.XMLDOM"); //это обертка для построения более менее приличного вида для текстового просмотра
		Иксемель.Load(ИмяФайла);
		Корень = Иксемель.DocumentElement; ОбработатьУзел(Корень, 0); //тест чтения
  	Иксемель = "";
Показать
6. Александр Куденцов (kudenzov) 78 21.01.17 07:50 Сейчас в теме
7. Евгений Меркулов (lostlamer) 25.04.17 13:06 Сейчас в теме
503 - Service Unavailable. Please, use new web service https://api.orgregister.1c.ru/orgregister/v7?wsdl

Изменилась ссылка
Схема xml доступна по ссылке https://api.orgregister.1c.ru/orgregister/v7?wsdl
8. Александр Куденцов (kudenzov) 78 27.04.17 20:41 Сейчас в теме
(7) спасибо за информацию, поправил в публикации
9. Яков Коган (Yashazz) 2239 08.05.18 20:10 Сейчас в теме
Возвращает 401, добиться 200 не могу. Подписка есть. Это сервис опять скривился, или я делаю что неверно?
10. Александр Куденцов (kudenzov) 78 09.05.18 02:02 Сейчас в теме
Все работает, может у Вас прокси, см код для прокси
401 - это ошибка авторизации, по моему

Кстати работает только для логина и пароля по которому оформлена подписка ПРОФ !!!! - ограничено количество запросов
или подписки 1С Контрагентты
логин и пароль входа в личный кабинет 1С - https://login.1c.ru/login


пример для автоматической авторизации на прокси
		WinHttp.Open("POST",URL);  
		                                         
		Попытка
			WinHttp.SetCredentials(Логин,Пароль,0);      
		Исключение
			Сообщить(ОписаниеОшибки());
			Возврат 0;
		КонецПопытки;
		
		WinHttp.SetAutoLogonPolicy(0);
		s = WinHttp.SetProxy(2,"proxy.localnet.domain.ru:3128");	
//!! настройки прокси должны браться из реестра... - имя вашегопрокси
		
		Попытка
			WinHttp.send(t1);
		Исключение
			Сообщить(ОписаниеОшибки());
			Возврат 0;
		КонецПопытки;
		
		Ответ = WinHttp.responsetext();  
		лСтатус = WinHttp.Status;    
		
		Если НЕ( (лСтатус = 200) или (лСтатус = 900)) Тогда
			Сообщить("Сервис не доступен. Ошибка: "+ лСтатус ,"!");
			Сообщить(Ответ);
			Возврат 0;
		КонецЕсли;
Показать
11. Александр Куденцов (kudenzov) 78 09.05.18 02:12 Сейчас в теме
Кстати работает только для логина и пароля подписки ПРОФ !!!! - ограничено количество запросов
см в личном кабинете договор
или подписки 1С Контрагентты
Прикрепленные файлы:
12. Яков Коган (Yashazz) 2239 09.05.18 22:21 Сейчас в теме
У меня подписка КОРП, на вышеприведённую страничку логинится. Проверю прокси, спасибо!
13. Яков Коган (Yashazz) 2239 10.05.18 10:57 Сейчас в теме
Нет, не работает. То есть в Ответе ругается на авторизацию, но БП 3.0 с этими же данными к 1С-Контрагент нормально коннектится! Прокси никакой нет. Что делать - не знаю ((
Оставьте свое сообщение