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

Чтение реквизитов контрагентов по ИНН при оформленной подписке на сервис 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;
КонецЦикла;
КонецЕсли;

 

14 Comments

  1. CheBurator

    WinHttp.send(t1);

    {…ОБРАБОТКА#СПРАВОЧНИК#КОНТРАГЕНТЫ#ИНФОИЗСЕРВИСА1СКОНТРАГЕНТЫ.ERT(49)}: WinHttp.WinHttpRequest: An error occurred in the secure channel support

    ???

    Reply
  2. CheBurator

    Добился кода ответа 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>

    и все..

    что это такое?

    с чем его курить?

    где инфа?

    Reply
  3. CheBurator

    Итого: ИП-шников запрос не обрабатывает, возвращает, код = 200, данные пусто

    Reply
  4. CheBurator

    какие параметры/атрибуты/теги прописать в запросе чтобы получить инфу по ИП — не нашел…???

    Reply
  5. CheBurator

    для отладки подправляем запрос, пришпеляем нужное, малость парсим

    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); //тест чтения
    Иксемель = «»;

    Показать

    Reply
  6. kudenzov

    getEntrepreneurRequisitesByINN

    Для ИП

    Reply
  7. lostlamer

    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

    Reply
  8. kudenzov

    (7) спасибо за информацию, поправил в публикации

    Reply
  9. Yashazz

    Возвращает 401, добиться 200 не могу. Подписка есть. Это сервис опять скривился, или я делаю что неверно?

    Reply
  10. kudenzov

    Все работает, может у Вас прокси, см код для прокси

    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;
    КонецЕсли;

    Показать

    Reply
  11. kudenzov

    Кстати работает только для логина и пароля подписки ПРОФ !!!! — ограничено количество запросов

    см в личном кабинете договор

    или подписки 1С Контрагентты

    Reply
  12. Yashazz

    У меня подписка КОРП, на вышеприведённую страничку логинится. Проверю прокси, спасибо!

    Reply
  13. Yashazz

    Нет, не работает. То есть в Ответе ругается на авторизацию, но БП 3.0 с этими же данными к 1С-Контрагент нормально коннектится! Прокси никакой нет. Что делать — не знаю ((

    Reply
  14. pridecom

    Кто делал разбор результата и заполнение полей для ТиС926, поделитесь. С меня бутылка пива.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *