![]() |
|
Реквизиты контрагента nalog.ru | ☑ | ||
---|---|---|---|---|
0
skupidom
13.06.18
✎
10:45
|
Коллеги написал запрос по проверке ИНН в 1С УФ.
Как скорректировать код,чтобы получить реквизиты контрагента: ОГРН,адрес,.. Определение = Новый WSОпределения("http://npchk.nalog.ru/FNSNDSCAWS_2?wsdl"); Прокси = Новый WSПрокси(Определение, "http://ws.unisoft", "FNSNDSCAWS2", "FNSNDSCAWS2_Port"); Запрос = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://ws.unisoft/FNSNDSCAWS2/Request", "NdsRequest2")); Контрагент = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://ws.unisoft/FNSNDSCAWS2/Request", "NdsRequest2_NP")); Контрагент.INN = ИНН; Контрагент.KPP = КПП; Контрагент.DT = Формат(ТекущаяДата(),"ДФ=dd.MM.yyyy"); Запрос.NP.Добавить(Контрагент); Результат = Прокси.NdsRequest2(Запрос); |
|||
1
Cyberhawk
13.06.18
✎
10:48
|
Чудак, в типах XSD нет нужных тебе полей, с какого х..олодца ты решил что там будут ОГРН и адрес?
|
|||
2
zippygrill
13.06.18
✎
10:49
|
и не забудь что запросы ограничены :)
Типа 500 запросов/месяц |
|||
3
skupidom
13.06.18
✎
10:51
|
сторонний сервис есть примеры?
|
|||
4
novichok79
13.06.18
✎
10:55
|
(3) dadata.ru есть
блин, а зачем так сложна? Определение = Новый WSОпределения("http://npchk.nalog.ru/FNSNDSCAWS_2?wsdl";); Прокси = Новый WSПрокси(Определение, "http://ws.unisoft";, "FNSNDSCAWS2", "FNSNDSCAWS2_Port"); Запрос = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://ws.unisoft/FNSNDSCAWS2/Request";, "NdsRequest2")); Контрагент = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://ws.unisoft/FNSNDSCAWS2/Request";, "NdsRequest2_NP")); вот кстати https://сайт_чье_имя_нельзя_упоминать/public/439808/ |
|||
5
novichok79
13.06.18
✎
11:01
|
dadata.ru:
ТелоЗапроса = Новый Структура; ТелоЗапроса.Вставить("query", ИНН); ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(, , , , , , , , Ложь); ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON); ЗаписатьJSON(ЗаписьJSON, ТелоЗапроса); ТелоЗапросаСтрокой = ЗаписьJSON.Закрыть(); HTTPЗапрос = Новый HTTPЗапрос(ПутьКСервису); HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json"); HTTPЗапрос.Заголовки.Вставить("Accept", "application/json"); HTTPЗапрос.Заголовки.Вставить("Authorization", "Token " + APIКлючDaData); HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапросаСтрокой); Попытка HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос); Исключение БылиОшибкиПриОтправкеHTTPЗапроса = Истина; ОписаниеОшибкиПриОтправкеHTTPЗапроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'При получении данных контрагента по ИНН на DaData.Ru произошла ошибка: |%1'"), ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); МассивОшибок.Добавить(ОписаниеОшибкиПриОтправкеHTTPЗапроса); ЗаписьЖурналаРегистрации( ИмяСобытияВЖурналеРегистрации, УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибкиПриОтправкеHTTPЗапроса); КонецПопытки; Если Не БылиОшибкиПриОтправкеHTTPЗапроса Тогда Если HTTPОтвет = Неопределено Тогда БылиОшибкиПриРасшифровкеHTTPОтвета = Истина; ОписаниеОшибкиПриРасшифровкеHTTPОтвета = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'При получении данных контрагента по ИНН на DaData.Ru произошла ошибка: |%1'"), НСтр("ru = 'Ответ сервера не получен'")); МассивОшибок.Добавить(ОписаниеОшибкиПриРасшифровкеHTTPОтвета); ЗаписьЖурналаРегистрации( ИмяСобытияВЖурналеРегистрации, УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибкиПриРасшифровкеHTTPОтвета); ИначеЕсли HTTPОтвет.КодСостояния <> 200 Тогда БылиОшибкиПриРасшифровкеHTTPОтвета = Истина; ОписаниеОшибкиПриРасшифровкеHTTPОтвета = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'При получении данных контрагента по ИНН на DaData.Ru произошла ошибка: |Код состояния сервера = %1'"), HTTPОтвет.КодСостояния); МассивОшибок.Добавить(ОписаниеОшибкиПриРасшифровкеHTTPОтвета); ЗаписьЖурналаРегистрации( ИмяСобытияВЖурналеРегистрации, УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибкиПриРасшифровкеHTTPОтвета); КонецЕсли; Если Не БылиОшибкиПриРасшифровкеHTTPОтвета Тогда ТекстHTTPОтвета = HTTPОтвет.ПолучитьТелоКакСтроку(); Если Не ЗначениеЗаполнено(ТекстHTTPОтвета) Тогда БылиОшибкиПриРасшифровкеHTTPОтвета = Истина; ОписаниеОшибкиПриРасшифровкеHTTPОтвета = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'При получении данных контрагента по ИНН на DaData.Ru произошла ошибка: |%1'"), НСтр("ru = 'Получен пустой ответ сервера'")); МассивОшибок.Добавить(ОписаниеОшибкиПриРасшифровкеHTTPОтвета); ЗаписьЖурналаРегистрации( ИмяСобытияВЖурналеРегистрации, УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибкиПриРасшифровкеHTTPОтвета); Иначе Попытка ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(ТекстHTTPОтвета); ОтветСервера = ПрочитатьJSON(ЧтениеJSON); Исключение БылиОшибкиПриРасшифровкеHTTPОтвета = Истина; ОписаниеОшибкиПриРасшифровкеHTTPОтвета = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'При получении данных контрагента по ИНН на DaData.Ru произошла ошибка |%1'"), ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); МассивОшибок.Добавить(ОписаниеОшибкиПриРасшифровкеHTTPОтвета); ЗаписьЖурналаРегистрации( ИмяСобытияВЖурналеРегистрации, УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибкиПриРасшифровкеHTTPОтвета); КонецПопытки; |
|||
6
skupidom
13.06.18
✎
11:02
|
есть рабочий пример по реквизитам контрагента по ИНН ?
|
|||
7
skupidom
13.06.18
✎
11:11
|
как с nalog.ru взять данные, может используя HTTPСоединение ?
|
|||
8
dezss
13.06.18
✎
11:16
|
(7) покажи страничку на налог.ру, где такие данные можно посмотреть.
|
|||
9
novichok79
13.06.18
✎
11:18
|
(6) я тебе его скинул в (5) правда там dadata.ru
|
|||
10
novichok79
13.06.18
✎
11:19
|
(7) а как еще можно в 1С? у меня в нелтенке dadata.ru и egrul.nalog.ru, через egrul.nalog.ru пришлось еще получать капчу и токен капчи с сайта.
|
|||
11
skupidom
13.06.18
✎
11:27
|
эти параметры:
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json"); HTTPЗапрос.Заголовки.Вставить("Accept", "application/json"); HTTPЗапрос.Заголовки.Вставить("Authorization", "Token " + APIКлючDaData); |
|||
12
skupidom
13.06.18
✎
11:27
|
что это за параметры?
|
|||
13
dezss
13.06.18
✎
11:29
|
(11) (12) это заголовки хттп-запроса.
|
|||
14
skupidom
13.06.18
✎
11:30
|
ПутьКСервису что здесь?
|
|||
15
novichok79
13.06.18
✎
11:32
|
(12) все написано в документации к API
https://dadata.ru/api/find-party/ (14) https://suggestions.dadata.ru есть даже православный пример работы: http://poly-soft.ru/public/595325/ |
|||
16
skupidom
13.06.18
✎
11:43
|
это платный сервис,есть пример с бесплатным?
|
|||
17
novichok79
13.06.18
✎
11:46
|
(16) пример то есть, но работать за тебя не хочется. в dadata.ru определение по ИНН бесплатно до 10000 запросов в день, по-моему.
|
|||
18
Cyberhawk
13.06.18
✎
11:48
|
Однако, какой борзой ТС попался ))
|
|||
19
skupidom
13.06.18
✎
11:53
|
борзой кто пишет!
|
|||
20
skupidom
13.06.18
✎
11:56
|
сервис -платный,а пример похожий на приведенный далее код (приведенный не работает,ошибка:{"error" : "Access is denied"})
Код: ssl = Новый ЗащищенноеСоединениеOpenSSL(); HTTPСоединение = Новый HTTPСоединение("xn--c1aubj.xn--80asehdb",443,,,,,ssl); HTTPЗапрос = Новый HTTPЗапрос("интеграция/компании/?инн="+СокрлП(Стр.ИННЖКХ));// Стр.ИННКазна Попытка ОтветСайта = HTTPСоединение.Получить(HTTPЗапрос); ТекстJSON = ОтветСайта.ПолучитьТелоКакСтроку(); Исключение Возврат; КонецПопытки; ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(ТекстJSON); Структ = ПрочитатьJSON(ЧтениеJSON); ЧтениеJSON.Закрыть(); 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); |
|||
21
novichok79
13.06.18
✎
11:58
|
(19) тебе и так кусок рабочего кода из нетленки был дан бесплатно (!!!). что еще нужно? парсинг ответа? мне это не оплачивается.
(20) у меня определение по ИНН в (5) работает бесплатно. на счету dadata.ru лежат 10 рублей, которые были подарены сайтом при регистрации. |
|||
22
dezss
13.06.18
✎
12:05
|
(20) а токен получить и указать в заголовках тебе религия не позволяет?
Тебе ж рабочий пример уже дали, просто подставь свои значения!!! (15) утащил к себе...прикольный у них сервис...даж скрипт для сайта дают) |
|||
23
novichok79
13.06.18
✎
12:15
|
(22) буквально на прошлой неделе решал похожую задачу в своей нетленке. внедрил туда заполнение контрагента по egrul.nalog.ru и dadata.ru. из похожих сервисов есть еще focus.kontur.ru и http://www.fedresurs.ru, их не внедрил, ибо 2-х сервисов и так достаточно, я думаю.
|
|||
24
skupidom
13.06.18
✎
12:22
|
какое было решение? через приведенный Вами код JSON?
|
|||
25
novichok79
13.06.18
✎
12:25
|
(24) цитирую сам себя же:
внедрил туда заполнение контрагента по egrul.nalog.ru и dadata.ru |
|||
26
dezss
13.06.18
✎
12:31
|
(23) а где документация по egrul.nalog.ru?
чета сразу не увидел |
|||
27
skupidom
13.06.18
✎
12:34
|
есть обработка для извлечения данных с egrul.nalog.ru ?
|
|||
28
novichok79
13.06.18
✎
12:38
|
(26) документации я тоже не нашел, на инфостарте есть обработки заполнения, видимо кто-то из html на сайте вытащил вызов. в обработках используются COMОбъекты, у меня сервак на линухе, пришлось переписывать под типовые методы 1С, в итоге оказалось что можно обойтись и без COMОбъектов.
|
|||
29
dezss
13.06.18
✎
12:58
|
(28) интересно, а как обошли использование капчи?
или там нашли какой-то прямой вызов? |
|||
30
novichok79
13.06.18
✎
13:01
|
(29) а никак похоже. я не видел таких решений, разве что
https://сайт_чье_имя_нельзя_упоминать/public/439808/ но там не egrul.nalog.ru схема такая - сначала получаю токен капчи с картинкой, потом пользак вводит капчу, я передаю значение капчи вместе с токеном в процедуру получения данных. |
|||
31
catena
13.06.18
✎
13:08
|
(30)Зачем так сложно, можно же так: http://catalog.mista.ru/public/439808/
|
|||
32
skupidom
13.06.18
✎
13:10
|
здесь можно получить только state, но не заполнить реквизиты контрагента
|
|||
33
novichok79
13.06.18
✎
13:32
|
(31) вы привели мою же ссылку.
|
|||
34
catena
13.06.18
✎
13:36
|
(33)Но она открывается без доп.телодвижений
|
|||
35
novichok79
13.06.18
✎
13:37
|
(34) браво!
|
|||
36
skupidom
13.06.18
✎
14:05
|
Коллеги, нужен пример получения реквизитов контрагента через сторонний сервис по ИНН, не лимитированный..
|
|||
37
Cyberhawk
13.06.18
✎
14:11
|
Мда, борзота, озвученная мною еще в (18), растет как на дрожжах! ))
|
|||
38
piter3
13.06.18
✎
14:12
|
(36) я пас.
|
|||
39
Aleksey
13.06.18
✎
14:12
|
(36) А что уже есть такой сервис? Все сервисы имеют то или иное ограничение,
|
|||
40
skupidom
13.06.18
✎
14:26
|
самый оптимальный из них какой?
|
|||
41
skupidom
13.06.18
✎
14:27
|
к которому возможно самое большое кол-во обращений за сутки?
|
|||
42
novichok79
13.06.18
✎
14:56
|
Когда у вас нет собаки,
Ее не отравит сосед, И с другом не будет драки, Когда у вас друга нет. А ударник гремит басами, А трубач выжимает медь — Думайте сами, решайте сами, Иметь или не иметь... |
|||
43
dezss
13.06.18
✎
15:13
|
(41) блин...неужели 10к обращений в сутки - это мало?
|
|||
44
LienXo
13.06.18
✎
15:24
|
(43) там 10к хитрые немного. Но, в принципе базу на 30к контрагентов за неделю я проверил
|
|||
45
dezss
13.06.18
✎
15:40
|
(44) в чем хитрость?
|
|||
46
Aleksey
13.06.18
✎
16:08
|
(40) так все они за платно готовы анлим предоставить. Откуда нам знать в чем оптимальность?
|
|||
47
Aleksey
13.06.18
✎
16:14
|
Вот даже налог.ру формально стоят 5000 за 1 запрос или 150 тысяч в год
https://normativ.kontur.ru/document?moduleId=1&documentId=257561 |
|||
48
LienXo
13.06.18
✎
17:07
|
(45) 10к не "запросов" а "ответов". Т.е. ты ввел ИНН 10 знаков, не поставил отборы - тебе вернули организацию и 10 ИПшников - 11 ответов ты потратил. Примерно так
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |