Справка · Веб-версия · Для администраторов

Справочники

Справочники — это вспомогательные таблицы, на которые ссылаются основные сущности: типы оборудования, приоритеты, статусы, регионы и т.п.

Раздел Админ → Справочники объединяет управление ими в одном меню.

Какие справочники есть

Раздел «Справочники»Раздел «Справочники»

Группа Справочники
Адресные Регионы, Районы (Arial), Населённые пункты, Улицы, Типы зданий, Типы помещений
Договоры Типы договоров, Должности, Организации
Оборудование Типы оборудования, Системы
Заявки/Неисправности Типы заявок (spec_order), Статусы заявок, Статусы отчётов, Статусы неисправностей, Приоритеты
Банки Список банков для реквизитов организаций
Периоды Месяц, квартал, год

Стандартная структура справочника

Каждая запись имеет:

  • Название — отображается в выпадающих списках.
  • Код (code) — короткое строковое значение (UNIQUE). Используется в коде для бизнес-логики (например, status.code == 'resolved').
  • Описание (description) — опционально.

CRUD

  • Создание — кнопка «+ Создать».
  • Редактирование — клик по строке.
  • Удаление — кнопка ✖. Если на запись ссылаются другие данные, удаление будет отклонено с сообщением «Запись используется».

Системные записи

Часть строк в справочниках помечена как системные — на них завязана бизнес-логика бэкенда (например, статусы new, not_approved, resolved, closed; приоритеты lowcritical; типы заявок 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 (см. Роли).