Технические условия
Реестр технических условий на подключение и их нагрузки: состояние, год выдачи, источник, привязка к зданию.
Возможности
- Плитки «Найдено» и по состояниям: «Действующий», «Аннулированный», «Аннулированный по мониторингу», «Завершенный». Нажатие на плитку — отбор, повторное — снять.
- Поиск по номеру ТУ, организации-заявителю, объекту, адресу, источнику, району эксплуатации и номеру договора; фильтры «Состояние», «Год выдачи», «Источник», «Район эксплуатации», «Привязка» («Привязанные» / «Без привязки»), «Выдано с», «Выдано по».
- Таблица: «№ ТУ / дата», состояние, «Объект и адрес», организация, «Источник / район», нагрузка с приростом, привязка к зданию.
- Карточка ТУ: «Основные сведения», «Тепловые нагрузки» (общая, отопление, вентиляция, ГВС макс. и средняя, приросты), «Согласования и мероприятия», «Акт допуска и договор», «Привязка к объекту»; списки «Изменения и продления», «Узлы присоединения», «Документы».
- «На карте» — переход к зданию ТУ. «Свод» — Excel баланса по источникам за год из фильтра «Год выдачи» (без года — за последний год выдачи).
- «Точка подключения» — подбор узла подключения рядом с объектом (см. «Черновик ТУ (ИИ)»).
- «Создать», «Редактировать», «Удалить» — ведение реестра.
- Реестр открывается и из карточки здания или трубопровода: тогда в нём только ТУ этого объекта («ТУ здания N», «ТУ трубопровода N»).
Как это работает
Где хранятся данные. Реестр общий с десктопом: таблица tehnicheskie_usloviya, справочник состояний и здания для ТУ zdaniya_tu. ТУ привязано, если в нём указано здание и это здание есть в zdaniya_tu. Если ссылка есть, а здания нет, в карточке — «В исходной базе ссылка на здание N не найдена. Карточка ТУ доступна, позиционирование на карте — нет.»
Поиск и даты. Поиск — по вхождению строки без учёта регистра. «Год выдачи», «Выдано с» и «Выдано по» сравниваются с датой выдачи ТУ. В списке — 50 записей на страницу.
Свод ТУ. По каждому источнику за год: число ТУ, установленная и располагаемая мощность, договорная нагрузка (отопление, вентиляция, ГВС), прирост по ТУ, нагрузка по актам допуска, баланс с учётом подключённых и с учётом перспективы, признак дефицита. Мощности берутся из prisoedinennaya_nagruzka_istochnikov за тот же год, а если его нет — за последний год, и это сказано в уведомлении. Если таблица пуста, в уведомлении — «Нет данных о присоединённой нагрузке источников — только по ТУ и договорам». Эталон — запрос excel2/tu/tu.sql десктопа. Файл — report_tu-balance_‹год›.xlsx.
Перспективный прирост нагрузки строится по этому реестру: прирост из ТУ, акты допуска и сроки ТУ (окно «Перспективный прирост нагрузки»).
Запись. Создание, правка и удаление пишутся в таблицу реестра и в журнал действий. Новую запись нельзя сохранить пустой: «Заполните хотя бы одно поле ТУ».
Персональные данные. Заявителем бывает частное лицо: на копии Алматы у 1014 из 4775 ТУ название заявителя похоже на ФИО. Пользователь без права «Персональные данные» видит такого заявителя замаскированным — первая буква фамилии со звёздочками и инициалы; названия организаций не меняются. Номер договора тоже маскируется. «Свод» и другие файлы Excel не маскируются: в них заявители видны полностью.
Что нужно для работы
- Таблица
tehnicheskie_usloviyaв базе города: на копии Алматы — 4775 ТУ, на копии Астаны реестр пуст. - Просмотр, поиск, «Свод», «На карте» — любой вошедший пользователь. Заявителей-людей без маски в реестре видят с правом «Персональные данные».
- «Создать», «Редактировать», «Удалить» — право «Журналы: ремонты, ПТС, акты, ТУ, привязки» и включённая запись (
MUTATIONS_ENABLED=true); без этого кнопок нет, сервер проверяет то же.
Шаги
Откройте «Инструменты» и наберите в поиске «Технические условия» — пункт выделен рамкой.

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

