Задачи — Администрирование¶
Обзор¶
Домен 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 |
Выбор редактора опросов: 0 — SurveyJS (рекомендуется), 1 — SurveyProject (устаревший). Меняется только при наличии причин для возврата к старому редактору |
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-- карта всех форм автоадминки