Программа для массовой проверки заданий ActiveMap. Открывает задания одно за другим, показывает фотографии и поля, позволяет одним нажатием изменить статус прямо в системе.
- Что это и зачем
- Как запустить
- Первый вход
- Экран настройки
- Просмотр заданий
- Горячие клавиши
- Частые вопросы
- Сообщить об ошибке
- История версий
При проверке сотен заданий в ActiveMap приходится открывать каждое вручную, смотреть фото, переключать статус — это очень долго.
ActiveMap Reviewer делает это в 3 клика:
Запустил → Выбрал фильтры → Нажимаешь кнопки решений — статусы меняются автоматически
Возможности:
- Загружает задания по выбранному виду работ, этапу и стадии
- Список организаций загружается полностью (все записи), отсортирован по алфавиту
- Показывает фотографии (с увеличением), описание, адрес, исполнителя, кастомные поля
- Кнопки решений настраиваются: каждая несёт Этап и Стадию — оба значения уходят в систему одним нажатием
- Горячие клавиши
1,2,3... для скоростной работы,Backspace— отменить последнее решение - Именованные пресеты кнопок решений — сохраните несколько наборов кнопок (для разных видов проверки) и переключайтесь между ними одним кликом
- Несколько сотрудников могут работать параллельно — каждый видит актуальный список; задания, которые обработал коллега, помечаются при обновлении списка
- Проверка не теряется при случайной перезагрузке страницы — при повторном входе предлагается продолжить с того же места
- Работает полностью в браузере, данные идут напрямую на сервер
sao.geofsm.ru
Не требует Python, ничего устанавливать не нужно.
- Перейдите в раздел Releases (справа на странице)
- Скачайте файл
ActiveMapReviewer.exe - Положите его в любую папку и запустите двойным кликом
- Браузер откроется автоматически на адресе
http://localhost:8765
⚠️ Если Windows предупреждает об опасности — нажмите «Подробнее» → «Выполнить всё равно». Программа не содержит вирусов, предупреждение появляется для любого нового .exe без подписи.
Для тех, у кого уже установлен Python 3.8+.
-
Скачайте
reviewer.pyиreviewer_html.htmlв одну папку -
Откройте командную строку (cmd) в этой папке
-
Выполните:
python reviewer.py -
Браузер откроется автоматически
⚠️ Не открывайтеreviewer_html.htmlдвойным кликом напрямую в браузере (адрес будет начинаться сfile://) — это НЕ отдельная веб-страница, а интерфейс, которому нужен запущенный рядомreviewer.py(или.exe, Способ 1). Без него не работают ни вход, ни список заданий, ни фото, ни кнопки решений — почти всё выглядит "сломанным". Всегда запускайте черезpython reviewer.pyилиActiveMapReviewer.exeи открывайтеhttp://localhost:8765, который откроется сам.
После запуска откроется страница входа:
┌─────────────────────────────────┐
│ ПРЕФЕКТУРА САО │ ActiveMap │
├─────────────────────────────────┤
│ │
│ Логин: [________________] │
│ Пароль: [________________] │
│ │
│ [ Войти ] │
└─────────────────────────────────┘
Введите логин и пароль от ActiveMap (те же, что используете на sao.geofsm.ru).
❗ Программа не хранит пароль — он используется только для получения токена сессии.
После входа выберите параметры проверки:
| Поле | Что выбрать |
|---|---|
| Вид задания | Тип работ, например «АБП и Бортовой камень (УМиК)» |
| Статус | Нужный статус заданий, например «На утверждении» |
| Стадия | «В работе», «Завершено» или «Все стадии» |
| Организация | Подрядчик (опционально — для фильтрации) |
| Период | Дата от/до (опционально) |
| Кнопки решений | Настройте от 1 до 5 кнопок — каждая содержит Этап и Стадию |
Каждая кнопка — это действие, которое вы будете применять к заданиям:
- Название кнопки — как она будет выглядеть (например: «✅ Утверждено», «🔄 Доработка»)
- Этап — на какой статус переключить задание в системе при нажатии
- Стадия — «В работе» или «Завершено» (применяется одновременно с Этапом)
Пример настройки:
| Кнопка | Этап | Стадия |
|---|---|---|
| ✅ Утверждено | Утверждено | Завершено |
| 🔄 Доработка | На доработку | В работе |
Нажмите «Начать проверку» — загрузится список заданий.
┌─────────────────────────────────────────────────────┐
│ Задание 12 / 91 #5814987 │
│ ДТ\Фестивальная ул. 52, 52 к.1 │
│ [АБП и Бортовой камень] [В работе] [16.06.2026] │
├──────────────────────┬──────────────────────────────┤
│ │ Район: Головинский │
│ [ Фото ] │ Привязка: ДТ │
│ │ Исполнитель: ... │
│ │ │
│ │ РЕШЕНИЕ: │
│ │ [ 1. Утверждено ] │
│ │ [ 2. Доработка ] │
│ │ [ ⏭ Пропустить ] │
├──────────────────────┴──────────────────────────────┤
│ ← Назад Вперёд → │
└─────────────────────────────────────────────────────┘
Работа с фотографиями:
- Нажмите на миниатюру — увеличенное фото откроется в левой половине экрана, не закрывая рабочую область
- Правая половина остаётся полностью рабочей: карточка задания, список всех фото, кнопки решений — всё видно и кликабельно, пока фото открыто
- Можно кликать по другим миниатюрам справа, чтобы переключать фото слева, не закрывая просмотр
- Кнопки решений (
1–9) и пропуск (S/Ы) работают, даже когда фото открыто — решение можно принять, глядя на увеличенный снимок - Прокрутка мышью — зум (от 100% до 800%)
- Перетаскивание зажатой кнопкой мыши — панорамирование
+/-на клавиатуре — зумEscape— закрыть фото (на узких окнах фото открывается на весь экран, как раньше)
Принятие решения:
- Нажмите нужную кнопку или клавишу
1,2,3... - Этап и Стадия автоматически изменятся в системе ActiveMap
- Программа сразу перейдёт к следующему заданию
Навигация:
←/→— предыдущее/следующее заданиеSилиЫ— пропустить (без изменения статуса)
| Клавиша | Действие |
|---|---|
1 — 9 |
Кнопка решения № + автопереход к следующему заданию (работает и при открытом фото) |
S / Ы |
Пропустить задание (без изменения статуса) |
Backspace |
Отменить последнее решение — вернуться к тому заданию и выбрать заново |
← |
Предыдущее задание |
→ |
Следующее задание |
+ / = |
Увеличить фото |
- |
Уменьшить фото |
0 |
Сбросить зум фото |
Escape |
Закрыть фото |
Enter |
Войти (на экране входа) |
❓ Программа не открывается / браузер не запускается
Откройте браузер вручную и перейдите по адресу: http://localhost:8765
❓ Написано «Задания не найдены»
Проверьте фильтры — возможно, выбранная комбинация вида работ + статус + стадия не даёт результатов. Попробуйте выбрать «Все стадии».
❓ Заданий больше 500 — не потеряются ли лишние?
Нет, начиная с v2.0.0 программа сама подгружает все страницы (500 за раз) без ограничения — предупреждение о лимите больше не появляется.
❓ Случайно обновил страницу (F5) посреди проверки — всё потерялось?
Нет. При следующем входе программа спросит «Продолжить проверку?» и восстановит список заданий, позицию и уже принятые решения. Учтите: это работает только пока вкладка браузера не закрыта — sessionStorage не переживает закрытие вкладки.
❓ Что означает бейдж «Решено другим сотрудником»?
Список заданий общий для всех, кто одновременно работает в программе. Если статус задания изменился без вашего участия (кто-то другой его обработал), после нажатия «🔄 Обновить» такое задание будет помечено этим бейджем.
❓ Статус не поменялся / ошибка отправки
Проверьте подключение к сети. Нажмите кнопку решения ещё раз — программа повторит отправку.
❓ Фотографии не загружаются
Иногда сервер отвечает медленно. Подождите несколько секунд или перейдите к следующему заданию и вернитесь обратно.
❓ Несколько сотрудников работают с одинаковыми заданиями
Так и задумано — каждый видит один и тот же список, но статусы меняются в системе сразу. Используйте фильтр по организации, чтобы разделить зоны ответственности.
❓ Можно ли вернуться к заданию, которое уже прошли?
Да. Нажмите «История» в верхней панели — там список всех решений текущей сессии, можно кликнуть на любое и изменить решение.
Нашли баг или что-то работает неправильно?
- Нажмите кнопку 🐛 Ошибка в правом верхнем углу программы
- Опишите что произошло
- Нажмите «Отправить»
Отчёт сохранится в файл bug_reports.jsonl рядом с программой.
Также можно создать Issue на GitHub.
- Кнопка решения без выбранного Этапа больше не пропадает молча — конкретная ошибка с её названием, подсветка в настройках
- Пресеты теперь сохраняют набор кнопок решений, а не фильтры (перенесены в блок «Кнопки решений»)
- Вторая запущенная копия программы больше не занимает порт 8765 незаметно — понятное сообщение вместо тихого дублирования старой/новой версии
- Горячие клавиши не срабатывают, пока открыта модалка подтверждения; решение, не отправленное до случайной перезагрузки, больше не зависает навсегда
- Сплит-экран фото больше не сворачивается в полноэкранный режим на окнах шире 700px
- Увеличенное фото открывается в левой половине экрана вместо полноэкранного окна — карточка задания, список фото и кнопки решений остаются видны и рабочи справа
- Настройки (фильтры, кнопки решений) сохраняются между запусками (
localStorage) - Автоматическая постраничная загрузка заданий свыше 500 — без предупреждения о лимите
- Экспорт результатов сессии в CSV
- Кнопки решений блокируются на время отправки статуса — исключает случайную повторную отправку
- Логирование в
reviewer.log, устойчивая обработка ошибок авторизации и PATCH-запросов - Проверка не теряется при случайной перезагрузке страницы — предлагается восстановить сессию
- Отмена последнего решения по
Backspace - Именованные пресеты кнопок решений (несколько сохранённых наборов)
- Статистика скорости («заданий/мин») на экране итогов
- Бейдж «Решено другим сотрудником» при обновлении общего списка заданий
- Toast-уведомления и модалка подтверждения вместо системных всплывающих окон браузера
- Исправлены гонка авторизации, утечка токена через
/debug, потеря истории при «Обновить» и ещё ряд ошибок, найденных полным аудитом (подробности — в CHANGELOG.md)
- Кнопки решений теперь содержат Этап и Стадию — оба значения уходят в ActiveMap при нажатии
- Список организаций загружается полностью (постраничная загрузка), отсортирован по алфавиту
- Стадия в фильтре настройки стала обязательной
- Новый профессиональный дизайн: тёмный топбар с золотым акцентом, брендинг Префектуры САО
- Исправлено: фото не открывались при нажатии (ошибка в HTML-атрибуте onclick)
- Первый стабильный релиз
- Авторизация, фильтрация, просмотр заданий, кнопки решений, лайтбокс с зумом, баг-репорты
Полная история: CHANGELOG.md
ActiveMap: sao.geofsm.ru