К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

заполнение реквизитов контрагента по ИНН в 1С 7.7

Гость
0 - 22.01.2015 - 15:02
Всем привет,
пытаюсь написать простенькую обработку по заполнению реквизитов контрагента по ИНН в 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&amp;region=&amp;industry=& amp;state=081077917">here</a>.</h2>
</body></html>



8ка
Процедура Команда1(Команда)
ИНН="7814541393";
СтрокаПоиска = ИНН;
СтрокаHTTPЗапроса = "https://focus.kontur.ru/search?query=<%ИНН%>&region=<%РЕГИОН%>&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=<%ИНН%>&region=<%РЕГИОН%>&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();
КонецПроцедуры



1 - 22.01.2015 - 15:38
в 7-ке на любой ИНН такой ответ приходит?
Гость
2 - 26.01.2015 - 17:47
Проблема только на одном терминальном сервере, на остальных машинах запрос работает. Поэтому, вопрос закрываю.
Кому надо получать / проверять данные по ИНН, пользуйтесь. Разбор ответа (парсинг) каждый пишет сам, в зависимости от задач.
Процедура Сформировать()
перем Текст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");//эту процедуру парсинга каждый пишет под себя,
//однозначно вытаскивается наименование, ИНН, КПП, ОКПО, ОГРН. если постараться, то и юр адрес.

исключение
сообщить("что-то пошло не так");
конецпопытки


