Задачи¶
Раздел «Задачи» в администрировании отвечает за иерархии (деревья) задач, шаблоны создания задач и часть поведения задач в жизненном цикле. Большинство настроек поведения задаётся на уровне категории (см. Категории); здесь — собственные настройки домена задач. Документ охватывает механизмы администрирования (автоадминка, EntityEditor, Admin API), ключевые настройки, CustomSettings, чипы планирования и типичные ошибки.
Механизмы администрирования задач¶
Настройки домена задач доступны через несколько механизмов: формы автоадминки, EntityEditor и Admin API.
Автоадминка (dbadmin)
Часть настроек задаётся через формы автоадминки по их alias:
| Alias формы | Название | Таблица БД | Полей | Секций | Папка |
|---|---|---|---|---|---|
task-hierarchies |
Иерархии задач | dbo.TaskHierarchy | 14 | 1 | Пользовательский интерфейс |
task-templates |
Шаблоны задач | dbo.TaskUniversalTemplates | 15 | 1 | (корень) |
EntityEditor
Расширенные настройки шаблонов задач задаются через EntityEditor:
| Схема JSON | Таблица | Назначение |
|---|---|---|
taskuniversaltemplate |
dbo.TaskUniversalTemplates | Расширенная настройка шаблона задачи |
templates |
dbo.Templates | Основные шаблоны |
templatesDetails |
(связанная) | Детали шаблона |
templateList |
(связанная) | Список шаблонов |
templateColor |
(связанная) | Цвет шаблона |
templateIcon |
(связанная) | Иконка шаблона |
Admin API
Программно домен задач настраивается через Admin API:
| Маршрут | Методы | Назначение |
|---|---|---|
/api/admin/tasks/hierarchy |
GET, POST, PUT, DELETE | Управление иерархиями, их полями и динамическими узлами |
/api/admin/tasks/{taskId}/access |
GET | Аудит доступа к конкретной задаче |
Ключевые настройки домена задач¶
Иерархии задач (TaskHierarchy)¶
Где настраивается: автоадминка → форма task-hierarchies или Admin API (/api/admin/tasks/hierarchy)
Таблица БД: dbo.TaskHierarchy
14 полей, определяющих структуру дерева задач в интерфейсе:
| Группа полей | Что контролирует |
|---|---|
| Имя, описание | Идентификация иерархии |
| Поля иерархии | Какие данные отображаются на каждом уровне |
| Динамические узлы | Узлы, вычисляемые при отображении |
| Привязка к категориям | Какие категории используют иерархию |
Эффект: иерархия строится платформой и отображается в левой панели/дереве.
Шаблоны, поведение в категории и денормализация¶
Шаблоны задач (TaskUniversalTemplates)
Где настраивается: автоадминка → форма task-templates или EntityEditor (taskuniversaltemplate)
Таблица БД: dbo.TaskUniversalTemplates
15 полей: предзаполненные значения для создания задач (категория, исполнитель, срок, ДП).
Эффект: при создании задачи из шаблона поля автозаполняются из TaskUniversalTemplates.
Поведение задач в категории (смежный домен)
Где настраивается: форма настроек категории subcategories → секции задач, сроков, исполнителей
Таблица БД: dbo.Subcategories
Большая часть поведения задач задаётся флагами категории:
- Подтверждение переноса срока через подпись
- Ограничения на смену исполнителей для просроченных задач
- Делегирование и права
- Автоматические действия при переходах
Связь с категориями: см. Категории.
Денормализация
Таблицы БД: dbo.TasksInSubcat*Denormalized
Скорость и корректность списков задач (гридов) зависят от актуальности денормализованных данных. Рассинхрон приводит к отображению устаревших данных при корректной таблице Tasks.
CustomSettings — прочие ключи задач¶
Дополнительное поведение задач задаётся ключами CustomSettings:
| Ключ | Тип / по умолчанию | Назначение |
|---|---|---|
UseOldSurveys |
0 / 1 |
Выбор редактора опросов: 0 — SurveyJS (рекомендуется), 1 — SurveyProject (устаревший). Меняется только при наличии причин для возврата к старому редактору |
SearchEncryptedTasks |
bool | Включает поиск по зашифрованным задачам (если в категории включено шифрование). См. бизнес-логику задач, раздел «Шифрование задач» |
personalDynSignaturesOnly |
array (SubcatID) | Список ID категорий, в которых отключаются динамические подписи (только статические на маршруте) |
Чипы быстрого планирования — ограничения¶
Набор чипов быстрого планирования срока («В течение часа», «Сегодня к вечеру», «Завтра к вечеру», «В конце недели», «На следующей неделе», «В конце месяца», «В течение месяца») и блоки времени календаря (Утро / День / Вечер) не настраиваются ни администратором категории, ни через системные настройки. Их состав, временные интервалы и поведение жёстко заданы в интерфейсе. Границы блоков и расчёт чипов вычисляются от производственного календаря (рабочие дни, рабочее время) и общих настроек дня — это влияет только на конкретные даты/часы, но не на сам набор опций. Изменение поведения требует доработки кода фронтенда.
Описание поведения каждого чипа и блока — см. business.md, раздел «Изменить срок задачи».
Типичные ошибки настройки и связанные документы¶
Частые проблемы настройки задач и где их проверять:
| Симптом | Причина | Где проверить | SQL-диагностика |
|---|---|---|---|
| Не удаётся изменить срок задачи | Включён режим подтверждения через подпись | Настройки категории | select * from dbo.StepSignatures where StepId in (select Id from dbo.Steps where SubcatId = {subcatId}) |
| Не удаётся сменить исполнителя | Ограничения категории для просроченных задач | Настройки категории | Проверить флаги делегирования в dbo.Subcategories |
| Иерархия задач пустая/неверная | Некорректные поля или динамические узлы | Форма task-hierarchies |
select * from dbo.TaskHierarchy where Id = {hierarchyId} |
| Список задач показывает устаревшие данные | Рассинхрон денормализации | TasksInSubcat*Denormalized |
Сравнить Tasks и TasksInSubcat*Denormalized для задачи |
| Шаблон не заполняет поля | Неверные ссылки на категорию/ДП в шаблоне | Форма task-templates |
select * from dbo.TaskUniversalTemplates where Id = {templateId} |
См. также:
- Настройка категорий — поведенческие флаги задач
- Работа с задачами — бизнес-логика и жизненный цикл задач