Проверка контрагентов по ЕГРН




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

69 Comments

  1. CheBurator
    Проверка осуществляется на текущую дату.

    На форме — НачДата и КонДата

    На какую из этих дат осуществляется проверка?

    Reply
  2. CheBurator
    В отчет

    не выводятся контрагенты со статусом 0 (Налогоплательщик

    зарегистрирован в ЕГРН и имел статус действующего

    в указанную дату).

    Указанная дата — это какая?

    Reply
  3. CheBurator

    В кратком описании сделано все, чтобы его не понять или начать сомневаться — а что же именно имеется в виду? А не накосячил ли автор?

    Reply
  4. CheBurator

    А так: подделал чуток код для ТиС — заодно посмотрел что к чему — прогнал, проверил…

    По хорошему надо сделать что-то типа: проверять 1. на дату последнего имеющегося документа по клиенту и на текущую дату

    Поставил плюсик

    Reply
  5. CheBurator

    Переделал для ТиС — проверяется состояние контрагента на дату первой сделки по базе, на дату последнйе сделки, и на «сейчас» — типа вот так: http://screencast.com/t/xI8Q50dqialz

    Заодно следует заметить что этому сервису нельзя полностью доверять. Например у меня ИП=ник — который в ЕГРН не значится по этому сервису с 12.09.13 — по сервису поиска юрлицип по ИНН значится что все нормально — с этой даты примерно есть запись в ЕГРИП — внесенная в связи с изменениями…

    как-то вот так

    Reply
  6. CheBurator

    Вообще пока сервис «кривой» — и по ЮЛ врет, по ЕГРН — не значится, а по http://egrul.nalog.ru — записи о прекращении деятельности — нет.

    Reply
  7. NicSit73

    (1) CheBurator, На текущую. На форме НачДата и КонДата это период выборки документов, контрагенты из которых отправляются на проверку.

    Reply
  8. NicSit73

    (2) CheBurator, Это цитата из списка статусов, возвращаемых сервисом. Обработка туда указывает текущую дату.

    Reply
  9. NicSit73

    (5) CheBurator, Да сервис косячит. Тоже заметил, но у них там честно: «Сервис работает в тестовом режиме». Надеюсь отладят, вариантов я других не нашел.

    Reply
  10. NicSit73

    (4) CheBurator, просто на текущую дату, конечно, не корректно. За плюс спасибо

    Reply
  11. CheBurator

    По хорошему пока сервис косячит безбожно надо консолидировать данные из нескольких источников

    Reply
  12. CheBurator
  13. CheBurator
  14. ondul

    (9) тоже настроил, с выбором даты первого или последнего документа в запросе.

    Ну и табличку модифицировал…

    Но хотелось бы с возможностью не только сравнения, но и ПОЛУЧЕНИЯ реквизитов контрагента — Адреса, например,

    тогда было бы удобно заполнять реквизиты контрагента.

    Потратил на скачивание последний $m, потому смотреть, что у автора с изменениями, не получится…

    Ну и приделал копирайт Автора, чтобы не тыкали в авторство. 🙂

    Reply
  15. ondul

    Добил-таки обработку до функционала записи реквизитов Контрагенту из запроса к Контур-Фокус.

    Однако, при попытке пропустить справочник с проверкой к Контуру в размере около 1000 контры, потерпел фиаско на 3-й сотне — сервер контура сругнулся на слишком большое количество запросов и перестал выдавать реквизиты контры, предложив для начала вступить в финансовые отношения.

    У Контур-Фокус есть минималка на 24 часа в сумме 1300р. — Но мне-то надо всего пару минут, чтобы прогнать базу и прочистить реквизиты контры через запросы…, а остальное куда? Если кто подключен к системе Контур-фокус — потестируйте, пожалуйста… Файл прикладываю. — Можно тестить по одиночным контрагентам, не обязательно по всем. 🙂

    Reply
  16. ondul

    Прошерстив некое множество запросов, убедился, что сервис Контур-Фокус содержит много старой инфы, не соответствующей адресному классификатору.

    Кроме того, все запросы по ИНН идут на головное предприятие (по месту КПП налоговой головной организации), а филиалы игнорируются…

    Так что пока сервис Контур-Фокус далёк от электронной поддержки без оглядки … и когда данные будут причесаны — должно быть, когда рак на горе свистнет…

    Однако, по тому, что получается — и то ладно, с известной оглядкой можно прикручивать к базе бухгалтеру.

    Найденные в процессе тестирования ошибки, поправил, прилагаю исправленную версию файла ProverkaKontry_maf_po_vsem_vers2.rar

    — Пробуйте и как-то семафорьте о результатах. 🙂

    Reply
  17. ondul

    Ну вот, нашёл для себя забаву… 🙂

    Добавил интерфейс — кнопку на форму «ЗадатьВопросСистемеКонтур» — по пути запросов.

    — То есть, можно задать системе Контур в поле ИНН любой аопрос, на который система попытается ответить.

    — Можно задавать вопросы по именам юридическихфизических лиц, по первым символам и так далее — всё, что вам захочется узнать…, и вы получите много интересного!

    — просто шалел, играя запросами в этом окне… — Отсюда понятна система запросов,

    какие бы можно было задать контуру — потренируйтесь и можно прикручивать свой функционал — очень поучительно!

    Файлик — ProverkaKontry_maf_po_vsem_vers3.rar — прилагаю.

    Reply
  18. Amelk

    Спасибо, сейчас посмотрим, что получается из этого

    Reply
  19. Доня

    (17) ondul,

    Тоже есть ошибки

    <<Налогоплательщик зарегистрирован в ЕГРН, но не имел статус действующего в указанную дату 01.12.2014>> — а фирма действующая !

    почему вылетают такие ляпы ?

    Но поставила плюсы и тому и другому — за труды!

    Спасибо

    Reply
  20. ondul

    Кажется, затер работу…. — придётся восстанавливать…

    Reply
  21. ondul

    Полностью переписал обработку, вставил обращение к кладровским сокращениям объектов Типа: Область, район, город, деревня, улица.

    Переписал логику и тестировал, по тому, что у меня было в запасе. Добавил возможность настроек при чтении запроса из файла.

    Файл новой версии ProverkaKontry_maf_po_vsem_vers4.rar — прилагаю.

    — Пишите о проблемах, порешаем.

    Так как в процессе тестирования убедился в необходимости запроса к Контур-Фокус прямо из поля ВыбКонтрагент,

    то дописал интерфейс ЗадатьВопросСистемеКонтур, по условию — Есть только имя, нет ИНН — страница контура откроется с запросом по имени Компании, иначе — по ИНН Компании, иначе — пустое поле контрагента — как и раньше.

    Мне понравилась такая модификация, поскольку она позволяет быстро найти нужного контрагента в выпадающем списке, внести ИНН и уже по нему — заполнить адресные данные кнопкой СформироватьПоКонтре и ЗаписатьАдрес.

    Прикладываю версию ProverkaKontry_maf_po_vsem_vers5.rar — пробуйте. 🙂

    Reply
  22. CheBurator

    (21) если не забуду то постараюсь прикрутить завтра у себя

    Reply
  23. ondul

    Спасибо 🙂

    Нашёлся ещё вариант представления данных по юр-лицам для реквизита «Дом», добавил в логику обработки.

    Обнаружилось попутно, почему не обрабатываются Физ-лица — у физ-лиц и налоговых служб — другой формат представления данных.

    Этот формат по структуре адреса ближе к стандарту кладра, но… — структура и используемые операторы совсем другие.

    Если для обычных юр-лиц начало модуля реквизитов содержит оператор «<dl>»,

    то для физ-лиц используется оператор «<li» и нет оператора «<dl>»

    Пока обработка настраивается для юр-лиц и потихоньку будет писаться, надеюсь, модуль для физ-лиц.

    Исправленная версия файла ProverkaKontry_maf_po_vsem_vers6.rar прилагается.

    Для УСН теперь тоже работает, ProverkaKontry_maf_po_vsem_vers7.rar

    Файл прилагаю.

    Reply
  24. antares2010

    (23) ondul,

    Спасибо за обработку. Ещё бы добавить поиск по наименованию при нажатии на кнопку «Сформировать_ПоКонтре», в случае пустого ИНН.

    Reply
  25. ondul

    Чтобы так сделать, нужна перекодировка текстовой строки из «windows-1251» в «utf-8», иначе запрос выглядит абракадаброй…

    — Если кто знает, как сделать перекодировку средствами 1С — подскажите!

    Вообще — любопытно получается, если в строке ввода текста обратиться через ЗапуститьПриложение(Текст запроса), то сайт Контур-Фокус открывается с нужным видом кодировки строки, всё работает, а в строке запроса уже требуется перекодировка введённой строки.

    — Нужно обойти и тогда запрос заработает.

    Reply
  26. rougudz
  27. ondul

    (26) — Спасибо!!!

    Однако, перекодировки «windows-1251» в «utf-8» оказалось мало — понадобилось преобразовать коды символов «utf-8» в 16-ричный код и сформировать ескейп-последовательность — она и работает в запросе. Стандартных функций под рукой не оказалось, написал в 1С.

    Кроме того, для фильтра по недописанным областям, республикам, пришлось создать файл Область.txt, в который заложил все наши республики с их краткими расширениями «обл, край, АО, …» Обычной строкой не удалось завернуть в обработку (свыше 1500 символов), поэтому читается из файла.

    В архив версии ProverkaKontry_maf_po_vsem_vers8.rar вложил краткую инструкцию Прочти.txt».

    — пробуйте…, делайте предложения, замечания.

    Файлик прилагаю.

    p.s.

    Режимы работы.

    Если поле ВыбКонтрагент пустое — доступны запросы без обращения к базе {по ИНН или произвольному тексту, указывающему на Имя предполагаемой для поиска компании или физического лица}. Если поле ВыбКонтрагент не пустое — идёт диалог с обращением к базе.

    Если у контрагента есть ИНН, запрос доступен для обслуживания по реквизитам контрагента кнопкой Сформировать_ПоКонтре, иначе — следует работать по кнопке ЗадатьВопросСистемеКонтур — в этом случае в список вываливается некое множество компаний с именем вашего контрагента в поле ВыбКонтрагент и уже из этого списка вы можете выбрать подходящие реквизиты, скопипастить ИНН в базу к контрагенту и затем по кнопке Сформировать_ПоКонтре, занести реквизиты в базу через кнопку ЗаписатьАдрес.

    Если запрос сделан по ИНН, ищется соответствующий ИНН в базе и если ИНН единственный, то имя компании вставляется в поле ВыбКонтрагент, чтобы иметь возможность сразу переключиться на режим записи в базу.

    Есть 2 вида кодирования компаний — обычных смертных {юр-лиц} и {физ-лиц+налоговых+департаментов}. Сейчас алгоритм отрабатывает формат только для {юр-лиц}, но запросы с выводом ответа на сайт Контур-Фокус или в файл, можно отрабатывать для любых и использовать файл ответа для домашней настройки по флажку ИзФайла.

    Reply
  28. ondul

    Очередное обновление, и, пожалуй, займусь другими проектами.

    Теперь исправлена работа по кнопке ЗадатьВопросСистемеКонтур.

    Оказалось, не на всех браузерах запрос проходит без кракозябров.

    Пришлось пропустить запрос через ескейп-последовательность,

    после чего браузеры перестали жаловаться на кракозябры.

    На форме подправил имена кнопок, страдавших вульгарной

    небрежностью цейтнота работы над обработкой.

    В алгоритме обработки провел некоторую систематизацию функций.

    В комментарии обработки так же помещено ознакомительное описание.

    Файл новой версии ProverkaKontry_maf_po_vsem_vers9.rar, прилагаю:

    Не забудьте хорошенько тестировать и сообщить, что у вас было не так!

    🙂

    p.s.

    Добавлю, как делать запрос по наименованию, с обращением к региону: — очень просто, например —

    набираете текст — «машина времени хабаровский край» — и выпадут организации,

    содержащие в имени компании элементы тела вашего запроса, относящиеся к хабаровскому краю.

    Reply
  29. Доня

    НУ вообще! замечательно.

    Поставила бы еще плюс, но не принимает

    Reply
  30. ondul

    (29) И так хорошо, 🙂

    По просьбам работающих с торговлей 7.7 выкладываю файлик следующей версии:

    ProverkaKontry_maf_po_vsem_OSN_USN_trg_vers10.rar

    В архив вложен мд-шник 983 релиза торговли. По подобию этого релиза, справочник Контрагенты желательно настроить для удобства работы с полями ИНН, ЮрАдрес, чтобы, не бегая в справочник ЮрФизЛица, можно было сразу видеть результат обновления адресов.

    Вроде все кнопки в торговле сработали, но вы проверьте… 🙂

    Reply
  31. antares2010

    За работу большое спасибо!

    Бывает так что, находится контрагент по ИНН и в контур фокусе, и в egrul.nalog.ru, а обработка выдаёт — «Налогоплательщик с указанным ИНН не зарегистрирован в ЕГРН». У них что там в налоговой, разные базы?

    Reply
  32. ondul

    (30) — примерчик такого случая сбросьте — посмотрю.

    Reply
  33. CheBurator

    (32) да что там чмотереть?

    Я в 5 и 6 топиках написал это давно уже

    У меня из 6 проверенных ипшников сервис егрн выдал только по одному нормальные данные а остальные не значятся но сервис егрюл по ним вполне нормально

    Reply
  34. ondul

    (30)(33) — я понял, в чем может быть причина разночтения баз — в таких случая в ЕГРН может быть написано: — исключен из состава ЕГРН на основании трали-вали…

    — типа — не прошёл фейс-контроль. 🙂

    Такое юр-физ-лицо выглядит в базе с перечеркнутым (черным, красным) наименованием — от чего зависит цвет — наверное от степени нарушения правил регистрации в составе ЕГРН, одно ясно — это юр-физ-лицо не допущено к налоговой проверке, потому и не обозначено присутствующим доверенным лицом.

    А причин может быть множество — например, нелады с банком… и счёт заблокирован.

    — Мне, например, на днях, выставили счет на оплату через ИП, но Сбербанк увидел корр-счет в проблемных и запретил проведение платежа, пришлось им проводить через более благополучный корр-счет на юр-лицо. В дальнейшем всё прошло с оплатой и поставкой нормально, а с ИП — будут разбираться.

    Ну и ещё о программе Торговля и склад — абсолютно мусорная прога — зачем нужны 2 справочника — ФизЛица и ЮрЛица, которые имеют совершенно одинаковые поля, за исключением ОКПО… — Менеджеры путаются, заносят в ЮрЛица физ-лиц, а могут и вообще не выбирать Юр-физ-лиц в справочнике Контрагенты и возникает проблема с путаницей, вместо того, чтобы держать всё это в куцем по реквизитам справочнике Контрагенты. Вот как мудро сделано в Бухгалтерии — если неправильно разнёс, перепутав юр- с физ-лицом, просто переиначил юр на физ (или обратно), но все записи как были, так и остались на месте — в том же справочнике.

    А в торговле — справочники отдельные и даже если переиначить, нужно очищать неправильно заполненный и заполнять другой.

    И ещё — в контрагентах явно не хватает поля ОГРН — единственного и неповторимого — уникального идентификатора юр-физ-лица.

    Пусть остаются ИНН и КПП, как признаки головной организации и филиалов, но ОГРН, если он есть при регистрации предприятия или ИП — обязан быть, в том числе — в печатных (электронных теперь уже) документах — просто потому, что ищется в базе налоговой однозначно, без шарад по ИННКПП!

    Reply
  35. CheBurator

    (34) нормальная прога.

    «Ну и ещё о программе Торговля и склад — абсолютно мусорная прога — зачем нужны 2 справочника — ФизЛица и ЮрЛица,»

    — забыл еще третий: СобственныеЮрЛица

    здесь сильно не думал… но, навскидку: как вариант — РКО: выдача под отчет, будет все в одном справочнике «юрлиц» — навыдают буЛГахтера не сотрудникам , а клиентам на подотчет…

    » которые имеют совершенно одинаковые поля, за исключением ОКПО… — Менеджеры путаются, заносят в ЮрЛица физ-лиц,»

    — ну вообщем-то так или иначе надо указывать это кто — юрик, или физикипшник — как это укзывать галкой или как-то иначе один хрен. По умолчанию, при создании нового контрагента — стоит «юрлицо»

    » а могут и вообще не выбирать Юр-физ-лиц в справочнике Контрагенты »

    — штатная конфига этого не допускает, руки выпрямит и все.. 😉

    Reply
  36. CheBurator

    вот то что в 8-ке всякие контрагенты-клиенты-партнеры, сделки (чем договор не устроил?) — это полный трэш…

    Reply
  37. ondul

    (35) — спорить не буду — у меня стойкое порицание конфы.

    А сотрудники должны быть в справочнике Сотрудники, чтобы им были суммы на подотчет и зарплату.

    А уж физ-лица и юр-лица — тоже в одном справочнике — Контрагенты, тогда и путаницы (по умолчанию — ЮрЛицо, а ИНН вбивается на физ-лицо…, спрашивается, чего там делает тогда справочник ФизЛица…). Ну да ладно… — кому привычно — и на кривой кобыле прямо едет… 🙂

    Однако, ближе к теме — начал писать обработку по части физ-лиц и раскрывать запросы на множественные компании (одинаковые ИНН, разные КПП).

    В ряде запросов вываливается более десятка компаний…

    Отмечу, Контур-Фокус по возможностям запросов оказался вне конкуренции. Например, запрос к серверу fedresurs.ru, работает только для юр-лиц, причём, поиск только по ИНН,ОГРН, Наименованию, без регионов, а это сильно снижает возможности постановки фильтров. К тому же, при попытке пролистать страницы результатов поиска — сразу жалуется на ограничение — «слишком частый поиск, зайдите в другое время»…

    Reply
  38. CheBurator

    (37) вы на ТиС не гоните. для совего времени конфа сделана просто отлтично.

    > Контрагенты, тогда и путаницы (по умолчанию — ЮрЛицо, а ИНН вбивается на физ-лицо…,

    Ну так надо указать контрагент кем является — юрлицом или физлицом.

    Если этого вообще не указывать — вы как предлагаете работать?

    > спрашивается, чего там делает тогда справочник ФизЛица…).

    Если указать что клиент = физлицо — то совершенно прозрачно для пользователя введенный ИНН вносится в справочник физлиц.

    Вместе с данными о паспорте, которые на контрагента совершенно не клеятся.

    > Ну да ладно… — кому привычно — и на кривой кобыле прямо едет… 🙂

    Не знаю, не знаю.. кто за кобылой не смотрит и копыта не чистит — то все будет жаловаться что пашет медленно, ходит криво… 😉

    Reply
  39. AndKovalchuk

    Было бы неплохо проверять в означенном периоде только тех контрагентов, по которым выставлены (получены) счета-фактуры. А других контрагентов можно было бы и проигнорировать.

    Reply
  40. ondul

    (39) — спасибо, напомнили — давно сам хотел поставить фильтр по списку документов, но отвлекли текущие дела…

    — Сделал. На этот раз порадую — обработка существенно переработана и возможности теперь очень неплохие.

    В том числе — она будет работать в конфигурациях бухгалтерия ОСН, УСН, ПБУ, Торговля — всё на платформе 7.7.

    — по тем, для которых успел отследить.

    Кроме того, если вы добавите в справочник Контрагенты реквизит ОГРН, — текстовое поле длиной 15 символов, —

    то станете счастливыми обладателями уникальных кодов Контрагентов ОГРН в базе по результатам запросов к Контур-Фокус.

    Да, справочник по Регионам теперь в самой обработке, не нужно ничего дополнительно закладывать в папку базы, как было ранее.

    Файлик прилагаю:

    ProverkaKontry_maf_po_vsem_OSN_USN_PBU_trg_vers11

    Старательно дрючьте обработку и сообщайте ваши пожелания.

    Картинку и описание, как работает, смотрите здесь:

    http://infostart.ru/public/336256/

    — читайте и не забывайте, что описание для вас содержится в левом верхнем углу формы обработки под знаком вопросика(?).

    И ещё по работе с запросами — важно:

    Заметил, Контур-фокус ограничивает список в запросе порядка 10 строками. Ограничение связано с разбиением запроса на страницы

    и из множества страниц в стек для анализа забирается 10 позиций первой страницы.

    Поэтому, если хотите быстро добраться до нужного вам результата по юр-физ-лицам,

    — ставьте сужающий фильтр — (по мере сужения) — регион, город, поселок, улица.

    Например набирайте примерное Имя компании, через запятую, а можно и через пробел — регион, город, поселок, улица, дом — добавляете по мере сужения фильтра запроса. Для такого случая, запрос делается при пустом поле ВыбКонтрагент. В выпадающем списке ищется нужное юр-физ-лицо.

    Если запрос по кнопке Сформировать_ПоКонтрагенту, то результат для анализа помещается в Таблицу значений на форму. Далее щёлкаете по строкам таблицы значений и становятся актуальными реквизиты контрагента текущей строки таблицы, из них вы можете сохранить реквизиты контрагенту в поле ВыбКонтрагент, при флажке подтверждения записи «Да». Если запрос делается по кнопке ЗадатьВопросСистемеКонтур, то анализ можете делать визуально, в интернет-странице запроса.

    Наверное, сами догадаетесь, что если в запросе по Физ-лицу типа ИП, выпадает список организаций, то это могут быть Компании под флагом имени директора, гендиректора, одновременно ИП-шника. Связанные с этими компаниями адреса могут указывать на адрес самого ИП, в то время как адрес ИП, во многих случаях, преднамеренно искажается.

    Reply
  41. ondul

    В этой версии прописал возможность работать с реквизитом ОГРН в справочнике Контрагенты.

    Если реквизит ОГРН содержится в метаданных справочника Контрагенты, ОГРН будет прописываться выбранному контрагенту.

    Логика работы с ОГРН, ИНН, Наименованием Компании такова, что если в Метаданных базы присутствует ОГРН и ОГРН — не пустой,

    запрос начинается с ОГРН, иначе — с непустого ИНН, иначе — с Наименования Компании.

    В алгоритме предписал для базы Торговли — ОГРН в справочнике Контрагенты, а не в ЮР-Физ-лицах (не следует без надобности множить сущности),

    поэтому, если будете настраивать работу с ОГРН в базе Торговля, учтите размещение реквизита в Контрагентах

    и обеспечьте видимость столбца реквизита ОГРН в ФормаСписка и ДляВыбора рядом с ИНН.

    Аналогично и в базах по типу Бухгалтерии — ОГРН следует разместить рядом с ИНН в формах списка,

    ну и в карточке контрагента — если захочется видеть ОГРН индивидуально.

    Поддерживается возможность работы в конфигурациях на платформе 7.7: Бухгалтерия — ОСН, УСН; ПБУ; Торговля.

    При поиске нужной фирмы по наименованию, ставьте сужающий фильтр Регион, район, город, село, улица, дом…

    и отслеживайте историю компании — по кнопке ЗадатьВопросСистемеКонтур.

    В ряде случаев, компании с одним ИНН и разными КПП, ОГРН, сидят в одном доме…,

    однако — у всех компаний уникален только ОГРН — он и есть результат вашего поиска.

    — Это довольно увлекательное и зрелищное действо — найти нужную компанию…!

    — Удачи вам, на дороге вашего поиска. 🙂

    И ещё — пользуйтесь флажком НеОткрыватьHTM, если окно чтения будет мешать по контексту поиска,

    или тормозить в работе.

    А для полноты записи — чтобы поверх существующих реквизитов писались новые

    — ИНН,КПП,ОГРН,ОКПО, используйте флажок «Да».

    Файл прилагаю.

    ProverkaKontry_maf_po_vsem_OSN_USN_PBU_trg_vers12.rar

    Пишите о ваших пожеланиях, удачах и неудачах… 🙂

    Reply
  42. victuan

    Что за конфигурация «ПБУ»?

    Reply
  43. victuan

    По предпринимателям сервис ФНС (и как оказалось, сервис Фокуса) не может дать достоверные данные, почти поголовно выдает ошибку: «Налогоплательщик зарегистрирован в ЕГРН, но не имел статус действующего в указанную дату ХХ.ХХ.ХХХХ»

    Предлагаю в отчет добавить флажок «Не проверять физлица», чтобы избавить отчет от информационного шума и спокойно проверить хотя бы юрлиц.

    PS. Подробнее об ошибке. На сервисе http://npchk.nalog.ru/ есть возможность проверять контрагентов «по одному» или «списком». Если предпринимателей проверять по одному, то результат «контрагент действующий», если списком, то «не действующий». Я писал об этой проблеме в тех.поддержку, но мое обращение было проигнорировано и, как вижу, не исправлено до сих пор.

    Reply
  44. ondul

    (42) victuan,- Конфигурация ПБУ — Производство, услуги, бухгалтерия… — может я переставил буквы не так, так как с ней не работаю — только реквизиты определил в справочнике Контрагенты.

    (43) victuan, — Да они — ФИЗ-лица — как бы и не мешают, но если они выпадают ошибкой, то на ошибку надо реагировать..

    — Всё просто — если при запросе на сервисе http://npchk.nalog.ru/ идёт некорректная инфа по статусу, то провериться можно, сделав запрос персонально по контрагенту — по кнопке ЗадатьВопросСистемеКонтур и выявить причину разночтения — она может быть связана с тем, что используются устаревшие данные по контрагенту, или база http://npchk.nalog.ru/ по контрагенту не соответствует базе Контур-Фокус — с запросом по ЕГРН — это всё решается владельцами баз, придумывать другого не нужно. Поскольку сервис запросов находится в режиме обкатки, думается, с течением времени, отладится.

    🙂

    Ну и по поиску — по кнопке Сформировать_ПоКонтрагенту — в обработке есть «Описание» — оно доступно под кнопкой «?» — в верхнем левом углу формы обработки — нужно заглядывать, чуть почитывать… — я постарался ответить на возможные вопросы. 🙂

    — Спасибо, что пробуете — так быстрее можно оттестировать систему и отладить, если возникают проблемы.

    Reply
  45. aknowx

    а настройка прокси есть?

    Reply
  46. djserega

    В коде есть небольшая ошибка:

    Если ЕстьКПП = 1 Тогда

    ПромТЗ.ИНН = ПромТЗ.Контрагент.ИНН; //Контрагент.ИНН

    ПромТЗ.КПП = ПромТЗ.Контрагент.КПП; //Контрагент.КПП

    в двух местах

    Reply
  47. ondul

    (46) djserega, — этого кода уже нет — вышла новая версия — много чего переписано и добавлено

    Файлик прилагаю:

    ProverkaKontry_maf_po_vsem_OSN_USN_PBU_trg_vers13.rar

    — Детали можно посмотреть в публикации,

    http://infostart.ru/public/336256/

    ну и потрогать ручками, конечно…

    — а вам спасибо, что смотрите — заходите — пишите о своих впечатлениях и предлагайте… 🙂

    Reply
  48. Logarifm_Andre11111111111111

    Спасибо, добрый человек)))

    Есть проблема, вот в этом:

    Если oXMLHTTP.Status=200 Тогда

    возвращает 500, и соответственно проверки нет….

    В чем может быть проблема?

    Запускаю в 7.7.027 на конфе Бух 4.5, 593 релиз.

    Никаких файерволов не стоит (кроме Касперского, но пробовал на другом ПК без него и таже ошибка) и прокси нет.

    Reply
  49. ondul

    (48) Logarifm_Andre, — возможно, для вашего провайдера интернета запрашиваемый сервер недоступен?

    — пробуйте пинговать обращение к серверу…

    — ведь если у других провайдеров запросы проходят, значит — проблема вашего провайдера.

    Ну и, на всякий случай, можно попробовать обновленную версию.

    ProverkaKontry_maf_po_vsem_OSN_USN_PBU_trg_vers14.rar

    — файлик прилагаю.

    Описание смотрите всё там же:

    http://infostart.ru/public/336256/

    Reply
  50. Logarifm_Andre11111111111111

    Результата не удалось положительного добиться.

    Я не очень силен в этом, но вот что удалось выяснить.

    Выяснил IP адрес, он не пингуется. Пробовал на различных провайдерах: ростелеком и билайн.

    Вот что еще выяснил на сайте http://www.whois-service.ru/lookup

    Reverse Lookup: информация по обратному преобразованию для адреса 81.177.5.187 недоступна.

    Информация об ip-адресе 81.177.5.187

    % This is the RIPE Database query service.

    % The objects are in RPSL format.

    %

    % The RIPE Database is subject to Terms and Conditions.

    % See http://www.ripe.net/db/support/db-terms-conditions.pdf

    % Note: this output has been filtered.

    % To receive output for a database update, use the «-B» flag.

    % Information related to ‘81.177.5.176 — 81.177.5.191’

    % Abuse contact for ‘81.177.5.176 — 81.177.5.191’ is ‘abuse@rtcomm.ru’

    inetnum: 81.177.5.176 — 81.177.5.191

    netname: NALOG-RU

    descr: FGUP GNIVC FNS Russia

    country: RU

    admin-c: DS1306-RIPE

    tech-c: DS1306-RIPE

    status: ASSIGNED PA

    mnt-by: AS8342-MNT

    source: RIPE # Filtered

    % Information related to ‘81.177.0.0/19AS8342’

    route: 81.177.0.0/19

    descr: RTCOMM-RU

    origin: AS8342

    mnt-by: AS8342-MNT

    source: RIPE # Filtered

    % This query was served by the RIPE Database Query Service version 1.78 (DB-3)

    Может что удастся прокомментировать Вам.

    По кнопке «Задать вопрос системе контур» в обработке информация выдается

    Reply
  51. ondul

    (50) Logarifm_Andre, по-видимому, сервер

    http://npchk.nalog.ru/

    защищён от сканирования…, в то время как другие имена сканируются и их IP определяется… 🙂

    Но лично у меня запросы проходят, как и другие — не жалуются…

    — Всё-таки, это вопрос к вашему провайдеру…

    — попробуйте зайти через другого провайдера…

    — например, зайти по удалённому доступу через другой город и посмотреть….

    — а потом прийти к своему провайдеру — и ткнуть носом — пусть настраивает…

    Reply
  52. Logarifm_Andre11111111111111

    (51) ondul, спасибо буду пробовать

    Reply
  53. Logarifm_Andre11111111111111

    Итак, выяснил, что проблема не в провайдере, а именно с БД!!!!

    Т.к. на другой БД аналогичного релиза все работает и возвращает 200 статус и все отрабатывает норм.

    Очень интересно в чем же проблема…

    Может есть соображения?

    Спасибо.

    Reply
  54. Logarifm_Andre11111111111111

    Разбор продолжается))))

    Выяснилось, что проблема при формировании запроса в одном из периодов получения контров!!!!!!!!

    А вот выявить отличия в том что формируется, а что нет пока не получается…

    Веселье продолжается)))

    Reply
  55. CheBurator

    (54) Галактеко волнуеццо!

    Ждем вестей

    Reply
  56. ondul

    (54) Logarifm_Andre, О, это уже ближе к телу !!! 🙂

    — причина может быть одна — у кого-то из контрагентов в поле ИНН спец-символ — может просматриваться как вертикальная черная линия…

    Возникает спец-символ при случайном сочетании клавиш, типа Alt+что-то…- они ведь рядышком — Shift, Ctrl, Alt. — Проблема давняя.

    — если при запросе к справочнику попадали в имени спец-символы, могло быть что угодно, вплоть до падения базы. Лечилось такое обработочкой — нужно отфильтровать коды в полях справочников и всё, менее 32 (код символа пробел), если не ошибаюсь, удалить…

    — удаляй все символы, имеющие код с 1 по 31 — в строках справочников, ну а в строках ИНН — всё, что не является цифрами и знаками «»,»/».

    Иногда в коде алгоритмов тоже приходится чистить, иначе не работает… — выгрузить в текстовый файл, прочитать посимвольно и убрать всё, не имеющее отношение к текстовым символам.

    Иногда можно отловить спец-символы — скопипастить текст в редактор Far-менеджера и визуально его увидеть… 🙂

    Вот, написал обработку — «УдалениеСпецСимволовИзСтроки» — из Наименование, ПолнНаименование, ИНН справочников,

    какие есть в конфигурации.

    Файлик в архиве прилагаю.

    Попутно — если загружаете что-либо из экселя — можете нацеплять спец-символы…,

    поэтому строки экселя надо фильтровать, прежде, чем писать в справочники.

    Reply
  57. Logarifm_Andre11111111111111

    (55) CheBurator, шлю посылы)))))))

    (56) ondul, я тоже на это грешил. Написал миниобработку. Не помогло.

    Кстати, решил запустить Вашу обработку по удалению спец символов. Но без положительного результа)))))…

    Плывем дальше, господа присяженые-заседатели)))))

    Отпишусь о результатах.

    Reply
  58. ondul

    (57) Logarifm_Andre, ладно, тогда проверим сам ИНН.

    Обработку прикладываю.

    И ещё — хорошо бы запустить на тестирование и исправление базы в конфигураторе.

    Reply
  59. Logarifm_Andre11111111111111

    (58) ondul,

    тестирование запустил раньше, чем вы предложили)))) без результатно.

    Буду смотреть по выложенной обработке.

    Спасибо большое за помощь.

    Reply
  60. pfa

    За обработку большое спасибо!

    Однозначно плюс.

    Наверное для ТиС в переменную СписокВидовДокументов надо довавить:

    «ПоступлениеТМЦ,ПоступлениеТМЦРозница,ПоступлениеТМЦИмпорт,Реализация,РеализацияПрочее,РеализацияРозница,СчетФактураВыданный»

    Reply
  61. Logarifm_Andre11111111111111

    Мистика наверное, но получилось.

    Скорее всего наплодил всяческих доработок Ваших обработок….каламбур)))

    После удаление спец.символов.

    Вот будет плюс к вашей обработке и появлению нового релиза)))), добавьте на неё функционал из обработки UdalSpecSimvIzSpr.rar.

    Спасибо большое.

    Reply
  62. CheBurator

    Напишите плугинчик к UChoice

    Reply
  63. ondul

    (61) Logarifm_Andre, (60) pfa, — исполнил ваши пожелания.

    http://infostart.ru/public/336256/

    — Из описания там

    Версия 9 от 10.04.2015г в публикации

    1. — По просьбам пользователей обработки — вставил модуль чистки справочников базы от спец-символов и установил на форму кнопку «УдСС», связанную с этим модулем. По этой кнопке: Будет выполнена очистка наименований справочников базы, а так же реквизитов — ПолнНаименование и ИНН от спец-символов. Очистка необходима, если вы заметили, что ваши обработки ведут себя неправильно и странно, вплоть до частого падения базы. Зачастую это связано с внедрившимися в строки спец-символами — с кодами символов от 1 до 31. Появление спец-символов связано с некоторой случайной комбинацией на клавиатуре, с участием Alt. Так же спец-символы могут попасть в справочники при загрузке из таблиц эселя. 2. — упустил из виду, но мне напомнили, в строку отбора документов сделки для формирования запросов по статусу контрагентов в ЕГРН, добавил список документов для конфигурации «Торговля». 3. — исправлена ситуация с так называемыми перечеркнутыми номерами ИНН, которые отмечены, как неверные, хотя этот же номер является рабочим для другого ЮрФизЛица. 4. — добавлены варианты литерных номеров домов и домов без номеров, например обозначенных Магазин «Весна» — характерных объектов для деревень, когда номер дома ещё не установлен.

    — в этой ветке обсуждения эта же версия проходит как

    ProverkaKontry_maf_po_vsem_OSN_USN_PBU_trg_vers15.rar

    — файлик прилагаю.. — отменен, в связи с добавлением ниже

    Да, обработка теперь будет работать и в Комплексной конфигурации.

    Добавление!

    (Ссылка на публикацию http://infostart.ru/public/336256/ — актуальна на дату 24.07.2015г)

    Версия 10 от 24.07.2015г Контур-фокус изменил формат обращения к яндекс-картам, пришлось добавить работу с измененным форматом вызова яндекс-карт, чтобы ссылки на карты работали. Файлик для скачивания здесь «ProverkaKontry_maf_po_vsem_OSN_USN_PBU_trg_vers16.rar», прилагаю.

    Reply
  64. Доня

    Скачала версию от 24.07.15 буду смотреть

    Reply
  65. ondul

    (64) «Скачала версию от 24.07.15 буду смотреть»

    — Мы не против.

    — пишите ещё…

    🙂

    Reply
  66. ondul

    (64) Доня, Версия 11 от 17.09.2015г.

    (Ссылка на публикацию http://infostart.ru/public/336256/ — актуальна на дату 17.09.2015г)

    — Контур-фокус модифицировал строку операторов наименования компании,

    в связи с чем соответствующий фрагмент выделения наименования компании в модуле обработки был переписан.

    Файлик для скачивания здесь «ProverkaKontry_maf_po_vsem_OSN_USN_PBU_trg_vers17.rar», прилагаю.

    Reply
  67. pisarevEV

    спасибо за разработку!

    Reply
  68. ondul

    (64),(67) и всем, кто работает с этой Обработкой.

    Очередное обновление!

    Версия 12 от 28.10.2015г.

    (Ссылка на публикацию http://infostart.ru/public/336256/ — актуальна на дату 28.10.2015г)

    — Переписан алгоритм в части процедуры ПоВсем().

    Добавлен справочник ОКВЭД, подчиненный справочнику Контрагенты.

    Справочник ОКВЭД (код вида экономической деятельности) имеет Наименование длиной 100 символов

    и текстовый реквизит «КодПоОКВЭД», длиной 20 символов, как в Константах предприятия.

    В работу ПоВсем() включаются документы из периода интервала дат, выбираемого для подготовки к отчетности.

    Учитываются ИНН для физ-лиц — по результатам запроса в базу пишутся только ОГРН,ОКПО,

    адрес не пишется по причине его усеченной подачи от Контур-Фокус, ну и пишется КодПоОКВЭД.

    Для Юр-лиц выставлен фильтр по КПП вида ХХХХХ1001 — то есть, по признаку принадлежности к КПП головной организации.

    На форму, рядом с кнопкой «ПоВсем», поставлен флажое БезОГРН.

    При флажке БезОГРН=1, будут обрабатываться только элементы справочника Контрагенты, без ОГРН.

    Если флажок БезОГРН=0, запись реквизитов в базу будет идти по всем.

    Запись будет делаться автоматически, если флажок ДА=1.

    И да — обработка ПоВсем учитывает виды конфигураций —

    то есть — ВидКонфы, описанные в перечне конф по запросу глИдентификаторКонфигурации():

    Попытка
    Конфа=глИдентификаторКонфигурации();
    Исключение
    Конфа=»»;
    КонецПопытки;
    
    Если (Конфа=»BU42TK») ИЛИ (Конфа=»BUPSB25″) ИЛИ (Конфа=»PBOUL»)Тогда //Бухгалтерия ОСН, ПУБ или Предприниматель
    ВидКонфы=1;
    ИначеЕсли (Конфа=»BASUOR») Тогда //УСН
    ВидКонфы=2;
    ИначеЕсли (Конфа=»OUTK») ИЛИ (Конфа=»BUOUSL») Тогда //Торговля или Комплексная
    ВидКонфы=3;
    Если Метаданные.Справочник(«Контрагенты»).Реквизит(«ЮрФизЛицо»).Выбран()=0 Тогда
    ВидКонфы = 4
    КонецЕсли;
    Иначе //Какая-то Конфа
    ВидКонфы=4;
    КонецЕсли;
    

    Показать

    Пробуйте и пишите — по ситуации — разберёмся. 🙂

    Файлик, что по ссылке на статью, ProverkaKontryPoEGRN_vers12.rar — прилагаю.

    Reply
  69. ondul

    Возникла проблема с запросами по вине учетной политики секьюрити от майкрософт на старых ОС, типа XP, w2003.

    Тема обсуждается здесь:

    http://forums.kuban.ru/f1040/protestite_na_osnove_tipovoj_konfa_buh-7_7_616_-_dlya_proverkakontragentovpoegrn_i_zapolnenie_6-ndfl-7718764.html

    Попутно выяснилось, что в связи с решением проблемы, получилась проблема загрузки регламентированных отчетов.

    Соответствующий файл ReglOtch.rar решения выкладываю здесь.

    Reply

Leave a Comment

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