Начните набирать в поле поиска номер ТУ, организацию, объект, адрес или договор — список сузится сразу. Фильтры рядом — по состоянию, году выдачи, датам «Выдано с» и «Выдано по», источнику, району и привязке к зданию. Щелчок по строке открывает карточку ТУ.

Примеры
Копия Алматы: состав реестра. 4775 ТУ: «Действующий» — 1742, «Завершенный» — 1583, «Аннулированный» — 1361, «Аннулированный по мониторингу» — 89. Привязано к зданию 4562, без привязки — 213. Годы выдачи — с 2003 по 2025; за 2023 год — 457 ТУ, за 2024 — 387, за 2025 — 216.
Поиск по номеру. Наберите «15.3/16314» — останется одна запись: «15.3/16314/25-ТУ-В-75» от 29.08.2025, «Действующий», источник АО «АлЭС» (ТЭЦ-1, ТЭЦ-2, ЗТК), район ВЭР, нагрузка 8,439 Гкал/ч, прирост 8,439, здание 22585 привязано.
Свод за 2025 год. «Свод ТУ 2025: 216 записей (Мощности источников взяты за 2019 (в таблице присоединённой нагрузки источников нет 2025 года))». В своде 76 строк источников; прирост нагрузки по ТУ — 278,15 Гкал/ч, дефицит — у 31 источника.
Если не получается
- «Не удалось загрузить реестр технических условий» или «Не удалось открыть карточку технических условий» — API недоступен; «Повторить» перезагрузит список.
- «Справочники не загрузились — фильтры и выбор значений могут быть неполными» — списки фильтров пустые, сам реестр работает.
- «Дата «с» не может быть позже даты «по»» — поменяйте местами «Выдано с» и «Выдано по».
- «Технические условия не найдены» с «Измените фильтры: по выбранным условиям записей нет» — сбросьте фильтры; «В реестре пока нет записей» — таблица ТУ в базе города пуста.
- «Не удалось выгрузить свод ТУ» — сбой формирования свода.
- «Изменений нет — сохранять нечего» — в карточке ничего не поменяли.
- «Ошибка при сохранении» и «Ошибка при удалении» с текстом сервера — нет права, выключена запись или запись не прошла проверку.
Для администратора
- Таблицы десктопа:
tehnicheskie_usloviya,zdaniya_tu,prisoedinennaya_nagruzka_istochnikov; веб их не создаёт. - Запись:
MUTATIONS_ENABLED=true, правоjournals. - Маскирование ответов (
PII_MASKING, правоpii_view) закрывает в ТУ номер договора иorganization_name(заявитель, владелец оборудования), если значение похоже на имя человека. Выгрузки Excel, в том числе ведомость «Технические условия», маскирование не проходят.
Для разработчика
- API:
GET /api/technical-conditions(page,page_sizeдо 200,state_id,issue_year,heat_source,district,linked,date_from,date_to,building_id,pipe_id,search;state_counts),GET /api/technical-conditions/{id},GET /api/technical-conditions/lookups,GET /api/technical-conditions/balance?year=,POST|PUT|DELETE /api/v1/technical-conditions[/{id}]; подбор подключения —GET /api/v1/technical-conditions/connection-candidates,GET /api/v1/technical-conditions/load-estimate—routers/registries.py,database/technical_conditions.py,database/tu_balance.py; маска заявителя —database/pii.py(_PARTY_KEY). - Excel свода —
GET /api/reports/excel/tu-balance?year=(reports_generator.py). - Веб:
components/TechnicalConditionJournalDialog.vue(ключtechnicalCondition),components/ai/TuConnectionDialog.vue,JournalShell.vue. - Тесты: API —
tests/test_tu_balance.py,tests/test_tu_connection.py; e2e — «технические условия: поиск сужает реестр» вe2e/functions.spec.ts.
