Редактор сети: модель, операции, проверка после правки, откат
Редактор правит схему сети прямо на карте: трассы, узлы, изломы, разрез, слияние, ввод в здание, тип узла и линии, разворот, удаление. Каждая операция — одна транзакция с предпросмотром и записью в журнал отмены: её можно отменить Ctrl+Z или откатить из истории правок. Сразу после записи сервер проверяет изменённое место и показывает замечания, но ничего не запрещает.
Редактор сети: модель, операции, проверка после правки, откат
Кратко. Редактор правит схему сети прямо на карте: трассы, узлы, изломы, разрез, слияние, ввод в здание, тип узла и линии, разворот, удаление. Каждая операция — одна транзакция с предпросмотром и записью в журнал отмены: её можно отменить Ctrl+Z или откатить из истории правок. Сразу после записи сервер проверяет изменённое место и показывает замечания, но ничего не запрещает.
Зачем это
Схема сети — основа расчёта. Лишний разрыв даёт «подсеть без ЗН», лишняя врезка — висячий участок, перепутанное направление — регулятор «в реверсе». Редактор помогает не только рисовать, но и сразу видеть такие последствия и откатывать ошибки. Понимать, как программа хранит сеть, нужно до первого щелчка.

Как хранится сеть
Модель та же, что у десктопа, — обе программы правят одну базу.
- Тип узла — в какой таблице лежит его карточка: потребитель, обобщённый потребитель, источник, насосная, узел соединения; простой узел — без карточки. Смена типа удаляет прежнюю карточку (у потребителя — вместе с внутренней схемой) и создаёт новую с умолчаниями. Конструктивный вид (камера, павильон) — это поле карточки.
- Тип линии — участок трубопровода (паспорт трубы) или оборудование: задвижка, насос, регулятор, обратный клапан, байпас, диафрагма. Его тоже можно сменить.
- Признак линии 1–5 и пара П/О: раздельные подача и обратка — две записи на общей трассе. Узлы у них бывают общими или своими (в Алматы — свои), поэтому правила «пара обязана иметь те же узлы» нет.
- ЗН и подпитка — дополнения к любому узлу, а не его тип.
- Длина нового участка —
L = round(длина линии в системе 9998, 2), как в десктопе. Участок короче 0,1 м не создаётся, точка ближе 0,3 м к узлу считается этим узлом, в трассе до 500 точек.
Что делает каждая операция
| Инструмент или пункт | Что происходит в данных |
|---|---|
| Трасса (L) | Участки с изломами от узла, врезки в трубу или пустого места; новые узлы; паспорт с соседнего участка или с ближайшего в 300 м |
| Узел (N) | Новый узел выбранного типа; код — от ближайшего узла |
| Изломы (E), перенос узла | Меняется геометрия, длины пересчитываются, примыкающие трубы тянутся следом |
| Врезать узел здесь | Участок делится на два; паспорт копируется, оборудование уходит на свою половину или по вашему выбору |
| Слияние (M) | Участки и все ссылки сливаемого узла переходят на целевой; сливаемый снимается |
| Ввод в здание (B) | Врезка в ближайшую трубу, участок до стены и узел-потребитель |
| Убрать узел, соединив трубы | Две трубы (или две пары П/О) становятся одной, длина пересчитывается |
| Разворот | Меняются начальный и конечный узлы; оборудование с направлением действия требует подтверждения |
| Удалить | Мягкое удаление: строка остаётся с признаком «снят» (removed = 1) |
Точную точку (из ведомости съёмки, от геодезиста) ставит G — в системе 9998, в координатах десктопа или WGS84.
Одна операция — одна транзакция
Перед записью окно предпросмотра показывает, что будет: участки и длины, врезки, что снимется, что заблокирует операцию. Это тот же запрос к серверу с признаком «без записи» — он выполняется и откатывается. Затем:
- Проверка версий. Предпросмотр получил версии объектов; запись их сверяет. Если объект за это время изменили (в вебе или в десктопе), сервер ничего не пишет и сообщает о конфликте.
- Журнал отмены. Сервер снимает полные образы строк «до» и контрольные суммы строк «после» и пишет их в журнал в той же транзакции.
- Отмена. Ctrl+Z восстанавливает образы «до» и удаляет созданное — но только если строки с тех пор не менялись. Иначе отказ с объяснением: отмена не затрёт чужую работу.
История правок (H) показывает ваши последние операции; «Откатить до сюда» отменяет их от последней до выбранной по одной, как несколько Ctrl+Z подряд, и останавливается на первой, которую отменить нельзя.
Проверка после правки
После каждой операции сервер проверяет изменённое место и всё, что к нему примыкает:
| Уровень | Правила |
|---|---|
| Ошибки — расчёт не пойдёт или пойдёт неверно | участок на снятый или несуществующий узел; начало и конец участка совпадают; узел сразу в нескольких таблицах типа |
| Предупреждения — подозрительно | дубль участка; конец трубы ближе 1 м к сети, но не привязан; узел без участков; концы в разных фрагментах; геометрия дальше 1 м от узлов; узлы без питания |
Узлы без питания ищутся по графу от источников и узлов ЗН с учётом закрытых задвижек. Замечания ничего не запрещают: правка уже записана, десктоп правит ту же базу без этих правил. Пока правка последняя, её можно отменить прямо из панели проверки.

