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

Категории — Администрирование

Обзор

categories — домен с максимальной плотностью администрирования: одна и та же сущность категории (Subcategory) одновременно настраивается через автоадминку (dbadmin), EntityEditor, FormsGenerator и ручные Admin API-контроллеры.

Этот документ фиксирует именно карту настройки и диагностику. Runtime-поведение API/сервисов описано отдельно в docs/domains/categories/backend.md.

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

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

Alias формы Название Таблица БД Полей Секций Где используется
subcategories Категории dbo.Subcategories 319 24 Основной массив флагов и параметров категории
categories Разделы dbo.Categories 15 1 Иерархия разделов (папок). Терминология: таблица Categories = Разделы, таблица Subcategories = Категории (см. глоссарий в корневом CLAUDE.md)
states Статусы dbo.States 21 1 Справочник статусов маршрута
bp-roles Роли dbo.BpRoles 6 1 Роли БП
bp-roles-groups Привязки групп к ролям dbo.BpRolesGroups 4 1 Связь ролей и групп
bp-roles-steps Привязка роли к переходу и подписи dbo.BpRolesSteps 10 1 Роли на шагах маршрута + подписи
subcat-notes Примечания dbo.SubcatNotes 8 1 Служебные заметки по категориям
subcat-state-hints Подсказки dbo.SubcatStateHints 5 1 UI-подсказки по статусам
signatures Подписи dbo.Signatures 3 1 Справочник подписей
technical-works Технические работы dbo.Subcategories 279 Срез для техработ и сервисной диагностики

EntityEditor

Схема JSON SourceTable Handler Назначение
summarycategories.json SummaryCategories SummaryCategoriesModelHandler Сводные категории, группы доступа, тип поиска
summarycategoriesstates.json SummaryStates auto DB handler Связи «сводная категория ↔ состояния категорий»

Файлы: - Valhalla.Admin/EntityEditor/Entities/Scheme/summarycategories.json - Valhalla.Admin/EntityEditor/Entities/Scheme/summarycategoriesstates.json - Valhalla.Admin/EntityEditor/Entities/Handlers/UserHandlers/SummaryCategoriesModelHandler.cs

FormsGenerator (рефлексия SubcategoryViewModel)

Контроллеры: - GET /api/admin/forms/scheme/SubCategory - GET /api/admin/forms/{entity}/{key} - POST /api/admin/forms/{entity}/{key}

Файлы ViewModel: - Valhalla.Admin/FormsGenerator/ViewModels/Subcategory/SubcategoryViewModel.cs - Valhalla.Admin/FormsGenerator/ViewModels/Subcategory/SubcategoryViewModel.Terms.cs - Valhalla.Admin/FormsGenerator/ViewModels/Subcategory/SubcategoryViewModel.Word.cs - Valhalla.Admin/FormsGenerator/ViewModels/Subcategory/SubcategoryViewModel.Counters.cs - Valhalla.Admin/FormsGenerator/ViewModels/Subcategory/SubcategoryViewModel.Auto.cs - Valhalla.Admin/FormsGenerator/ViewModels/Subcategory/SubcategoryViewModel.PerformersSubscribers.cs - Valhalla.Admin/FormsGenerator/ViewModels/Subcategory/SubcategoryViewModel.TaskText.cs Блоки схемы в SubcategoryViewModel:

Блок (SchemeBlock) Порядок Фокус
stdHeaderMain 0 Основные свойства категории
stdHeaderTerms 1 Сроки, дедлайны, напоминания
stdHeaderWord 2 Word/редлайн/сравнение файлов
EditSubcat_Counters 3 Счетчики просмотров/комментариев/лайков
stdHeaderAuto 4 Автоматизация и SP-хуки
EditSubcategory2_PerformersSubscribers 5 Исполнители/подписчики/ограничения
stdHeaderTaskText 6 Текст задачи, комментарии, поиск

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

Контроллер Маршрут Методы Назначение
CategoriesController /api/admin/categories GET, POST, DELETE CRUD разделов, копирование, массовые уведомления, отзыв прав
SubcategoriesController /api/admin/subcategories GET, POST CRUD категорий, copy/delete/clear, lookup-зависимости, массовая генерация текста
SubcategoryTreeController /api/admin/subcategories/tree GET Полное дерево категорий для админки
SubcategoriesSettingsController /api/admin/subcategories/{subcatId} GET, POST Основные/доп. настройки, toolbar, new-state, MTF order

Для подкатегорий с чатовым типом представления в Admin SPA дополнительно отображается секция «Настройки МТФ-панели» (чекбокс showMtfPanel + мультиселект mtfPanelGroupIds). Хранение — dbo.Subcategories (ShowMtfPanel, MtfPanelGroupIds). API: GET/PUT /api/admin/subcat/{subcatId}/settings. Бизнес-правила видимости панели описаны в domains/chat/business.md, раздел «Видимость МТФ-панели».

