Моя зона ответственности — абонентский отдел РСО, полторы сотни тысяч лицевых счетов в трёх районах области. Для бэкграунда расскажу, как я получаю выписки.


Начинал работать с Росреестром, что называется, в лоб: открыл Запрос посредством доступа к ФГИС ЕГРН, ввёл ключ, заполнил форму поиска, нажал «Найти», выбрал объект типа «жилой дом» или «квартира», заказал выписку, скачал электронный документ, преобразовал его в человекочитаемый(*) формат, сохранил. Всё просто, но не без нюансов.


Основной проблемой стало то, что во многих случаях поиск выдаёт по нескольку подходящих объектов, и приходится решать, по какому из них заказывать выписку. Никакого очевидного критерия я не нашёл, и никто мне не помог. Всегда заказывал все подходящие варианты — чаще всего их было два, иногда — три, изредка – четыре. В большинстве случаев один документ оказывался выпиской, а остальные – «пустышками»: «сведения отсутствуют». В некоторых случаях «пустышками» оказывались все документы. Тупик: деньги потрачены, информации нет.


image


Проблему решила новая коллега в случайном разговоре: прежде чем лезть в ФГИС ЕГРН, нужно пробить адрес в отрытой части Росреестра Справочная информация по объектам недвижимости в режиме online. Там проверяем наличие сведений о переходе прав собственности, и уже с готовым кадастровым номером заказываем выписку. Это слегка удлиняет (при этом – облегчает и ускоряет!) путь к выписке, но весьма полезно, т.к. для наших целей часто достаточно и скриншота с датой перехода права; к тому же я использую эти данные для работы в ГИС ЖКХ.


image


Итак:


  • по адресу определяем кадастровый номер объекта недвижимости, в котором (в объекте) имеются сведения о переходе прав собственности (первая капча);
  • по этому кадастровому номеру заказываем выписку (вторая капча);
  • дождавшись ответа, сохраняем файл;
  • получаем человекочитаемую(*) копию документа (третья капча).

Первое время я делал десяток выписок в месяц, поэтому вопрос автоматизации не стоял вовсе. А потом – бац! Сто пятьдесят! Одним пакетом! И я сломался.


А теперь – слайды.


zoldaten автоматизировал запрос выписок, и даже победил капчу. Я же упростил приведение выписок к человекочитаемому(*) виду.


  1. Начинаем работу с листа «#Список адресов для запроса»:
    • ЛС и Адрес – исходные данные, которые нам поступают от заказчика; полученная выписка будет называться так, как написано в столбце «Адрес» (но это не точно, см. ниже);
    • Кадастровый номер – тот, что мы нашли в открытой части Росреестра – первый этап процесса;
    • Запрос – после подтверждения создания запроса, сохраняем его номер, в дальнейшем номер нужен для контроля всего процесса, обращения в техподдержку и т.д. – второй этап процесса.
  2. Лист «#Главный»: нажимаем кнопку «Обработать все файлы». Со скоростью от 5 до 50 штук в минуту (в зависимости от скорости доступа к хранилищу файлов) получаем человекочитаемые(*) выписки в формате PDF.

    image
  3. Сохраняем отчёты, отправляем заказчику.

Что нужно сделать, чтобы оно заработало.


  1. конечно же, разрешить макросы;
  2. включить ссылку на компонент для обработки XML (Alt+F11 > Tools > References, найти в списке нечто с буквами XML, чекнуть);

    image
  3. включить отображение расширений файлов – без этого не работает встроенный в Windows архиватор;

    image
  4. сложить все файлы «Response-80-.zip», полученные от Росррестра, в одну папку; в процессе работы из этой папки будут удалены все файлы, кроме «Response-80-.zip»; выписки будут сохранены там же; обработаны будут все файлы.

Где проверено:


  • терминальный сервер Windows 2008 + Office 2010 – работает с версией XML 3.0 и 6.0;
  • Windows 10 + Office 365 – работает только с версией XML 3.0.

Дополнительно.


  1. присутствует минимальная защита от дурака.;
  2. если встречаются две выписки с одинаковыми кадастровыми номерами, всё падает. Нужно посмотреть лог (в отдельном файле), удалить лишнее и перезапустить всё с самого начала;
  3. реализованы только выписки о переходе прав и «пустышки», выписки типа «Сведения об объекте» не обрабатываются;
  4. если в исходных данных не находится нужный кадастровый номер (например, лист вообще пустой, а мы запускаем обработку), то выписки именуются по адресу и самой выписки;
  5. если встречаются две и более выписки с одинаковыми адресами, то в имя файла пишется дополнительный номер;
  6. имена листов — хардкод, менять нельзя; при каждом запуске из книги удаляется всё, кроме этих (и двух скрытых) листов.

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


Код открыт и свободен от всяких ограничений Обработка запросов.xlsm


(*) слово "человекочитаемый" встречается на этой странице 6 раз.

Комментарии (1)


  1. Gal78rus
    12.12.2019 23:48
    -2

    Так вот почему фгис постоянно висит…
    Серьезно, периодами неделю не можем руками выписку заказать так как скрипты долбятся в систему, имейте совесть!