Права. Каждый инструмент проверяет своё право в матрице «вид × действие» (трасса — создавать участки, слияние — удалять узлы); у «Оператора сети» и «Редактора» удаление — только своих объектов. На сервере должна быть включена правка сети; предпросмотры работают и без неё.
Как сделать в ТГИД
- Панель, инструменты, ограничения — Редактор сети.
- Трасса и окно «Новая трасса» — Трасса: предпросмотр и создание.
- Меню правого щелчка, тип узла и линии, разворот — Контекстное меню.
- Разрез и слияние — Разрез участка и слияние узлов.
- Удаление и «убрать узел» — Удаление узла и участка.
- Точка по координатам — Точка трассы по координатам.
- Замечания — Проверка после правки; откат — История правок и откат.
- Всё вместе в ролике — Правка сети с проверкой и откатом.
Задания
1. Подключить новое здание
Опишите, в каком порядке и что проверить, чтобы новый дом посчитался в расчёте (без нажатий — по смыслу).
Ответ
Выбрать фрагмент новых объектов; «Ввод в здание» — врезка, участок, узел-потребитель; посмотреть панель проверки (нет ли непривязанного конца и узлов без питания); в карточке потребителя задать схему присоединения, нагрузки, коды расчётных температур и удельных расходов; у участка — диаметр, прокладку, изоляцию; затем расчёт фрагмента и располагаемый напор у нового потребителя.
2. Сумма длин
Участок 244,44 м разрезали на четверти длины. Какие длины у половин? Что будет после «Убрать узел, соединив трубы»?
Ответ
Около 61 и 183 м (в инструкции 62,34 и 182,10 м), в сумме те же 244,44 м; после «убрать узел» — снова один участок.
3. Откат не прошёл
Вы сделали трассу, сменили тип конечного узла и разрезали участок. Коллега тем временем поправил карточку нового участка. «Откатить до сюда» на трассе остановился. Почему и что делать?
Ответ
Разрез и смена типа отменились, а трассу отменить нельзя: строки её участка изменены после операции (правка коллеги), контрольная сумма не совпала. Удалите участок вручную или договоритесь с коллегой.
4. Подача и обратка
На участке подача и обратка заданы раздельно. Вы разворачиваете подающую трубу. О чём спросит окно и почему?
Ответ
Развернуть ли парную обратку вместе с ней (они на одной трассе) и, если на трубе есть оборудование с направлением действия (обратный клапан, регулятор), — подтвердить, что направление его действия изменится.
