Шурфовки
Журнал шурфовок: план, предписания и выполнение шурфовых осмотров трубопроводов.
Возможности
- Плитки «Найдено» и по состояниям шурфовок; нажатие на плитку состояния — отбор, повторное — снять.
- Поиск по номеру записи, улице, номеру дома, номеру акта, результатам осмотра, назначенным мероприятиям и примечанию; фильтры «Назначение», «Состояние», «Утверждение» («Утверждённые» / «Не утверждённые»), «С даты», «По дату».
- С карты журнал открывается для одного трубопровода («шурфовки трубопровода N») или узла («шурфовки узла и прилегающих трубопроводов N»).
- «Новая шурфовка»: «Плановый шурф» или «Внеплановый». Карточка в четырёх блоках: «План и местоположение», «Условия вскрытия и канал», «Осмотр трубопроводов», «Акт и утверждение».
- «Нарушения, выявленные в шурфе» — переход в карточку нарушения; документы шурфовки.
- «Утвердить план» над списком — пакетное утверждение плановых шурфов за период; в карточке — утверждение одной записи и «Снять утверждение».
- «На карте» — место шурфа; «Word» — акт шурфовки.
Как это работает
Где хранятся данные. Журнал общий с десктопом ТГИД. Шурфовка — строка таблицы shurfy с точкой на карте, документы — shurfdocuments. Справочники: назначение вскрытия (naznachenie_vskr: «План», «Предписание», «Нарушение»), состояние (sostoyanie_shurfa), улицы (ulitsy), должности (dolzhnosti), подразделения (subdivisions). Нарушения в шурфе — таблица defectsforshurfy.
Режимы создания (как пункты меню десктопа):
| Режим | Назначение | Состояние | Подсказка в окне |
|---|---|---|---|
| «Плановый шурф» | «План» | «План» | «С плановыми датами, попадает в план на утверждение» |
| «Внеплановый» | не задано — выберите в карточке | «В процессе» | «По нарушению: сразу «в процессе»» |
Обе записи создаются неутверждёнными. Звёздочка у плановых дат в режиме «Плановый шурф» не значит, что без них запись не сохранится: сервер сохраняет шурфовку и без дат. Даты нужны для утверждения.
Место шурфа. В карточке задаётся номер трубопровода. По нему сервер показывает начальный и конечный узлы участка и, если у шурфа ещё нет точки, ставит точку в середину участка. Точку, которая уже есть, смена трубопровода не двигает. Адрес складывается из улицы и номера дома; в вебе правится только номер дома, улица — только для чтения. «Ближайшая камера» тоже только показывается: веб её не подставляет и не правит. «Расстояние до ближайшей камеры» вводится числом.
Проверки при сохранении. Окончание по плану не раньше начала по плану, окончание не раньше начала по факту. Значения справочников должны существовать в базе.
Утверждение. Шурфовку можно утвердить, если заполнены начало и окончание по плану; контур не нужен. При утверждении ставятся отметка, дата утверждения плана и, если заданы, назначение, ФИО и должность утверждающего, служба утверждающего, ФИО и должность визирующего. Состояние шурфовки не меняется. Пакетное утверждение предлагает до 500 неутверждённых шурфовок с назначением «План» и началом по плану в выбранном периоде. Внеплановую шурфовку с плановыми датами можно утвердить только из её карточки.
Даты в фильтре. «С даты» и «По дату» сравниваются с началом по факту, а если его нет — с началом по плану. Список упорядочен по той же дате, новые сверху.
Удаление убирает шурфовку, её нарушения в шурфе, виды осмотренных элементов, сведения о коммуникациях поблизости и документы.
Что нужно для работы
- Смотреть журнал, карточки и выгружать Word — любой вошедший.
- Создавать, править, удалять, утверждать, менять документы — право «Журналы» и включённая запись (
MUTATIONS_ENABLED=true). Без них нет кнопок «Создать», «Утвердить план», «Редактировать». - Для отбора по трубопроводу и узлу на карте — номер трубопровода в шурфовке. Записи без номера трубопровода в такой отбор не попадают.
Шаги
Откройте «Инструменты» и наберите в поиске «Шурфовки» — пункт выделен рамкой.

Нажмите пункт — откроется окно.

