СКР-09 Договоры и акты
Договоры со статусом «Истёк срок действия» в ГИС ЖКХ: массовая обработка
Находит договоры со статусом «Истёк срок действия», очищает дату окончания и проходит цепочку подтверждений.
Какую задачу решает
В реестре ГИС ЖКХ накапливаются договоры со статусом «Истёк срок действия», у которых нужно убрать дату окончания — например, когда договор бессрочный или продлён. Править их по одному: открыть меню договора, зайти в редактирование, убрать дату, разместить информацию, пройти подтверждения — слишком долго, когда таких договоров десятки.
Скрипт делает это за вас в одном проходе.
Что делает скрипт
- Открывает реестр договоров, выставляет фильтр «Истёк срок действия» и нажимает «Найти».
- Для первого договора открывает меню действий и заходит в редактирование.
- Очищает поле с датой окончания.
- Размещает информацию и проходит цепочку диалогов подтверждения. Попутно закрывает всплывающие окна ГИС, включая «Обнаружены несохранённые данные».
- Повторяет для следующего договора, пока таковые не закончатся.
Что понадобится
- Windows и Google Chrome с отладочным портом 9222.
- Python 3 и Playwright.
- Права на редактирование договоров в личном кабинете организации.
Как запустить
- Запустите Chrome с отладочным портом и войдите в ГИС ЖКХ.
- Откройте реестр договоров.
- Запустите: python process_expired_contracts.py
- Следите за журналом в консоли: на каждом договоре скрипт сообщает, что сделал.
Общая подготовка — Chrome, Python, Playwright — описана на странице «Как запустить».
Ограничения и на что обратить внимание
- Скрипт очищает дату окончания. Применяйте его только к договорам, которые действительно бессрочны или продлены. Скрипт не проверяет это за вас.
- Начните с нескольких договоров и проверьте результат в ГИС: вернуть дату позже придётся вручную.
- Скрипт опирается на текущую вёрстку ГИС ЖКХ: при её изменении локаторы придётся поправить.
Вопросы и ответы
Какие договоры обрабатывает скрипт?
Те, что показал реестр по фильтру «Истёк срок действия». Выставлять фильтр вручную не нужно: скрипт делает это сам.
Что если ГИС показал неожиданное окно?
Скрипт закрывает типовые окна: подтверждения и «Обнаружены несохранённые данные». Для остальных сообщений он остановится с понятной ошибкой в логе.