ГИС-Скрипты

СКР-10 Договоры и акты

Выгрузка действующих договоров из ГИС ЖКХ в Excel и CSV

Собирает действующие договоры из реестра ГИС и сохраняет их в Excel и CSV: номер, дата, подрядчик, заказчик.

Какую задачу решает

ГИС ЖКХ удобно показывает реестр договоров на экране, но не даёт одной кнопкой выгрузить его в таблицу с нужными полями. Когда нужно сверить договоры с учётной системой или посчитать их, данные приходится переписывать руками.

Скрипт обходит реестр и складывает всё в Excel и CSV.

Что делает скрипт

  1. В реестре договоров текущей организации выставляет фильтр «Действующий» и нажимает «Найти».
  2. Собирает ссылки на страницы просмотра договоров из карточек реестра, обходя все страницы пагинации. Страница просмотра только читает данные, она ничего не меняет в ГИС.
  3. Читает номер и дату договора, ИНН и наименование подрядчика (исполнителя), ИНН и наименование заказчика.
  4. Сохраняет собранное в Excel и CSV в папку data: для аудита видно, что собрано.
  5. Без флага --dry-run скрипт дополнительно сверяет договоры с вашим сервисом, отбрасывает уже существующие и отправляет только новые.

Что понадобится

  • Windows и Google Chrome с отладочным портом 9222.
  • Python 3, Playwright, pandas, openpyxl.
  • Доступ к реестру договоров организации в ГИС ЖКХ.

Как запустить

  1. Запустите Chrome с отладочным портом и войдите в ГИС ЖКХ под нужной организацией.
  2. Запустите: python sync_existing_contracts_gis.py --dry-run — скрипт только соберёт данные и сохранит таблицы.
  3. Результат лежит в папке data: файлы existing_contracts_gis_<дата_время>.xlsx и .csv.

Общая подготовка — Chrome, Python, Playwright — описана на странице «Как запустить».

Ограничения и на что обратить внимание

  • Без флага --dry-run скрипт сразу отправляет собранные договоры в сервис, адрес которого указан в коде. Замените адрес и учётные данные на свои или всегда запускайте с --dry-run.
  • Выгружаются только договоры в статусе «Действующий».

Вопросы и ответы

Меняет ли скрипт что-нибудь в ГИС ЖКХ?

Нет. Он открывает страницы просмотра договоров, которые только читаются, и ничего не нажимает на формах редактирования.

В каком виде получаю данные?

В Excel и CSV: номер и дата договора, ИНН и наименование подрядчика, ИНН и наименование заказчика.