| SubcategoriesBlocksController | /api/admin/subcategories/blocks* | GET, POST, PUT, DELETE | Блоки формы, таблицы в блоках, порядок и связи | | SubcategoriesButtonsController | /api/admin/subcategories/*/buttons | GET, POST, DELETE | Кастомные кнопки в UI задачи | | SubcategoriesFilesController | /api/admin/subcategories/*/files | GET, DELETE | Файлы категории и генерация шаблона DOCX | | SubcategoriesIncludesController | /api/admin/subcategories/{subcatId}/includes/* | GET, POST, DELETE | JS/CSS/HTML-вставки для NTF/MTF | | SubcategoriesNewsSettingsController | /api/admin/subcategories/{subcatId}/news-settings | GET | Настройки новостных категорий | | SubcategoriesResourcesController | /api/admin/subcategories/{subcatId}/resources | GET, POST | Ресурсные категории и доступные ресурсы | | SubcategoriesSurveySettingsController | /api/admin/subcategories/{subcatId}/survey-settings | GET, POST | Настройки опросов | | SubcategoriesUniversalTemplatesController | /api/admin/subcategories/{subcatId}/universal-templates | GET, POST | Универсальные шаблоны и правила применения | | StatesRoutesInSubcatController | /api/admin/subcategories/steps | GET, POST, DELETE | Переходы маршрута в категории | | StatesRoutesActionsWithEpController | /api/admin/subcategories/steps/{stepId}/actions-with-ep | GET, POST, DELETE | Действия над ДП/файлами/шаблонами на переходах | | StatesRoutesActionsPacksController | /api/admin/states-routes/packs-on-events | GET | Пакеты действий до/после перехода | | StatesRoutesExtParamRestrictionsController | /api/admin/states-routes/{stepId}/ext-params | GET, POST, DELETE | Ограничения переходов по ДП | | StatesRoutesSubTasksController | /api/admin/states-routes/{stepId}/subtasks | GET, POST, PUT, DELETE | Автоподзадачи на переходах |

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

1. Основные свойства категории

Где настраивается: - автоадминка: subcategories - FormsGenerator: stdHeaderMain - API: POST /api/admin/subcategories/{subcatId}/settings

Таблица БД: dbo.Subcategories

Ключевые поля:

Поле Что контролирует
SubcatName Имя категории в UI
Details Описание категории
CategoryId Родительский раздел
OneFMainVisibilityMode Режим видимости в 1F-main
IsDictionary Режим справочника
IsCalendar Календарный тип
FileProviderId Провайдер файлов по умолчанию
ConfidentialMode Конфиденциальность

Зависимости между полями: - CategoryId обязателен при создании категории. - IsCalendar влияет на доступность смежных календарных сценариев и на требования к датам задач.

2. Блоки формы задачи (MTF)

Где настраивается: - API: SubcategoriesBlocksController - API: SubcategoriesSettingsController (mtf/orderable-items, mtf/reorder-items) - manual-link: admin.md

Таблицы БД: - dbo.CustomTaskUsedAsEpBlockSettings - dbo.Subcategories (часть общих MTF-флагов)

Ключевые поля/объекты:

Объект Что контролирует
SubcategoryBlockDto Блок формы (контейнер ДП/таблиц)
CustomTaskUsedAsEpBlockSettingDto Таблица/настройка внутри блока
MtfOrderableItemDto Порядок элементов MTF
TaskFormCustomButton* Связанные действия в MTF

Зависимости между полями: - Порядок MTF зависит от включенности и видимости блока. - Связи таблиц с блоками влияют на фактическое расположение ДП в карточке.

3. Исполнители и подписчики

Где настраивается: - FormsGenerator: EditSubcategory2_PerformersSubscribers - API: POST /api/admin/subcategories/{subcatId}/settings - manual-links: subcategory-performer-settings.md, subcategory-performers-settings.md, subcategory-customer-and-subscribers-settings.md

Таблица БД: dbo.Subcategories (+ связи по группам/подписям)

Ключевые поля:

Поле Что контролирует
PerformerMode Режим автоподстановки исполнителей
DoNotSelectOwner Не подставлять заказчика автоматически
RestrictPerformerRemove Ограничить удаление исполнителей
AllowGroupSubcription Разрешить подписку группами
AllowMultiFinished Режим мультизавершения
MultiFinishAction Поведение после завершения участником
AllowSetSinglePerformer Принудительно один исполнитель
SpecialUsersSmartExpressionId Смарт-определение спецпользователей
PerformersRestrictionSmartExpressionId Смарт-ограничение набора исполнителей

Зависимости между полями: - DelegateTaskConfirmSignature → либо DelegateTaskConfirmSignatureId, либо DelegateTaskConfirmSignatureSmartExpressionId. - TaskOwnerChange → либо TaskOwnerChangeConfirmSignatureId, либо TaskOwnerChangeSmartExpressionId. - AllowMultiFinished открывает смысловую зависимость с MultiFinishAction.

4. Текст задачи и комментарии

Где настраивается: - FormsGenerator: stdHeaderTaskText - API: /settings, /settings/set-task-text-uniqueness, /generate-task-descriptions-by-template - manual-links: subcategory-tasktext-settings.md, subcategory-comments-settings.md, generate-task-descriptions-by-template.md

Таблица БД: dbo.Subcategories

Ключевые поля:

Поле Что контролирует
SubcatTextMode Режим работы с текстом задачи
DefaultText Дефолтный шаблон текста
TaskTextMaxLength Лимит длины текста
AllowHTMLTaskText HTML-режим ввода
AllowImagesInTaskText Картинки в тексте
OwnerCanChangeText / AdminCanEditText / SubscriberCanEditText / AnyoneCanEditText Модель редактирования текста
EnableComments / EnableCommentsEdit / DenyEnterComments Поведение комментариев
HideSystemComments Скрытие системных комментариев
TaskTextSearchType Тип поиска по тексту

Зависимости между полями: - При включении уникальности текста через API возможны блокировки создания дублей. - Массовая генерация текста зависит от шаблона и ДП категории.

5. Сроки и таймеры

Где настраивается: - FormsGenerator: stdHeaderTerms - API: POST /api/admin/subcategories/{subcatId}/settings - manual-links: subcategory-orderedtime-settings.md, subcategory-recurrence-settings.md

Таблица БД: dbo.Subcategories

Ключевые поля:

Поле Что контролирует
SrokMode Модель срока/дедлайна
DefaultDurationMode Дефолтная длительность
MinSrok Минимальный срок
RecommendedDueDate Рекомендованный срок
AllowChangeDuration Разрешение менять длительность
AllowSetTaskStartTime Разрешение задавать старт
AllowSetTimeParamsInPast Разрешить прошлые даты
SrokControl Напоминание/контроль до срока
Smart25/Smart50/Smart75/Smart100 Процентные напоминания
ExcludeFromOverdueReport Исключение из отчёта просрочки

Зависимости между полями: - ChangeDueConfirmChangeDueConfirmSignatureId или ChangeDueConfirmSignatureSmartExpressionId. - Ограничения на прошлые/рабочие интервалы влияют на доступность ручной коррекции сроков.

6. Статусы и переходы

Где настраивается: - автоадминка: states, bp-roles, bp-roles-groups, bp-roles-steps, subcat-state-hints - API: StatesRoutesInSubcatController + StatesRoutes* - manual-links: subcategory-route-states.md, cat-temp-state.md

Таблицы БД: - dbo.States - dbo.StatesRoutesInSubcat - dbo.BpRoles - dbo.BpRolesGroups - dbo.BpRolesSteps - dbo.SubcatStateHints

Ключевые поля/объекты:

Объект Что контролирует
StateRouteInSubcatPayloadDto Переход между статусами
BpRoles* Ролевая модель на переходах
StatesRoutesActionWithEp* Действия по ДП на переходе
StatesRoutesExtParamRestrictions* Блокирующие проверки перед переходом
StatesRoutesSubtask* Автосоздание подзадач
SmartActionsPackOnEventsDto Пакеты действий до/после шага

Зависимости между полями: - Ограничения по ДП и actions-with-ep привязаны к конкретному stepId. - Пакеты действий привязываются к событиям BeforeTaskStep / AfterTaskStep.

7. Файлы и вложения

Где настраивается: - FormsGenerator: FileProviderId, Word-блок - API: SubcategoriesFilesController - API: StatesRoutesActionsWithEpController (файловые действия на шагах) - manual-link: subcategory-files-settings.md

Таблицы БД: - dbo.Subcategories - dbo.Signatures (косвенно для сценариев подписи файлов) - профильные таблицы вложений (через file services)

Ключевые поля:

Поле/объект Что контролирует
FileProviderId Где хранить вложения категории
AllowDeleteFiles (AllowDeleteFilesEnum) Разрешение удаления файлов. Влияет на блок «Файлы» задачи и на кнопку удаления в ДП типа «Файл» и «Мультифайл». Значения: Allow (0), Disallow (1), DefineBySmartExpression (2). При DefineBySmartExpression: смарт-выражение возвращает true — запрещено, false — разрешено.
AllowDeleteFilesSmartExpressionId ID смарт-выражения для режима DefineBySmartExpression
ForbidUploadFilesIntoClosedTasks Блок загрузки в закрытых задачах
AutoDeletePrevVersionsOfFiles Автоудаление старых версий
DisallowProtectedDocx / DisallowEmbeddingsInDocx Ограничения Docx
GenerateSubcategoryTemplate Генерация DOCX-шаблона категории

Зависимости между полями: - Ограничения Docx и Word-сценарии актуальны только в категориях с соответствующим процессом документов.

8. Подписи

Где настраивается: - автоадминка: signatures, bp-roles-steps - FormsGenerator: поля *ConfirmSignature*, StepSignsFromSysRobot, DeclineSignatureFromSysRobot - API: маршруты/шаги и роли БП - manual-link: subcat-route-states.md

Таблицы БД: - dbo.Signatures - dbo.BpRolesSteps - dbo.Subcategories

Ключевые поля:

Поле Что контролирует
AllowSignatureRevoke Разрешение отзыва подписи
AllowSignatureRevokeByAcceptors Отзыв акцептантами
AllowSignatureRevokeByOwner Отзыв заказчиком
AllowSignatureRevokeByRequester Отзыв инициатором
DelegateTaskConfirmSignatureId Подпись при делегировании
TaskOwnerChangeConfirmSignatureId Подпись при смене заказчика
ChangeDueConfirmSignatureId Подпись при смене срока

Зависимости между полями: - Для каждой проверки подтверждения выбирается источник: статическая подпись (...SignatureId) или смарт-выражение (...SmartExpressionId).

9. Шаблоны задач

Где настраивается: - API: SubcategoriesUniversalTemplatesController - API: SubcategoriesController (auto-task-text-template, массовая генерация) - manual-links: generate-task-descriptions-by-template.md, mobile_templates.md, multi_templates.md

Таблицы БД: - TaskUniversalTemplates-контур (через TaskUniversalTemplateService) - dbo.Subcategories (часть template-related параметров)

Ключевые поля/объекты:

Объект Что контролирует
TaskUniversalTemplateDto Шаблоны создания задач
SubcategoryRulesDto Правила применения шаблонов
GenerateDefaultTemplateRequestDto Генерация шаблона по структуре категории
auto-task-text-template Шаблон автогенерации текста

Зависимости между полями: - Правила шаблонов привязаны к категории и могут конфликтовать по приоритету.

10. JS/CSS вставки

Где настраивается: - API: SubcategoriesIncludesController - manual-link: subcategory-ntf-settings.md

Таблицы БД: include-контур (через IncludesAdminService)

Ключевые поля/объекты:

Объект Что контролирует
GET .../includes/ntf Вставки на форму создания задачи (NTF)
GET .../includes/mtf Вставки на карточку задачи (MTF)
SubcatIncludeType Тип/режим отображения вставки

Зависимости между полями: - Одна и та же вставка может иметь разные типы отображения для NTF и MTF.

11. Опросы и новости

Где настраивается: - API: SubcategoriesSurveySettingsController - API: SubcategoriesNewsSettingsController - API: SubcategoriesController (/news) - EntityEditor: summarycategories* (для сводных категорий состояний) - manual-links: news-subcategories-settings.md, cat-temp-state.md

Таблицы БД: - SummaryCategories / SummaryStates - настройки новостей/опросов через профильные сервисы

Ключевые поля/объекты:

Объект Что контролирует
NewsSubcategorySettingsDto Поведение новостной категории
SubcategorySurveySettingsDto Шаблон и условия опросов
TaskTextSearchType (summary category) Поиск в сводной категории
SummaryCategoryIDSummaryStates Состояния, включенные в сводку

Зависимости между полями: - Сводная категория зависит от выбранных состояний и привязанных групп доступа.

12. Кнопки действий

Где настраивается: - API: SubcategoriesButtonsController - manual-link: subcategory-task-actions-settings.md

Таблицы БД: контур кастомных кнопок (TaskFormCustomButton*)

Ключевые поля/объекты:

Объект Что контролирует
TaskFormCustomButtonCreateRequestDto Создание кнопки
TaskFormCustomButtonExtendedDto Условия показа/действия
TaskFormCustomButtonShortDto Список кнопок категории
buttons/update Изменение кнопок без редактирования категории целиком

Зависимости между полями: - Видимость кнопки зависит от её условий и от структуры переходов/ролей.

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

Симптом Причина Где проверить SQL-диагностика
Не видны нужные блоки/ДП в карточке Нарушен порядок MTF или связи блок-таблица SubcategoriesBlocksController + subcategories select top 100 * from dbo.CustomTaskUsedAsEpBlockSettings where SubcatID = @SubcatId order by SortOrder;
Переход не срабатывает Ограничение по ДП на шаге или неверный role-step states-routes*, bp-roles-steps select * from dbo.BpRolesSteps where StepId = @StepId;
Нельзя делегировать/сменить заказчика Включено подтверждение подписью, но не настроен источник подписи блок исполнителей в FormsGenerator select top 1 SubcatId, DelegateTaskConfirmSignatureId, TaskOwnerChangeConfirmSignatureId from dbo.Subcategories where SubcatId = @SubcatId;
Невозможно загрузить файл в закрытой задаче Активен запрет для закрытых задач subcategories / files settings select SubcatId, ForbidUploadFilesIntoClosedTasks from dbo.Subcategories where SubcatId = @SubcatId;
Массовая генерация текста изменила все задачи не так, как ожидалось Ошибка в шаблоне автотекста generate-task-descriptions-by-template select SubcatId, AutoTaskTextTemplate from dbo.Subcategories where SubcatId = @SubcatId;
Категория «пропала» из нужного дерева Сбита привязка к разделу или видимость categories + subcategories select s.SubcatId, s.CategoryId, c.Name as CategoryName from dbo.Subcategories s left join dbo.Categories c on c.CategoryId = s.CategoryId where s.SubcatId = @SubcatId;

SQL-диагностика метамодели админки

Проверка, какими формами и полями управляется категория:

select
    af.Alias,
    af.Name,
    do.FullObjectName,
    afc.CountColumns,
    afs.CountSections
from dbadmin.AdminForms af
left join (
    select FormId, count(1) as CountColumns
    from dbadmin.AdminFormSectionColumns
    group by FormId
) afc
    on afc.FormId = af.Id
left join (
    select FormId, count(1) as CountSections
    from dbadmin.AdminFormSections
    group by FormId
) afs
    on afs.FormId = af.Id
left join dbadmin.DbaObjects do
    on do.Id = af.DbaObjectId
where af.Alias in (
    'subcategories',
    'categories',
    'states',
    'bp-roles',
    'bp-roles-groups',
    'bp-roles-steps',
    'subcat-notes',
    'subcat-state-hints',
    'signatures',
    'technical-works'
)
order by af.Alias;

Проверка зависимостей полей в форме subcategories:

select
    dep.AdminFormSectionColumnId as ColumnId,
    dep.DependsOnColumnId,
    dep.OperationType,
    dep.Value,
    dep.DependencyRuleType
from dbadmin.AdminFormSectionColumnsDeps dep
where dep.FormId = (
    select top 1 af.Id
    from dbadmin.AdminForms af
    where af.Alias = 'subcategories'
)
order by dep.AdminFormSectionColumnId;

Admin API — создание категорий и разделов

Создание раздела (Category)

POST("/api/admin/categories", {
    "CategoryName": "Название раздела"  # НЕ "Name"!
})

Создание категории (Subcategory)

POST("/api/admin/subcategories", {
    "SubcategoryName": "Название категории",  # НЕ "Name"!
    "CategoryID": category_id  # Поле БД: CategoryId; в API принимается как CategoryID
})

Создание переходов (StateRoutes / Steps)

POST("/api/admin/subcategories/steps", {
    "SubcatID": subcat_id,
    "StateID": state_id,
    "HiddenStep": False  # ОБЯЗАТЕЛЬНО — bool?, NULL → InvalidCastException
})

Системные steps создаются автоматически при создании категории (stateId:1 «Новая», stateId:2 «Завершена»). Повторный вызов с теми же stateId → 500.

Типичные ошибки Admin API категорий

Проблема Причина Решение
Name → 500 Поле называется CategoryName / SubcategoryName Проверять имена полей в mcp-catalog.md
HiddenStep не передан → InvalidCastException bool? → NULL в БД → каст в SubcatStepsGraphDataService.cs:159 Всегда передавать HiddenStep: false
500 при создании step Дубль stateId (системные steps уже созданы) Проверять наличие перед созданием

13. Дополнительные параметры (ДП) в категории

Вкладка «ДП» — самый крупный блок настройки категории. Полный технический каркас ДП описан в ../ext-params/admin.md. Здесь — специфика привязки ДП к категории.

Где настраивается: - UI: настройки категории → вкладка «ДП» - API: POST /api/admin/subcategories/{subcatId}/ext-params - manual-link: архивная страница cats_dp.md (735 строк)

Таблицы БД: dbo.ExtParams, dbo.ExtParamValues, dbo.ExtParamsInSubcat, dbo.ExtParamsInSubcatToBlocks

Список ДП категории

ДП отображаются таблицей с колонками: ID, Имя ДП, Скрытый, Обязательный, Тип, Имя блока. Порядок строк определяет порядок полей на форме задачи — перетаскивание меняет SortOrder.

Индикаторы в списке: - Иконка повтора — ДП используется в нескольких блоках этой категории - Иконка шестерёнки — быстрый переход к настройкам ДП - Иконка копирования — создаёт новый ДП на основе текущего (не добавляет тот же ДП повторно)

Настройки ДП в категории

Параметр Описание
Имя ДП в категории Отображаемое имя для данной категории (отличается от глобального имени ДП). Используется в таблицах, карточках, комментариях, БИ, мобильном приложении. Нельзя использовать спецсимволы \/<> и зарезервированные имена (Заказчик, Исполнитель, Статус, Категория, Задача)
Привязки ДП Выбор блока ДП. Один параметр может быть в нескольких блоках, но не более одного раза внутри одного блока. Настройки привязки: порядок на форме, количество колонок, скрыт при постановке/в карточке
Количество занимаемых колонок 1/N … (N-1)/N или «Во всю ширину». N определяется настройками категории «Количество колонок доп.параметров (МТФ/НТФ)». Default = 3 колонки
Скрытый ДП не отображается при постановке и в карточке
Скрыть при пустом значении На МТФ пустые значения не отображаются. Для НТФ — через CustomSetting HideEmptyEpOnNtf=true
Подсказка До 1000 символов. Отображается иконкой рядом с полем. Для таблиц — в панели инструментов. Поддерживает смарт-выражения с типами: default, info, warning, error, success (формат: select '{Тип}' as tooltipType, '{Текст}' as tooltip)
Значение по умолчанию Фиксированное, смарт-выражение или пусто. Для таблиц — JSON: {"rows":[{"c{colId}":"val",...},...]}. Перекрывает глобальный DefaultValue ДП. Checkbox с v2.263 Скорпион — всегда false по умолчанию
Не копировать значения из задачи-источника При создании задачи из контекста другой (БИ, Lookup, Multilookup, подзадачи) — отключает наследование значения. Если выключено — значение из источника имеет наивысший приоритет
Обязателен для завершения Задача не завершается без заполнения. Не работает для Таблицы — используйте обязательность колонок
Требовать комментарий при изменении При повторном изменении запрашивается комментарий. Не работает для Таблицы. Недоступен, если отключено «Сохранять историю изменений ДП»
Заполняется один раз После первого заполнения — readonly. Не влияет на Администратора категории и Администратора задач
Только уникальные значения Автоматически включает «Добавить индекс». Недоступен для: Email, Большой текст, Multilookup, Файл, Число, Таблица

Доступ к ДП

Приоритет: права на категорию > права на ДП. Если нет доступа к категории — доступ к ДП не действует.

Режим Описание
По задаче Редактирование для пользователей с правом «Исполнять» в данной категории
Только по группам Доступ по принадлежности к группам (редактирование или чтение)
По задаче или группам Объединение (ИЛИ)
По задаче и группам Пересечение (И)
По матрице доступа Статусы × группы/роли/права → просмотр/редактирование. Иконка 👁 = просмотр, ✏️ = редактирование
По SQL-функции Скалярная (@ExtParamId, @SubcatId, @TaskId, @UserId, @StateId, @IsOwner, @IsSubscriber, @IsPerformer, @IsResponsiblePerformer, @IsAcceptorINT: 0=нет, 1=чтение, 2=редактирование) + опциональная пакетная (@TaskIds dbo.id_tbl_type readonly, @ExtParamId, @UserIdTABLE). Пакетная не применяется на НТФ

Доступ зависит от статуса — матрица видимости/редактирования по статусам маршрута. При смене видимости — полный reload страницы.

Смарт-доступ — правила по тегам/условиям. См. smart_access.md.

Валидация ДП

Значение дополнительного параметра можно проверять двумя способами.

1. Смарт-выражение (валидация по бизнес-правилу)

Смарт-выражение возвращает пустую строку (OK) или текст ошибки. Триггеры: сохранение, создание задачи, переходы, настраиваемые кнопки. При ошибке — красная рамка вокруг поля и текст ошибки под полем.

2. Регулярное выражение (валидация формата ввода)

Для типов «Текст», «Число», «Номер телефона», «Lookup», «Multilookup», «Select» можно задать регулярное выражение, которому должно соответствовать введённое значение. Используется для проверки формата (телефон, email, артикул, ИНН и т. п.).

Поведение при вводе:

  • Триггеры проверки: нажатие Enter, потеря фокуса (blur — клик в другое поле, клик за пределы формы, закрытие карточки задачи крестиком, переход в другую задачу из табличного представления или канбана). То же самое работает в модальных окнах.
  • Если значение не проходит проверку — поле получает красную обводку, под полем выводится текст ошибки. Алерт-модалка не открывается, стиль ошибки такой же как у смарт-валидации и смарт-отмены редактирования.
  • Пока значение в поле не соответствует регулярному выражению, остальные дополнительные параметры в карточке задачи остаются доступными для просмотра и редактирования. Пользователь может исправить значение в проблемном поле или очистить его.
  • Значение не сохраняется до тех пор, пока не пройдёт проверку.

Где настраивается: настройки дополнительного параметра → поле «Регулярное выражение». Подсказку с описанием формата для пользователя указывают в поле «Подсказка».

Шифрование ДП

Доступно для типов: Текст, Большой текст, Большой текст с форматированием. Требует разрешения шифрования в основных настройках категории. Необратимо — отключить нельзя. После включения — ручная денормализация. История шифруется только с момента включения.

Синхронизация ДП

Настройка Описание
Синхронизировать в родительскую При заполнении — автокопирование в родительскую задачу (одинаковые ExtParamID)
Синхронизировать в дочернюю При изменении — автокопирование во все дочерние. Для Файла — создаются отдельные копии (рост БД)

⚠️ Синхронизация работает вне зависимости от прав доступа на категории.

Прочие настройки ДП

Параметр Описание
Допустимая длина текста Только для денормализованных категорий. Текст ≤ 1500 символов. При шифровании — сбрасывается
Добавить индекс Ускоряет загрузку списка задач. Авто-включение при «Только уникальные значения»
Не денормализовывать Колонка не создаётся в TasksInSubcatXXXDenormalized
Участвует в поиске ДП участвует в поиске «в полях» списка задач
Сохранять историю изменений Регистрация изменений значений. Для отображения в комментариях — нужна настройка категории «Отправлять комментарий при сохранении истории»
Пустое значение хранить как NULL В денорм. таблице ExtParamXXXValue = NULL. Default = включено

ДП «Таблица» — дополнительные настройки блока

Ограничение добавления/удаления строк — смарт-фильтры для кнопок панели инструментов. Разрешение фильтрации строк. Доступ и доступ по статусам — на уровне отдельных колонок. ⚠️ Ограничения колонок не действуют для Диспетчера задач (служебный пользователь).

Создание и копирование ДП

  • Создание — имя + тип (неизменяем после создания). Не рекомендуется > 150 ДП в категории (каждая колонка Таблицы = 1 ДП)
  • Копирование значений — массовое копирование из одного ДП в другой по всем задачам категории. Не работает для Таблицы и Дерева

UI-переход к настройкам

ПКМ на ДП в карточке задачи → «Настройки» → открывает список ДП с фильтром. Для Таблицы — открывает настройки параметра в системе.


14. Блоки «Используется» (БИ)

БИ отображают связанные задачи и объекты (письма, звонки, файлы) в карточке задачи.

Где настраивается: - UI: настройки категории → «Блоки Используется» - API: SubcategoriesBlocksController - manual-link: admin.md (548 строк)

Таблицы БД: dbo.CustomTaskUsedAsEpBlockSettings, dbo.EpBlockSettingsToBlocks

Настройки блока

Параметр Описание
Имя Название блока
Порядок на форме Общий порядок с блоками ДП (порядок 1 выше порядка 2)
Может сворачиваться / По умолчанию свернут Управление раскрытием
Доступен по смарт-фильтру Видимость блока по условиям (пользователь, параметры задачи)
Видимость Скрыта / Только мобильный / Только веб / Отображать везде. Приоритет над смарт-фильтром
Вид отображения Таблица (стандартный список), Формы задач подряд (последовательность карточек), Галерея задач (в разработке)

Источники данных вкладки БИ

Тип источника Описание
Связанная категория Категория с Lookup-ДП на данную. При создании из БИ — автозаполнение Lookup
Хранимая процедура SQL Обязательные параметры: @UserID, @TaskID, @ShowAllTasks, @StartIndex, @EndIndex. Обязательные поля: TaskID, IsOverdue, StateID, PriorityID, IsClosed, IntColor, FinishWork, ParentTaskID. Опционально: TaskIdToDrillDown (int) — цель перехода при клике
Произвольный источник ХП с произвольными колонками. @UserID обязательно, @TaskID опционально
Смарт-фильтр Отбор задач из любых категорий. Поле «Категория» определяет куда ставить новые задачи
Существующая таблица Повторное добавление вкладки из другого БИ

Настройки вкладки

Параметр Описание
Показывать кнопку «Создать» Да / Нет / Smart+TSql
Пакетная обработка Кнопка пакетной обработки на панели инструментов. Для SQL/Smart источников — ограниченный набор операций
Режим выбора Выбор задач для пакетной обработки
Тип контента Задача / Прочее (для SQL-источников)
Приоритетный режим таблицы Прямое редактирование (двойной клик → edit) или Просмотр (клик → карточка)
Не закрывать окно после создания Задача остаётся в модальном окне
Видимость Скрыта / Только мобильный / Только веб / Везде

Форма быстрой постановки

Флаг IsQuickCreateForm в CustomTaskUsedAsEpBlockSettings. Показывает краткую форму (системные поля + обязательные ДП). Недоступна если есть обязательные ДП типа Таблица или Multilookup. Только для БИ на категорию.

Итоги (агрегаты)

CustomSetting DataSourceAggregates:

[{"type": "taskUsed", "id": 39, "gridTotalColumns": {"ExtParam1709": ["sum", "avg"]}}]
Поддержка: sum, avg, min, max. Для ДП — ключ ExtParam{ID}, для системных — имя параметра (overallPlan, overallFact).

Связь БИ-таблицы с блоком ДП

Одна таблица БИ (режим «Таблица») может быть встроена внутрь блока ДП — отображается рядом с полями. Порядок блоков ДП и БИ — общий.


15. Смарт-кнопки

Кнопки действий в карточке задачи и в статьях пространств.

Где настраивается: - UI: настройки категории → вкладка «Кнопки» - API: SubcategoriesButtonsController - manual-link: admin.md (176 строк)

Таблицы БД: контур TaskFormCustomButton*

Основные параметры кнопки

Параметр Описание
Имя Текст кнопки (или tooltip при наличии иконки)
Описание Всплывающая подсказка
Иконка Из набора /spa/content-icons
Порядок Порядок среди кнопок
Видимость Скрыта / Только мобильный / Только веб / Отображать везде. Приоритет над всеми остальными настройками видимости
Отображать в «Других действиях» Группировка в выпадающее меню

Действие кнопки

Вариант Описание
JavaScript выражение Скрипт при нажатии
Пакет действий Глобальный или локальный пакет смарт-действий
URL Произвольная ссылка / Форма новой задачи / Форма задачи / Раздел / Категория. FastReport: /reports/view/{id}/print-form. onlyCloseAfterCreate=true — закрыть модалку без редиректа

⚠️ Если указаны и JS/пакет, и URL — сначала JS/пакет, затем URL. Ошибка JS → переход по URL не выполняется.

Режим недоступности

Параметр Описание
Сообщение пользователю Текст или смарт-выражение при нажатии на недоступную кнопку
Смарт-фильтр активности true → доступна, false → недоступна
Скрыть по смарт-фильтру При false — кнопка полностью скрыта

Права на кнопку

  • По умолчанию — только с правом «Исполнять». Робот1Ф всегда имеет доступ
  • Матрица доступа — статусы × группы/роли/права

Связь с ДП и БИ

  • С ДП — кнопка рядом с полем. С иконками — друг за другом, без иконок — свёрнуты в «Действия». Для «Большой текст» — max 2 кнопки напрямую
  • С таблицами БИ — кнопка в панели инструментов блока

Кнопки в пространствах

Доступны через иконку действий в статье. Default-иконка из /spa/content-icons. Отделены от стандартных действий горизонтальной чертой.

Автоматически создаваемые кнопки

Пример: «Пройти опрос» при включении режима опросов, «Редактор» для категории-справочника опросов.


16. Опросы

Двухкатегорийная архитектура: справочник опросов + категория прохождения.

Где настраивается: - UI: настройки категории → вкладка «Опросы» - API: SubcategoriesSurveySettingsController - manual-link: архивная страница cats_properties_surveys.md (101 строка)

Таблицы БД: dbo.Surveys, dbo.SurveyQuestions, dbo.SurveyResults, dbo.SurveyResultQuestions

⚠️ Не путать с опросами в сообщениях (чаты/соцсеть) — там таблицы Polls, PollsQuestions, PollsQuestionsAnswersOptions, PollsResponses.

Режим «Опросы» (категория-справочник)

Автосоздаётся смарт-кнопка «Редактор» с URL /spa/survey/creator/?surveyTaskId={surveyTaskId}. Настройки кнопки можно корректировать (видимость, статусы и т.д.).

Режим «Прохождение опросов» (категория-исполнитель)

Требует ДП Lookup (источник — категория-справочник), указанный в «Выбор опроса».

Параметр Описание
Разрешить частичное прохождение Автосохранение каждого ответа, возврат к прерванному месту. Если выключено — сохранение только по кнопке «Готово»
Опрос — настройка доступа Матрица доступа к кнопке прохождения (статусы × группы/роли). Default — доступно всем
Результат — настройка доступа Матрица доступа к блоку результатов. Default — доступно всем

Кнопка «Пройти опрос» доступна только исполнителю. В результатах — только показанные вопросы с записанными ответами (включая пустые). Скрытые по условиям вопросы не выводятся.

События автоматизации

  • «После завершения опроса»
  • «После обновления результата опроса»

17. Права доступа к категории

Вкладка «Доступ» в настройках категории. Детальная матрица 12 прав — см. ../permissions/admin.md.

Где настраивается: - UI: настройки категории → вкладка «Доступ» - UI: настройки группы → «Права на категории» - manual-link: архивная страница cats_rights.md

Два режима просмотра: «По группам» и «По правам». Поиск групп — по названию и ID.

12 прав на категорию

Право Описание
Администратор задач Менять любые параметры, удалять задачи/комментарии, принудительные переходы, редактировать пространства
Администратор категории Настройка категории (кроме ДП, удаления, маршрута), смарт-поиск, табличный вид
Добавлять и менять акцептантов Делегирование подписей, добавление акцептантов
Запретить экспортировать в Excel Блокировка выгрузки
Исполнять Работа с задачами, переходы по маршруту
Менять заказчика Смена заказчика задачи
Редактировать исполнителей Назначение/удаление исполнителей, трудозатраты за других
Пакетная обработка Массовые действия над задачами
Переносить срок Смена срока (при включённом ограничении в настройках)
Просмотр всех задач Просмотр и комментирование всех задач
Просмотр зашифрованных задач Доступ к тексту/ДП зашифрованных задач
Создавать задачи Создание задач (пользователь = заказчик)

Взаимодействие «Редактировать исполнителей» × «Ограничить удаление»

Редактировать исполнителей Ограничить удаление Результат
+ + Можно удалить себя, можно добавлять
+ Можно добавлять и удалять любых
Readonly
+ Readonly

SQL view доступа на просмотр

v2.265 Цефей+. View/таблица возвращает (TaskID, UserID). Имя хранится в dbo.Subcategories.TSQLAccessFunction. ⚠️ WITH (NOLOCK) обязательно. Права категории > SQL view.

Наследование руководителями

  1. CustomSetting ForbidSubcatRightsInheritanceToDirector — наследование права «Просмотр всех задач» по группам
  2. Общая настройка «Руководитель наследует право на просмотр задач» — по роли в задаче

Заместители

Получают все права замещаемого, кроме просмотра конфиденциальных задач и просмотра зашифрованных задач.


18. Настройки раздела (Category)

Раздел = папка для группировки категорий (dbo.Categories).

Где настраивается: - UI: режим администрирования → раздел - API: CategoriesController - manual-link: admin.md (370 строк)

Параметры раздела

Параметр Описание
Родительский раздел Иерархия разделов
Стандартное представление Default-вид для всех категорий раздела (Лента, Таблица, Календарь, Канбан, Галерея, Иерархия, Диск, Проекты, Соц. сети и др.)
Дополнительный синдикат Подключение портала к разделу
Модуль Привязка к модулю. Новые категории наследуют модуль раздела

Выбор родительского раздела осуществляется через выпадающий список в настройках категории (вкладка «Основные»). С v2.268 список показывает полный иерархический путь раздела в виде Родитель / Подраздел / Раздел — вместо плоского отображения только имени и ID. Это позволяет однозначно выбрать нужный раздел, если несколько разделов имеют одинаковые названия.

Массовые действия с правами

Единственный способ массово настроить доступ при создании нового раздела: - Выбрать «Группа» + «Право» → Выдать (добавляет право всем вложенным категориям) или Отобрать (снимает) - Отобрать все права у всех групп — полный сброс

Быстрые действия

  • Быстрое создание категорий в разделе
  • Копировать в новый раздел (с вложенными категориями)
  • Переименовать (контекстное меню)

19. Счётчики задач

Где настраивается: - UI: настройки категории → Инструменты → Счётчики - manual-link: admin.md

Настройка Описание
Показывать количество новых задач Синий индикатор в дереве (начальный статус). Кроме Справочников
Показывать количество просроченных Красный индикатор в дереве + в Панели навигации (где пользователь = исполнитель)
Показывать количество всех задач Серый индикатор в дереве. Кроме Справочников
Показывать количество в заголовках Над списком задач — количество с учётом фильтров
Количество просмотров Только для Новостей — счётчик просмотров новости

20. Названия интерфейса

Основные названия

manual-link: архивная страница настроек интерфейсных имён категории

Настройка Описание Default
Подсказка (тултип) Всплывающая подсказка при наведении на категорию в дереве
Название сущности Вместо «Задача» — «Документ», «Поручение» и т.д. Задача
Текст кнопки постановки Текст кнопки на НТФ Поставить задачу

Прочие названия

manual-link: admin.md

Настройка Описание Default
Название срока выполнения Срок
Название даты начала работы Начало работы
Текст назначения исполнителя Системное сообщение при назначении
Ссылка на текст родительской Заголовок текста родителя в подзадаче
Наименование исполнителя Исполнитель
Наименование заказчика Для Новостей → автоматически «Автор» Заказчик
Сообщение о создании Поступила новая задача
Текст при добавлении подписчика (один) Добавлен подписчик
Текст при добавлении подписчиков (несколько) Добавлены подписчики
Шаблон напоминания Текст напоминания, поддерживает вставки автогенерации

21. Иерархический вид

manual-link: README.md

Два метода настройки иерархии:

  1. По ДП Lookup: создать ДП Lookup (источник = сама категория) + ДП Галочка. В настройках иерархии указать «Лукап родителя» и «Чекбокс папки»
  2. По дереву подзадач: создать настройку без выбора ДП — иерархия соответствует дереву подзадач

Доп. параметры в гриде — список ДП для отображения в иерархическом представлении.


22. Новостные категории

Доступно при типе категории «Новости».

manual-link: admin.md

Настройка Описание
Наличие обложки Обязательная при включении. Пропорция 2:3
Отображать автора Автоподстановка «Автор» в «Наименование заказчика»
Теги Обязательные при включении. ДП «Новости - Теги»
Рубрика Обязательная при включении. ДП «Новости - Рубрика»
Аннотация Max 150 символов. ДП «Новости - Аннотация»

По умолчанию все настройки включены.


23. Рекомендуемые категории

manual-link: README.md

Список категорий, рекомендуемых для создания подзадач/связанных задач. Отображается перед полным списком. В проектном управлении — первая категория из списка становится целевой для новой подзадачи.


24. Подзадачи

manual-link: ../tasks/admin.md

Настройка Описание
Ставить только подзадачи Задачи создаются только как дочерние
Отклонять дочерние при отклонении родительской Каскадное отклонение
Для завершения требуется завершить подзадачи Блокировка завершения
Фиксировать смену статусов дочерних Сообщение в родительскую при смене статуса
Срок зависит от дочерних/родительских Дочерняя не позже родительской
Копировать подписчиков в подзадачи Автокопирование подписчиков

25. Повторения задач

Настройки материализации повторяющихся задач.

manual-link: архивная страница настроек повторов категории

Параметр Описание
Включить материализацию повторений Создание цепочек задач. Опорная дата = дата начала работы. При перематериализации: будущие задачи корректируются, прошлые — нет
Отображать в задаче (Смарт) 1 = показать блок повторений, 0 = скрыть
Дата начала / Дата окончания (Смарт) Default-даты повторения
Право редактировать повторение (Смарт) 1 = можно менять настройки, 0 = нельзя
Порядок повторений Порядок блока относительно ДП
Стилизация календаря (Смарт) Набор данных: datetime2, color, title
Срок (Смарт) Default-срок для каждого экземпляра
Скрыть выбор даты окончания серии Убрать элемент выбора окончания
Скрыть выбор срока Скрыть поле срока (при авто-расчёте)

26. Форма создания задачи (NTF)

Настройки карточки создания новой задачи.

manual-link: ../form-controls/README.md

Параметр Описание
Не использовать форму создания Мгновенное создание без НТФ. Недоступно если: есть обязательные ДП, текст обязателен без default, срок обязателен без default, исполнитель обязателен
Разрешить назначать приоритет Выбор приоритета на НТФ
Разрешить добавление подписчиков Поле «Подписчики» на НТФ
Разрешить указывать получателей уведомлений Поле «Уведомить» на НТФ
Разрешить устанавливать повторения Кнопка «Параметры времени» на НТФ
Разрешить устанавливать напоминания Кнопка «Напоминания» на НТФ
Разрешено устанавливать дату начала Поле «Начало работы» на НТФ
Заполнять дату начала текущим временем Автозаполнение при создании
Отображать кнопку «Закрепить как чат» Пункт в карточке и меню «Участники»
Лимит вложений Суммарный размер файлов (байты). Автоформатирование: байты → КБ → МБ → ГБ
Количество колонок доп.параметров (НТФ) Default = 3. Влияет на «Количество занимаемых колонок» ДП

27. Прочие настройки

manual-link: admin.md

Параметр Описание
Тип поиска Вхождение / Полнотекстовый / Полное совпадение / Обрамлять справа / Обрамлять слева
Искать в ДП по умолчанию Default-режим поиска «в полях»
Ограничить просмотр истории Нет / Согласно доступам на редактирование / Смарт-выражение
Частота обновления грида (сек) Автообновление списка. Не чаще 30 сек
Напоминание за N дней Автосоздание напоминания подписчикам
Использовать триграмм Нечёткий поиск с учётом опечаток. Минимум 3 символа. SP OnChangeSubcatUseTrigramSearchF (MS SQL only)
Напоминание 25%/50%/75%/в день окончания Процентные напоминания
Скрыть быстрое создание в ДП Блокировка быстрой постановки в Lookup/Multilookup
Скрыть кнопку создания Блокировка создания во всех представлениях

CustomSettings для триграмм: - UseTrigramInSimpleSearch — нечёткий поиск в быстром поиске - FilterChain.MaxTrigramCountForTrigramSearch — max триграмм (default: 100000) - FilterChain.MinSubcatSizeForTrigramSearch — min размер категории (default: 100000)


28. Представления категории

Включение/отключение представлений и выбор default.

manual-link: admin.md

⚠️ Cross-domain split: масштабы Ресурсов (7 масштабов) и Календаря (6 масштабов) + флаг «Отображать в терминальном статусе» → ../calendar/admin.md. Здесь — только включение/отключение и default.

Параметр Описание
Включение представлений Активация переключателей для каждого типа (Таблица, Лента, Канбан, Календарь и т.д.)
Представление по умолчанию Кнопка ★ на блоке. Вступает в силу после reload страницы
Закреплять по умолчанию как чат Задачи автоматически приравниваются к чатам

Для блока «Таблица» — переход к настройкам табличного вида (см. ниже).

Настройки табличного вида категории

Доступны через блок «Таблица» представлений категории. Настройки определяют дефолтный вид списка задач для всех пользователей.

Изменения вступают в силу после сброса пользователем настроек на вид по умолчанию.

Общие настройки

Параметр Описание
Отбор по умолчанию Преднастроенный отбор категории, применяемый при открытии списка
Тип статуса Все / Активные / Завершённые / Отклонённые
Группировать по Одно или несколько полей для дефолтной группировки
Группировать одной строкой Склеивает группу в одну строку (по умолчанию вкл)
Позиция закрепления Слева / Справа — для столбцов с активной опцией «Закрепить столбец»
Скрыть невидимые поля Скрывает поля без видимости по умолчанию

Кнопки: «Открыть предпросмотр» (проверка изменений до сохранения), «Сбросить на рекомендуемые» (Выравнивание/Ширина/Тип фильтра в дефолт), «Сбросить» (откат изменений и колонок с «Видимостью по умолчанию» до предыдущего сохранения для всех).

Дополнительные настройки таблицы

«Больше настроек»:

Параметр По умолчанию Поведение
Можно менять ширину столбцов Вкл Перетаскивание угла столбца. Установленная ширина сохраняется per-user
Можно менять порядок столбцов Вкл Перемещение заголовка мышью. Сохраняется per-user
Сохранять пользовательские настройки Вкл При повторном входе таблица открывается с пользовательскими настройками. При экспорте в Excel учитывается тоже: вкл = пользовательские, выкл = дефолт
Можно включать фильтры Вкл Кнопка фильтрации + пункт «Фильтровать по значению» в контекстном меню. Панель по умолчанию раскрыта
Можно включать группировку Вкл Кнопка группировки + пункт «Группировать» в контекстном меню. Если группировка задана — раскрыта; иначе свёрнута
Можно включать доп. поле столбца Выкл Кнопка «Показать меню» в панели; иначе — в меню действий
Переносить заголовки по строкам Вкл Полные заголовки с переносом; иначе обрезаются многоточием

С версии 2.268 быстрая фильтрация по аватарке исполнителя включена по умолчанию (доп. настройки не требуются).

Доступ по группам к колонкам

При настройке доступа по группам к колонкам виртуальные группы (например, «Подписчики задач (всем)») не применяются — нужно использовать обычные или связанные группы.


29. Блоки ДП и группы блоков

Основная часть настроек блоков ДП → ../ext-params/admin.md. Здесь — связь с БИ.

manual-link: admin.md (154 строки)

Связь БИ-таблицы с блоком ДП

Одна таблица БИ (вид «Таблица») может быть встроена в блок ДП. Порядок блоков ДП и БИ — общий (блок с порядком 1 выше блока с порядком 2). Привязка хранится в ExtParamsInSubcatToBlocks.

Группы блоков ДП

Блоки объединяются в группы. Порядок внутри группы — по Порядок на форме. Группа связывается с категорией через страницу «Группы блоков ДП».

Смарт-фильтры блоков

Фильтр Контекст
Сворачивать по смарт-фильтру МТФ: true = свёрнут
Скрывать по смарт-фильтру МТФ: true = скрыт
Сворачивать при постановке НТФ: true = свёрнут
Скрывать при постановке НТФ: true = скрыт

Контекстный параметр @eventParam1 (WhenOpenTask=64): 0=Undefined, 1=Spa, 2=Mobile, 3=Conference.


30. ДП на мобильном

manual-link: ../ext-params/admin.md

Ключевые принципы настройки ДП с учётом мобильного приложения: - ДП должны быть сгруппированы в тематические блоки - Порядок — по ходу заполнения - Видимость — по правам и логике процесса - Обязательность — на каждом переходе хотя бы один ДП - Не требовать много параметров при создании — использовать статус «Подготовка» с автопереходом

Наследование значений из задачи-источника

При создании из контекста (БИ, Lookup, Multilookup, подзадачи) — совпадающие ДП наследуют значения. Отключение — опция «Не копировать значения из задачи-источника» в настройках ДП.


31. Автосоздание подзадач на переходах

Настройка подзадач, создаваемых при переходе по маршруту.

Где настраивается: - API: StatesRoutesSubTasksController - manual-link: ../tasks/admin.md - См. также: transition-settings-reference.md (поля StatesRoutesSubtask*)

Основные параметры подзадачи на переходе

Параметр Описание
Текст задачи С вставками $Ext{ID} из родительской задачи
Срок задачи На основе поправки срока
Имя параметра Условное создание: если ДП родителя = значение
От кого От исполнителя / От заказчика / От нажавшего кнопку
Связанная задача Не дочерняя, а связанная (отключает автопереход по завершении подзадач)
Копировать подписчиков Из родительской
Переносить вложения Все файлы из родителя
Каждому исполнителю — копию Отдельная подзадача на каждого

Исполнители подзадачи

  • Исполнители из группы
  • Назначить исполнителем заказчика родительской
  • Назначать роль заказчика (по группе)
  • Копировать исполнителей

Параметры подзадачи

Для каждого ДП — источник: Автоматически / Фиксированное значение / Из ДП родителя.


CustomSettings — глобальные ключи поведения категорий

Ключ Тип Назначение
ExtendedSubcatSettings JSON Расширенные настройки категории (per-SubcatID): отключить вопросы (commentQuestionsAllow=false) и/или требование комментария при «Вопрос не мне» (commentNotMeAnswerRequired=false). Формат: {"$SUBCAT_ID":{"commentQuestionsAllow":bool,"commentNotMeAnswerRequired":bool}}
FromUtpTableFirstOrderSubcats array ID категорий, для которых в SQL-запросе списка задач предикат проверки прав ставится первым в FROM — оптимизация для крупных таблиц с дорогостоящими JOIN
CalendarPopupMenuSubcats array ID категорий, попадающих в контекстное меню календарных категорий для быстрой постановки задачи. Если ключ не задан — в меню стандартный набор (Событие в календаре, Задача в категории, все календарные категории)

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

  • docs/domains/categories/backend.md — runtime-сервисы, API и SQL-слой домена
  • docs/domains/categories/data-flow.md — E2E-диагностика по цепочкам
  • docs/domains/categories/transition-settings-reference.md — полный справочник полей переходов ЖЦ (StatesRoutesInSubcat)
  • docs/domains/categories/business.md — типы категорий, бизнес-правила
  • docs/domains/calendar/admin.md — масштабы Календаря и Ресурсов, терминальный статус
  • docs/domains/ext-params/admin.md — общие настройки ДП, типы, блоки ДП
  • docs/domains/task-forms/admin.md — формы задач (NTF/MTF рендер)
  • docs/domains/permissions/admin.md — матрица прав на категорию (12 прав)
  • docs/domains/smart-actions/admin.md — пакеты действий до/после переходов
  • docs/platform/backend/admin-architecture.md — общая архитектура трёх механизмов администрирования
  • docs/reference/database/dbadmin-forms-map.md — карта alias форм и таблиц
  • docs/guides/admin-md-template.md — шаблон этого документа