gifts2017

Использование WEB сервиса для проверки ИНН/КПП контрагента

Опубликовал Евгений - (zenechka) в раздел Обработки - Обработка справочников

Проверка корректности ИНН/КПП с помощью сервиса "Проверка контрагента" от ФНС России.
Цель
Избежать ошибок в предоставляемых сведениях из книг и журналов, в части заполнения идентификационных реквизитов контрагентов (ИНН, КПП).

Выбор сервиса 
 

Для проверки корректности ИНН/КПП будем использовать сервис "Проверка контрагента" от ФНС России.
На текущий момент у данного сервиса доступен SOAP второй версия интерфейса с расширенными возможностями.
 
Описание сервиса 
Итак, что имеем на входе 
XSD схема запроса - http://npchk.nalog.ru/FNSNDSCAWS_2?xsd=1
XSD схема ответа - http://npchk.nalog.ru/FNSNDSCAWS_2?xsd=2  
 
Порядок работы с веб-сервисом следующий:
  • передаем данные по контрагентам, которые надо проверить
  • получаем результат проверки по переданному списку контрагентов  
Необходимо заполнить "коллекцию" NP структуры NdsRequest2 данными по проверяемым контрагентам (максимальное количество проверяемых контрагентов за один запрос = 10000).
 
Поля структуры запроса следующие: INN, KPP(необязательное поле), DT (необязательное поле)
 
 
В качестве ответа мы получаем коллекцию со статусами(атрибут State) проверенных контрагентов:

Для ЮЛ:
 
0 - Налогоплательщик зарегистрирован в ЕГРН и имел статус действующего в указанную дату
1 - Налогоплательщик зарегистрирован в ЕГРН, но не имел статус действующего в указанную дату
2 - Налогоплательщик зарегистрирован в ЕГРН
3 - Налогоплательщик с указанным ИНН зарегистрирован в ЕГРН, КПП не соответствует ИНН или не указан*

4 - Налогоплательщик с указанным ИНН не зарегистрирован в ЕГРН
5 - Некорректный ИНН
6 - Недопустимое количество символов ИНН
7 - Недопустимое количество символов КПП
8 - Недопустимые символы в ИНН
9 - Недопустимые символы в КПП
11 - некорректный формат даты
12 - некорректная дата (ранее 01.01.1991 или позднее текущей даты)
 
 
Для ИП:
 
0 - Налогоплательщик зарегистрирован в ЕГРН и имел статус действующего в указанную дату
1 - Налогоплательщик зарегистрирован в ЕГРН, но не имел статус действующего в указанную дату
2 - Налогоплательщик зарегистрирован в ЕГРН
4 - Налогоплательщик с указанным ИНН не зарегистрирован в ЕГРН
5 - Некорректный ИНН
6 - Недопустимое количество символов ИНН
8 - Недопустимые символы в ИНН
10 - КПП не должен использоваться при проверке ИП
11 - некорректный формат даты
12 - некорректная дата (ранее 01.01.1991 или позднее текущей даты)
 
Реализация в 1С 
Создадим WSпрокси для подключения к сервису и объект "Запрос" (ссылка на ИТС) 
Используем следующие объекты 1С:   
Новый WSОпределения(<МестоположениеWSDL>, <ИмяПользователя>, <Пароль>, <ИнтернетПрокси>, <Таймаут>, <ЗащищенноеСоединение>)
Новый WSПрокси(<Определение>, <URIПространстваИменСервиса>, <ИмяСервиса>, <ИмяТочкиПодключения>, <ИнтернетПрокси>, <Таймаут>, <ЗащищенноеСоединение>) 
ФабрикаXDTO.Создать(<Тип>, <Значение>)   

Параметры веб-сервиса можно посмотреть по адресу http://npchk.nalog.ru/FNSNDSCAWS_2:
 
 
Получаем следующий код: 
Определение = Новый WSОпределения(http://npchk.nalog.ru/FNSNDSCAWS_2?wsdl);
Прокси = Новый WSПрокси(Определение, "http://ws.unisoft", "FNSNDSCAWS2", "FNSNDSCAWS2_Port");
Запрос = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип(ПространствоИмен, "NdsRequest2"));
Заполним коллекцию Запрос.NP.  Создадим структуру: 
Контрагент = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://ws.unisoft/FNSNDSCAWS2/Request", "NdsRequest2_NP"));
 
Структура Контрагент содержит следующие атрибуты: 
 
<xs:attribute name="INN" type="tns:ИННТип" use="required">
<xs:attribute name="KPP" type="tns:КППТип" use="optional">
<xs:attribute name="DT" type="tns:ДатаТип" use="optional">  
 

 
Пусть данные по контрагентам находятся в некоторой таблице ДанныеПоКонтрагентам с полями {ИНН, КПП, ДатаДляПроверки}. Заполним из этой таблицы коллекцию контрагентов для веб-сервиса:
Для каждого ДанныеПоКонтрагенту Из ДанныеПоКонтрагентам Цикл 
   Контрагент.INN = ДанныеПоКонтрагенту.ИНН; 
   Контрагент.KPP = ДанныеПоКонтрагенту.КПП; 
   Контрагент.DT = Формат(текДата, "ДФ=dd.MM.yyyy");
 
   Запрос.NP.Добавить(Контрагент); 
КонецЦикла;   
 
Передадим веб-сервису данные и выполним запрос:
РезультатЗапроса = Прокси.NdsRequest2(Запрос);
 
Получим состояние по каждому контрагенту(как уже определили выше, состояние находится в поле State коллекции NP):
Для каждого ОтветДляКонтрагента из РезультатЗапроса.NP Цикл 
   Сообщить(ОтветДляКонтрагента.State);
КонецЦикла;
 
Конфигурацию с объектами для проверки ИНН/КПП с помощью сервиса ФНС можно скачать за символическую плату ниже.
 
Состав объектов конфигурации: 
  • Общие модули: ПроверкаКонтрагентов
  • Регламентные задания: ПроверкаКонтрагентов
  • Справочники.Контрагенты
  • Перечисления: СостоянияСуществованияКонтрагента
  • Регистры сведений: СостоянияКонтрагентов

Отблагодарить автора

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Конфигурация с объектами для проверки ИНН/КПП с помощью сервиса ФНС
.cf 14,27Kb
20.07.16
10
.cf 14,27Kb 10 Скачать

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа