Справочники
Справочники — это вспомогательные таблицы, на которые ссылаются основные сущности: типы оборудования, приоритеты, статусы, регионы и т.п.
Раздел Админ → Справочники объединяет управление ими в одном меню.
Какие справочники есть
Раздел «Справочники»
| Группа | Справочники |
|---|---|
| Адресные | Регионы, Районы (Arial), Населённые пункты, Улицы, Типы зданий, Типы помещений |
| Договоры | Типы договоров, Должности, Организации |
| Оборудование | Типы оборудования, Системы |
| Заявки/Неисправности | Типы заявок (spec_order), Статусы заявок, Статусы отчётов, Статусы неисправностей, Приоритеты |
| Банки | Список банков для реквизитов организаций |
| Периоды | Месяц, квартал, год |
Стандартная структура справочника
Каждая запись имеет:
- Название — отображается в выпадающих списках.
- Код (
code) — короткое строковое значение (UNIQUE). Используется в коде для бизнес-логики (например,status.code == 'resolved'). - Описание (
description) — опционально.
CRUD
- Создание — кнопка «+ Создать».
- Редактирование — клик по строке.
- Удаление — кнопка ✖. Если на запись ссылаются другие данные, удаление будет отклонено с сообщением «Запись используется».
Системные записи
Часть строк в справочниках помечена как системные — на них завязана бизнес-логика бэкенда (например, статусы new, not_approved, resolved, closed; приоритеты low–critical; типы заявок emergency, primary, planned, test, fix — «Устранение неисправности»).
- В таблице рядом с названием отображается бейдж «🔒 Системная».
- Кнопка «🗑 Удалить» для таких строк недоступна (бэкенд тоже отклонит запрос — это двойная защита).
- Редактирование разрешено: имя, описание и прочие поля можно менять, но коды лучше не трогать (см. «Особое внимание к кодам статусов»).
Каскадные справочники
Адресные справочники связаны через spec_*:
- Регион ссылается на тип региона (
spec_region). - Район ссылается на тип района (
spec_arial). - И т.д.
Изменение типа в основной сущности не влияет на ранее созданные записи.
Особое внимание к кодам статусов
Бэкенд использует коды статусов в бизнес-логике:
status.code == 'resolved'— триггер требованияresolved_dateдля неисправности.status.code == 'closed'— финальный статус заявки.
Не переименовывайте коды у уже существующих стандартных записей. Если нужен новый статус — создайте новый код.
Организации в разделе «Справочники контракта»
Карточка «Организации» на странице справочников ведёт в полноценный каталог юридических лиц (заказчики и подрядчики).
- Создание и редактирование — общая модалка с той, что открывается из карточки договора.
- Удаление — иконкой 🗑 в строке (с подтверждением).
- Подробнее: см. статью «Организации».
Поля для авто-генерации заявок
В двух справочниках появились поля, влияющие на Авто-генерацию заявок:
- Периоды → поле «Тип расписания» (
monthly/quarterly/semiannual/yearly/custom). Определяет, в начале какого календарного периода cron-tick создаёт «Плановое ТО» для объекта с этим периодом. - Виды заявок → секция «Авто-генерация» с двумя чекбоксами «По умолчанию для планового ТО» и «По умолчанию для первичного обследования». На каждый флаг — не более одной записи; при переключении старый владелец автоматически снимается.
Срок исполнения (SLA) у типов заявок
В справочнике Типы заявок (spec_order) есть блок «Срок исполнения (SLA)» — определяет как рассчитывать «Срок исполнения» у заявок этого типа. Три режима:
- 📅 По периоду объекта (
periodic) — конец календарного периода объекта (месяц / квартал / полугодие / год). Пример: плановое ТО квартальное, заявка от 5 сентября → срок = 30 сентября (конец Q3). - ⏱ От даты создания (
from_creation) — created_at + N дней. Пример: АВР со сроком 3 дня, заявка от 5 сентября → срок = 8 сентября. Число дней задаётся в поле «Дней на исполнение» (1-365). - ✍️ Вручную (
manual) — автозаполнения нет, пользователь вводит срок в форме заявки сам.
Для from_creation доступен чекбокс «Считать рабочие дни» — если включён, пропускаются суббота и воскресенье. Госпраздники РФ не учитываются (простой вариант без внешнего календаря).
Автозаполненный due_date можно переопределить вручную в форме конкретной заявки — юзер увидит поле с датой, автоматически подставленное по правилу типа, но с возможностью изменить.
Статусы отчётов
Отдельный справочник Статусы отчётов (spec_report_status) — независим от статусов заявок и неисправностей. Стандартные строки (сид):
| Название | Роль |
|---|---|
| В работе (default) | Инженер заполняет отчёт |
| На утверждении | Ждёт проверки руководителя |
| Утверждён | Финал, работа принята |
| Отклонён | Вернули на доработку |
Ровно у одной строки должен быть флаг «По умолчанию» — этот статус подставляется новым отчётам автоматически. Права: spec_report_status_read/create/modify/delete (см. Роли).