Перейти к содержанию

Задачи — Администрирование

Обзор

Домен tasks охватывает настройку иерархий задач, шаблонов создания и поведенческих флагов жизненного цикла. Основная часть настроек поведения задач задаётся через категорию (смежный домен categories). Администрирование использует:

  • Автоадминка (dbadmin) -- 2 формы (иерархии задач, шаблоны задач)
  • EntityEditor -- 6 схем (шаблоны: taskuniversaltemplate, templates, templatesDetails, templateList, templateColor, templateIcon)
  • Admin API -- 2 контроллера (иерархии, аудит доступа)

Механизмы администрирования

Автоадминка (dbadmin)

Alias формы Название Таблица БД Полей Секций Deps Папка
task-hierarchies Иерархии задач dbo.TaskHierarchy 14 1 0 Пользовательский интерфейс
task-templates Шаблоны задач dbo.TaskUniversalTemplates 15 1 0 (корень)

EntityEditor

Схема JSON Таблица Назначение
taskuniversaltemplate dbo.TaskUniversalTemplates Расширенная настройка шаблона задачи
templates dbo.Templates Основные шаблоны
templatesDetails (связанная) Детали шаблона
templateList (связанная) Список шаблонов
templateColor (связанная) Цвет шаблона
templateIcon (связанная) Иконка шаблона

Admin API контроллеры

Контроллер Маршрут Методы Назначение
TaskHierarchyAdminController /api/admin/tasks/hierarchy GET, POST, PUT, DELETE CRUD иерархий, полей, dynamic nodes
TaskAccessAdminController /api/admin/tasks/{taskId}/access GET Аудит доступа к конкретной задаче

Ключевые настройки

Иерархии задач (TaskHierarchy)

Где настраивается: автоадминка -> форма task-hierarchies / Admin API -> TaskHierarchyAdminController Таблица БД: dbo.TaskHierarchy

14 полей, определяющих структуру дерева задач в UI:

Группа полей Что контролирует
Имя, описание Идентификация иерархии
Поля иерархии Какие данные отображаются на каждом уровне
Dynamic nodes Динамические узлы, вычисляемые в runtime
Привязка к категориям Какие категории используют иерархию

Эффект в runtime: иерархия строится TaskHierarchyService и отображается в левой панели/дереве.

Шаблоны задач (TaskUniversalTemplates)

Где настраивается: автоадминка -> форма task-templates / EntityEditor -> taskuniversaltemplate Таблица БД: dbo.TaskUniversalTemplates

15 полей: предзаполненные значения для создания задач (категория, исполнитель, срок, ДП).

Эффект в runtime: при создании задачи из шаблона поля автозаполняются из TaskUniversalTemplates.

Поведение задач в категории (смежный домен)

Где настраивается: автоадминка -> FormsGenerator subcategories → секции задач/сроков/исполнителей Таблица БД: dbo.Subcategories

Большая часть поведения задач задаётся флагами категории: - Подтверждение переноса срока через подпись - Ограничения на смену исполнителей для просроченных задач - Делегирование и права - Автоматические действия при переходах

Связь с categories: см. docs/domains/categories/admin.md.

Денормализация (runtime)

Таблицы БД: dbo.TasksInSubcat*Denormalized

Скорость и корректность гридов задач зависят от актуальности денормализованных данных. Рассинхрон приводит к отображению устаревших данных при корректной таблице Tasks.

CustomSettings — прочие ключи задач

Ключ Тип / Default Назначение
UseOldSurveys 0 / 1 Выбор редактора опросов: 0SurveyJS (рекомендуется), 1SurveyProject (устаревший). Меняется только при наличии причин для возврата к старому редактору
SearchEncryptedTasks bool Включает поиск по зашифрованным задачам (если в категории включено шифрование). См. business.md § «Шифрование задач»
personalDynSignaturesOnly array (SubcatID) Список ID категорий, в которых отключаются динамические подписи (только статические на маршруте)

Типичные ошибки настройки

Симптом Причина Где проверить SQL-диагностика
Не удаётся изменить срок задачи Включён режим подтверждения через подпись Настройки категории select * from dbo.StepSignatures where StepId in (select Id from dbo.Steps where SubcatId = {subcatId})
Не удаётся сменить исполнителя Ограничения категории для просроченных задач Настройки категории Проверить флаги делегирования в dbo.Subcategories
Иерархия задач пустая/неверная Некорректные поля/dynamic nodes Форма task-hierarchies select * from dbo.TaskHierarchy where Id = {hierarchyId}
Грид показывает устаревшие данные Рассинхрон денормализации TasksInSubcat*Denormalized Сравнить Tasks и TasksInSubcat*Denormalized для задачи
Шаблон не заполняет поля Неверные ссылки на категорию/ДП в шаблоне Форма task-templates select * from dbo.TaskUniversalTemplates where Id = {templateId}

Связанные документы

  • docs/domains/tasks/backend.md -- backend-архитектура (контроллеры, сервисы, lifecycle)
  • docs/domains/tasks/data-flow.md -- E2E диагностика (создание, переходы, обновления)
  • docs/domains/tasks/database.md -- схема БД (Tasks, TaskHelpers, StepLog)
  • docs/domains/categories/admin.md -- настройка категорий (поведенческие флаги задач)
  • docs/reference/database/workflow.md -- workflow и переходы
  • docs/platform/backend/admin-architecture.md -- общая архитектура администрирования
  • docs/reference/database/dbadmin-forms-map.md -- карта всех форм автоадминки