Журнал открывается списком: плитки-счётчики сверху (нажатие — фильтр), поиск и фильтры, кнопка «Сбросить». Значок прицела в строке показывает запись на карте, стрелка — открывает карточку. Нажмите «Создать» — откроется форма новой шурфовки. Вверху выберите вид: «Плановый шурф» или «Внеплановый». Заполните поля (обязательные отмечены звёздочкой) и нажмите «Сохранить»; «Отмена» закрывает форму без записи. Как это выглядит целиком — на примере журнала нарушений.

Примеры
Копия Астаны. В журнале 23 шурфовки: «В процессе» — 6, «Выполнено» — 17. У всех назначение «Нарушение», ни одна не утверждена и ни у одной нет плановых дат. Вскрытия начаты с 15.12.2022 по 16.02.2026: в 2022 году — 4, 2023 — 6, 2024 — 2, 2025 — 8, 2026 — 3. У всех 23 есть точка на карте, улица, номер дома и ближайшая камера, но не указан трубопровод. Поэтому журнал, открытый с карты для трубопровода или узла, на этой копии пуст. Результаты осмотра заполнены у 22 записей, номер акта — у 4. Документов — 25, нарушений в шурфе — 0.
Копия Алматы. Одна запись № 8: плановый шурф на трубопроводе 324074, узлы «ТК-42 — ТК-41», без плановых дат, «Не утверждено». Она сохранена без дат, хотя в окне они отмечены звёздочкой. Утвердить её можно только после заполнения начала и окончания по плану.
Если не получается
- «Запись не прошла проверку — Окончание по плану: не раньше «Начало по плану»» — даты перепутаны.
- «Ссылка на несуществующую запись — …: нет записи N в справочнике» — значения справочника или трубопровода с таким номером нет в базе.
- После пакетного утверждения «Ни один план не утверждён — см. причины»: «не заполнены поля плана» (начало и окончание по плану), «уже утверждено».
- «Нет планов для утверждения» — в периоде нет неутверждённых шурфовок с назначением «План».
- «Запись не утверждена» при снятии утверждения — запись и так не утверждена.
- Журнал с карты пуст — у шурфовок не указан трубопровод (см. пример Астаны).
- «Не удалось сформировать Word» — сервер не собрал акт; повторите позже.
- Пустой журнал показывает «В журнале пока нет записей — создайте первую или перенесите журнал из десктопной ТГИД» — в базе города нет шурфовок.
Для администратора
- Запись:
MUTATIONS_ENABLED=true, право «Журналы» (journals). При входе через роли PostgreSQL (AUTH_BACKEND=pg) права окончательно проверяет база (sql/pg_auth/03_grants.sql). - Таблицы десктопные (
shurfy,shurfdocuments,defectsforshurfy,vidy_elementov_for_shurfy,nalichie_vblizi_kommunikacij_for_shurfy); веб их не создаёт. - Создание, правка, удаление, утверждение и снятие утверждения пишутся в
audit_log(INSERT,UPDATE,DELETE,APPROVE,UNAPPROVE).
Для разработчика
- Чтение:
GET /api/shurfs(page,page_size,purpose_id,state_id,approved,date_from,date_to,line_id,node_id,search;state_counts),GET /api/shurfs/{id},GET /api/shurfs/lookups—routers/operations.py,database/shurfs.py. - Запись:
POST|PATCH|DELETE /api/v1/journals/shurfs[/{id}](mode:plan/unplanned), утверждениеGET …/{id}/approval,POST …/{id}/approve,POST …/{id}/unapprove, пакетGET /api/v1/journals/shurfs/approval/candidates,POST /api/v1/journals/shurfs/approve, документы…/{id}/documents—routers/journals.py,database/journal_write.py(_set_point),database/journal_specs.py(SHURFS). - Word:
GET /reports/word/shurf/{id}(routers/exports_p4.py). - Веб:
components/ShurfJournalDialog.vue,JournalBatchApprovalDialog.vue,JournalRecordPanels.vue,JournalDetailFields.vue. - Тесты: API —
tests/test_journals_write.py,tests/test_journal_mutations_qa.py; веб —tests/components/JournalRecordPanels.spec.ts,tests/utils/journalWrite.spec.ts; e2e —e2e/permissions.spec.ts,e2e/resilience.spec.ts(открытие «Шурфовок»).
