![]() |
заполнение реквизитов контрагента по ИНН в 1С 7.7 Всем привет, пытаюсь написать простенькую обработку по заполнению реквизитов контрагента по ИНН в 1С 7.7 В 8ке эта опция уже есть. Остановился на ответе с сервера, не могу понять в чем причину. Пожалуйста, помогите, кто разбирается в вопросе. Заранее спасибо. Цель обработок: обратиться к focus.kontur,ru с указанием ИНН и получить какую-нибудь информацию с сайта вроде наименования контрагента. На мой взгляд, обработки идентичны, но 8ка в переменную хHTTP.responsetext() возвращает то, с чем можно работать (некий файл html, в теле которого есть и КПП и юр адрес и наименование), а 7ка возвращает какую-то ерунду, а именно: <html><head><title>Object moved</title></head><body> <h2>Object moved to <a href="/search?query=7814559591&region=&industry=&state=081077917">here</a>.</h2> </body></html> 8ка Процедура Команда1(Команда) ИНН="7814541393"; СтрокаПоиска = ИНН; СтрокаHTTPЗапроса = "https://focus.kontur.ru/search?query=<%ИНН%>®ion=<%РЕГИОН%>&industry=<%INDOSTRY%>&state=081077917"; СтрокаHTTPЗапроса = СтрЗаменить(СтрокаHTTPЗапроса, "<%ИНН%>", СокрЛП (ИНН)); СтрокаHTTPЗапроса = СтрЗаменить(СтрокаHTTPЗапроса, "<%РЕГИОН%>", ""); СтрокаHTTPЗапроса = СтрЗаменить(СтрокаHTTPЗапроса, "<%INDOSTRY%>",""); ТекстHTTPОтвета = Неопределено; хHTTP = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); хHTTP.option(1, "utf-8"); хHTTP.open ("GET", СтрокаHTTPЗапроса,0); хHTTP.send(); ТекстHTTPОтвета = хHTTP.responsetext(); КонецПроцедуры 7ка Процедура Сформировать() ИНН="7814559591"; СтрокаПоиска = ИНН; СтрокаHTTPЗапроса = "https://focus.kontur.ru/search?query=<%ИНН%>®ion=<%РЕГИОН%>&industry=<%INDOSTRY%>&state=081077917"; СтрокаHTTPЗапроса = СтрЗаменить(СтрокаHTTPЗапроса, "<%ИНН%>", СокрЛП (ИНН)); СтрокаHTTPЗапроса = СтрЗаменить(СтрокаHTTPЗапроса, "<%РЕГИОН%>", ""); СтрокаHTTPЗапроса = СтрЗаменить(СтрокаHTTPЗапроса, "<%INDOSTRY%>",""); ТекстHTTPОтвета = ""; хHTTP = СоздатьОбъект("WinHttp.WinHttpRequest.5.1"); хHTTP.option(1, "utf-8"); хHTTP.open ("GET", СтрокаHTTPЗапроса,0); хHTTP.send(); ТекстHTTPОтвета = хHTTP.responsetext(); КонецПроцедуры |
в 7-ке на любой ИНН такой ответ приходит? |
Проблема только на одном терминальном сервере, на остальных машинах запрос работает. Поэтому, вопрос закрываю. Кому надо получать / проверять данные по ИНН, пользуйтесь. Разбор ответа (парсинг) каждый пишет сам, в зависимости от задач. Процедура Сформировать() перем ТекстHTTPОтвета; ИНН="7806468421"; //здесь вводим интересующий вас ИНН СтрокаПоиска = ИНН; СтрокаHTTPЗапроса = "https://focus.kontur.ru/search?query=<%ИНН%>&state=081077917"; СтрокаHTTPЗапроса = СтрЗаменить(СтрокаHTTPЗапроса, "<%ИНН%>", СокрЛП (ИНН)); СтрокаHTTPЗапроса = СтрЗаменить(СтрокаHTTPЗапроса, "<%РЕГИОН%>", ""); СтрокаHTTPЗапроса = СтрЗаменить(СтрокаHTTPЗапроса, "<%INDOSTRY%>",""); Попытка хHTTP = СоздатьОбъект("WinHttp.WinHttpRequest.5.1"); хHTTP.open ("GET", СтрокаHTTPЗапроса,0); хHTTP.send(); ТекстHTTPОтвета = хHTTP.responsetext(); Текст = СоздатьОбъект("Текст"); Текст.ДобавитьСтроку(стрзаменить(ТекстHTTPОтвета,"utf-8","windows-1251")); Текст.Записать(Каталогпользователя() + "otvet32.htm"); сделатьразбортекста(Каталогпользователя() + "otvet32.htm");//эту процедуру парсинга каждый пишет под себя, //однозначно вытаскивается наименование, ИНН, КПП, ОКПО, ОГРН. если постараться, то и юр адрес. исключение сообщить("что-то пошло не так"); конецпопытки КонецПроцедуры |
2-nico20 > ОК :) Примечание: В среде Windows7x64 строка [em]Текст.ДобавитьСтроку(стрзаменить(ТекстHTTPОтвета," utf-8","windows-1251"));[/em] не срабатывает, и при просмотре браузером (IE, Chrome) выгрузка выглядит печально. При "ручном исправлении"(Блокнот) - получше. :) Наверно, для х64 надо использовать объект [em]adodb.Stream[/em] И еще: Попробовал в строку запроса засунуть код региона (первые два символа ИНН. Ответ пришел немного, но позже, нежели в варианте (2). Время мерял [em]_GetPerformanceCounter()[/em] |
2(0)я делал на базе сервиса ИТС от 1С. Но нужна действующая подписка, там удобнее тем, что SOAP запрос возвращает ответ в формате xml (методы "getCorporationRequisitesByINN","getEntrepreneurRequisitesByINN") |
Существует масса РАЗНЫХ юрлиц с ОДИНАКОВЫМ ИНН. |
5-DeiMos >Но ККП у них разные. |
6-victuan > Одинаковые |
И ИНН и КПП - одинаковые |
Кто-нибудь сделал в рабочем виде заполнение реквизитов контрагентов в 1с 7.7? Мне нужно вытянуть адрес контрагента в формате КЛАДР. |
(9) ищи глобальную процедуру в 7.7 ЗЫ кладр в ЗиК-е ... в остальном я тя не понил нифига - если он заполнен как попало то как ты его в кладр впихнешь ? |
(6)+ (7,8) разные КПП бывают |
10-101 >Причем здесь это? Ты сабж (0) читал? В 8-ке есть (штатное или например это [url]http://pinnp.ru/[/url]), нужно такое же прикрутить к 7.7 |
(12) хмм именно по этому и спросил ... ряззз заполнение реквизитов контрагентов в 1с 7.7 (с) двааа вытянуть адрес контрагента в формате КЛАДР (с) - такая процедура нормально работает в ЗиК - на сотрудников триии ищи глобальную процедуру в 7.7 (с) там есть разбор формата адреса ... ЗЫ что не так ? как вопрос в (9) ??? соотносится с (0) Оо ... |
+ тогда уж надо делить вопросы ... в 7.7 в контрагентах адрес неструктурированная строка ... + что ты хочешь ? шашечки или ехать ? функционал зависит от способа хранения данных ... ЗЫ как щас вспоминаю .... три знака после запятой в суммовом эквиваленте ... |
Приношу свои извинения. Да, КПП разный. У меня просто море крови выпила ситуация, когда КПП не указан. |
Вот тут ишшо [url]http://forum.infostart.ru/forum24/topic126433/message1313932/#message1313932[/url] |
выложи Проверка контрагентов.ert куданить |
Одинаковый ИНН может быть только у филиальной сети и их головной компании (один налогоплательщик), КПП - все равно у них разные. Еще бывает ситуация когда у головы и филиала разные ИНН. Это когда филиал создавался самостоятельным, а потом "влился" в холдинг с выд. балансом. Впрочем, теткам из госреестра я не верю. У совершенно разных компаний НЕ может одинакового ИНН. Поэтому ИНН+КПП - самомодостотачный идентификатор. Но тому, кто придмал в 1С77 хранить их в одном текстовом поле с нестрогим разделителем и парсить по длине строки - руки бы оторвать... Крайне непрофессиональное решение. |
14-101 >Хорошо, уточню задачу. Нужно по реквизиту ИНН (+ КПП желательно) считывать адрес контрагента с сайта ФНС (или подобного), который поддается преобразованию в формат КЛАДР. Если у меня будет строка адреса с запятыми, то это уже результат в формате КЛАДР. Если с сайта получается строка, поддающаяся преобразованию в формат КЛАДР, то это уже то, что мне надо. Но я не могу получить такую строку, например, кодом в посте #2. |
16-Чучундер >Это проверка контрагентов - такую я себе сделал давно. Не видит многих ИПшников в базе ФНС. |
20-victuan >Кстати, косячит сам сервис. Если ИПшника искать по одному - то находит как действующего, если списком - то, считает недействующим. Причем глюк не для всех ИП, для каких не понять. Отправил о глюке письмо в поддержку сайта - ни ответа, ни привета... |
[quote=xxc;38244303] выложи Проверка контрагентов.ert куданить [/quote] Смотри здесь: [url]http://forum.infostart.ru/forum24/topic126433/message1314769/?result=reply#message1314769[/url] |
19-victuan > т ак вроде сейчас уже не Кладр, а другой классификатор |
21-victuan > может затроллить их? ;-) |
23-Чучундер > В 7.7 Кладр по-прежнему. |
[quote=VZ;37853475] 2-nico20 > ОК :) Примечание: В среде Windows7x64 строка Текст.ДобавитьСтроку(стрзаменить(ТекстHTTPОтвета," utf-8","windows-1251")); не срабатывает, и при просмотре браузером (IE, Chrome) выгрузка выглядит печально.[/quote] - странно, у меня срабатывает, просто вместо " utf-8" надо указать "utf-8" |
26-perpetum > Ага ;) Слона-то я и не приметил... Полученный файл раскрывается и в Chrome, и в IE. Вываливается куча инфы, в т.ч., конечно, и адрес. Но не в формате КЛАДР, а в отдельных полях. Ну, и КПП... Регион задавать в адресной строке смысла никакого нет. Парсить не буду :) |
23-Чучундер >Мне нужно в КЛАДР для последующего формирования алкогольных деклараций в ФСРАР. |
(28) с этого нада начинать , забирай с сайта алко в формате ексель ... там можна ;))) |
+ если ты действительно про то, что я думаю - даже не пытайся оттуда забрать напрямую ... это не ресурс это ппц , проще пересохранить программно ... |
+ про проверку контрагентов - если опять же про то что я думаю то ето еще с проклаба ... |
Не лучше ли начать с вопроса ЗАЧЕМ? |
О, сколько я горя и ошибок трудных претерпел, пока не научился всем клиентам задавать вопрос: ЗАЧЕМ? |
ггггггггггггыыыыыыыыыыыыыы |
[quote=VZ;38250717] 26-perpetum > Ага ;) Слона-то я и не приметил... Полученный файл раскрывается и в Chrome, и в IE. Вываливается куча инфы, в т.ч., конечно, и адрес. Но не в формате КЛАДР, а в отдельных полях. Ну, и КПП... Регион задавать в адресной строке смысла никакого нет. Парсить не буду :) [/quote] Валера, а я пошукал по углам и ничего более доступного не увидел, потому распарсил диким образом, как мог... по технологии 0-nico20 > - спасибо, мил человек! :-) Попробуйте - интерфейс интуитивно прост и понятен. Файлик [b]ProverkaKontry_maf.rar[/b] в пределах 10 дней будет доступен: [url]http://hdd.tomsk.ru/file/qljffpiv[/url] |
35-perpetum >+ Технология проста - у существующего в справочнике базы 7.7 Контрагента должен быть ИНН, по которому делается запрос по технологии [b]0-nico20 >[/b], затем парсится адрес и, если визуально в сообщении адресной строки не видно проблем, выбираем кнопку записатьАдрес. Кроме этого, есть возможность массовой проверки контрагентов по запросу на интервале дат выборки документов с контрагентами. |
36-perpetum >Заметил описку в парсинге - вместо оператора Сред(), был задействован оператор Прав(), на удивление, он только иногда давал не нужные значения, поправил и решил дописать до обслуживания в цикле по выборке контрагентов, отработавших в документах выборки по интервалу дат. Запустил в цикле (тестирую) и с наслаждением наблюдаю, как шустро заполняются Адреса Контрагентов из запросов в систему Контур... [b]и вдруг..., пошли пустые адреса[/b] - они, естественно, не пишутся... - Всполошился..., смотрю, а в файле [b]otvet32.htm[/b] записи результата запроса к Контуру сообщение: - [b]слишком много запросов к серверу[/b], не хотите ли подключиться за плату? - Вот те на..., халява внезапно оборвалась... Исправленный файл, для работы в цикле по контрагентам файлик здесь: [url]http://hdd.tomsk.ru/file/mycxnind[/url] И вот думаю - как теперь быть с проверкой через Контур? На какое время они могут затыкать запросы на мой IP ? - Едва успел отладить и теперь что ? :-( |
37-perpetum >+ Запостил ещё сюда: [url]http://forum.infostart.ru/forum24/topic126433/message1315119/?result=reply#message1315119[/url] |
35-perpetum > я уже стянул с ИСа |
Текущее время: 15:21. Часовой пояс GMT +3. |