КонецПроцедуры
Гость
3 - 26.01.2015 - 21:44
2-nico20 > ОК :)
Примечание: В среде Windows7x64 строка Текст.ДобавитьСтроку(стрзаменить(ТекстHTTPОтвета," utf-8","windows-1251")); не срабатывает, и при просмотре браузером (IE, Chrome) выгрузка выглядит печально. При "ручном исправлении"(Блокнот) - получше. :)
Наверно, для х64 надо использовать объект adodb.Stream
И еще: Попробовал в строку запроса засунуть код региона (первые два символа ИНН. Ответ пришел немного, но позже, нежели в варианте (2). Время мерял _GetPerformanceCounter()
Гость
4 - 27.01.2015 - 00:27
2(0)я делал на базе сервиса ИТС от 1С. Но нужна действующая подписка, там удобнее тем, что SOAP запрос возвращает ответ в формате xml (методы "getCorporationRequisitesByINN","getEntrepreneurRe quisitesByINN")
Гость
5 - 27.01.2015 - 08:47
Существует масса РАЗНЫХ юрлиц с ОДИНАКОВЫМ ИНН.
6 - 27.01.2015 - 10:18
5-DeiMos >Но ККП у них разные.
Гость
7 - 27.01.2015 - 11:35
6-victuan > Одинаковые
Гость
8 - 27.01.2015 - 11:36
И ИНН и КПП - одинаковые
9 - 05.03.2015 - 14:27
Кто-нибудь сделал в рабочем виде заполнение реквизитов контрагентов в 1с 7.7?
Мне нужно вытянуть адрес контрагента в формате КЛАДР.
Гость
10 - 05.03.2015 - 18:11
(9) ищи глобальную процедуру в 7.7
ЗЫ кладр в ЗиК-е ...
в остальном я тя не понил нифига - если он заполнен как попало то как ты его в кладр впихнешь ?
Гость
11 - 05.03.2015 - 18:20
(6)+
(7,8) разные КПП бывают
12 - 05.03.2015 - 19:28
10-101 >Причем здесь это?
Ты сабж (0) читал?
В 8-ке есть (штатное или например это http://pinnp.ru/), нужно такое же прикрутить к 7.7
Гость
13 - 05.03.2015 - 19:43
(12) хмм именно по этому и спросил ...
ряззз заполнение реквизитов контрагентов в 1с 7.7 (с)
двааа вытянуть адрес контрагента в формате КЛАДР (с)
- такая процедура нормально работает в ЗиК - на сотрудников
триии ищи глобальную процедуру в 7.7 (с) там есть разбор формата адреса ...
ЗЫ что не так ? как вопрос в (9) ??? соотносится с (0) Оо ...
Гость
14 - 05.03.2015 - 19:49
+ тогда уж надо делить вопросы ... в 7.7 в контрагентах адрес неструктурированная строка ...
+ что ты хочешь ? шашечки или ехать ? функционал зависит от способа хранения данных ...
ЗЫ как щас вспоминаю .... три знака после запятой в суммовом эквиваленте ...
Гость
15 - 05.03.2015 - 20:18
Приношу свои извинения. Да, КПП разный.
У меня просто море крови выпила ситуация, когда КПП не указан.
16 - 05.03.2015 - 23:35
Вот тут ишшо
http://forum.infostart.ru/forum24/to...message1313932
Гость
17 - 06.03.2015 - 07:12
выложи Проверка контрагентов.ert куданить
Гость
18 - 06.03.2015 - 08:32
Одинаковый ИНН может быть только у филиальной сети и их головной компании (один налогоплательщик), КПП - все равно у них разные. Еще бывает ситуация когда у головы и филиала разные ИНН. Это когда филиал создавался самостоятельным, а потом "влился" в холдинг с выд. балансом. Впрочем, теткам из госреестра я не верю.

У совершенно разных компаний НЕ может одинакового ИНН. Поэтому ИНН+КПП - самомодостотачный идентификатор. Но тому, кто придмал в 1С77 хранить их в одном текстовом поле с нестрогим разделителем и парсить по длине строки - руки бы оторвать... Крайне непрофессиональное решение.
19 - 06.03.2015 - 09:51
14-101 >Хорошо, уточню задачу. Нужно по реквизиту ИНН (+ КПП желательно) считывать адрес контрагента с сайта ФНС (или подобного), который поддается преобразованию в формат КЛАДР.
Если у меня будет строка адреса с запятыми, то это уже результат в формате КЛАДР. Если с сайта получается строка, поддающаяся преобразованию в формат КЛАДР, то это уже то, что мне надо.
Но я не могу получить такую строку, например, кодом в посте #2.
20 - 06.03.2015 - 09:54
16-Чучундер >Это проверка контрагентов - такую я себе сделал давно. Не видит многих ИПшников в базе ФНС.
21 - 06.03.2015 - 09:57
20-victuan >Кстати, косячит сам сервис. Если ИПшника искать по одному - то находит как действующего, если списком - то, считает недействующим.
Причем глюк не для всех ИП, для каких не понять.
Отправил о глюке письмо в поддержку сайта - ни ответа, ни привета...
Гость
22 - 06.03.2015 - 12:49
Цитата:
Сообщение от xxc Посмотреть сообщение
выложи Проверка контрагентов.ert куданить
Смотри здесь:
http://forum.infostart.ru/forum24/to...message1314769
23 - 06.03.2015 - 12:51
19-victuan > т ак вроде сейчас уже не Кладр, а другой классификатор
24 - 06.03.2015 - 12:52
21-victuan > может затроллить их? ;-)
Гость
25 - 06.03.2015 - 13:29
23-Чучундер > В 7.7 Кладр по-прежнему.
Гость
26 - 06.03.2015 - 14:08
Цитата:
Сообщение от VZ Посмотреть сообщение
2-nico20 &gt; ОК :) Примечание: В среде Windows7x64 строка Текст.ДобавитьСтроку(стрзаменить(ТекстHTTPОтвета," utf-8","windows-1251")); не срабатывает, и при просмотре браузером (IE, Chrome) выгрузка выглядит печально.
- странно, у меня срабатывает, просто вместо " utf-8" надо указать "utf-8"
Гость
27 - 06.03.2015 - 16:36
26-perpetum > Ага ;) Слона-то я и не приметил...
Полученный файл раскрывается и в Chrome, и в IE. Вываливается куча инфы, в т.ч., конечно, и адрес.
Но не в формате КЛАДР, а в отдельных полях. Ну, и КПП...
Регион задавать в адресной строке смысла никакого нет.
Парсить не буду :)
28 - 06.03.2015 - 17:49
23-Чучундер >Мне нужно в КЛАДР для последующего формирования алкогольных деклараций в ФСРАР.
Гость
29 - 06.03.2015 - 19:17
(28) с этого нада начинать , забирай с сайта алко в формате ексель ... там можна ;)))
Гость
30 - 06.03.2015 - 19:21
+ если ты действительно про то, что я думаю - даже не пытайся оттуда забрать напрямую ... это не ресурс это ппц , проще пересохранить программно ...
Гость
31 - 06.03.2015 - 19:23
+ про проверку контрагентов - если опять же про то что я думаю то ето еще с проклаба ...
Гость
32 - 07.03.2015 - 14:51
Не лучше ли начать с вопроса ЗАЧЕМ?
Гость
33 - 07.03.2015 - 14:55
О, сколько я горя и ошибок трудных претерпел, пока не научился всем клиентам задавать вопрос: ЗАЧЕМ?
Гость
34 - 07.03.2015 - 14:58
ггггггггггггыыыыыыыыыыыыыы
Гость
35 - 07.03.2015 - 19:08
Цитата:
Сообщение от VZ Посмотреть сообщение
26-perpetum &gt; Ага ;) Слона-то я и не приметил... Полученный файл раскрывается и в Chrome, и в IE. Вываливается куча инфы, в т.ч., конечно, и адрес. Но не в формате КЛАДР, а в отдельных полях. Ну, и КПП... Регион задавать в адресной строке смысла никакого нет. Парсить не буду :)
Валера, а я пошукал по углам и ничего более доступного не увидел, потому распарсил диким образом, как мог... по технологии 0-nico20 > - спасибо, мил человек! :-)
Попробуйте - интерфейс интуитивно прост и понятен.
Файлик ProverkaKontry_maf.rar в пределах 10 дней будет доступен:
http://hdd.tomsk.ru/file/qljffpiv
Гость
36 - 07.03.2015 - 19:18
35-perpetum >+ Технология проста - у существующего в справочнике базы 7.7 Контрагента должен быть ИНН, по которому делается запрос по технологии 0-nico20 >, затем парсится адрес и, если визуально в сообщении адресной строки не видно проблем, выбираем кнопку записатьАдрес.
Кроме этого, есть возможность массовой проверки контрагентов по запросу на интервале дат выборки документов с контрагентами.
Гость
37 - 07.03.2015 - 22:10
36-perpetum >Заметил описку в парсинге - вместо оператора Сред(), был задействован оператор Прав(), на удивление, он только иногда давал не нужные значения, поправил и решил дописать до обслуживания в цикле по выборке контрагентов, отработавших в документах выборки по интервалу дат. Запустил в цикле (тестирую) и с наслаждением наблюдаю, как шустро заполняются Адреса Контрагентов из запросов в систему Контур... и вдруг..., пошли пустые адреса - они, естественно, не пишутся...
- Всполошился..., смотрю, а в файле otvet32.htm записи результата запроса к Контуру сообщение: - слишком много запросов к серверу, не хотите ли подключиться за плату? - Вот те на..., халява внезапно оборвалась...
Исправленный файл, для работы в цикле по контрагентам файлик здесь:
http://hdd.tomsk.ru/file/mycxnind
И вот думаю - как теперь быть с проверкой через Контур? На какое время они могут затыкать запросы на мой IP ? - Едва успел отладить и теперь что ? :-(
Гость
38 - 07.03.2015 - 23:45
37-perpetum >+ Запостил ещё сюда:
http://forum.infostart.ru/forum24/to...message1315119
39 - 08.03.2015 - 00:37
35-perpetum > я уже стянул с ИСа


К списку вопросов






Copyright ©, Все права защищены