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




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

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

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

<?php // Полная загрузка сервисных книжек, создан 2026-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 не будет опубликован. Обязательные поля помечены *