Категории — Администрирование¶
Обзор¶
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 |
Исключение из отчёта просрочки |
Зависимости между полями:
- ChangeDueConfirm → ChangeDueConfirmSignatureId или 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, @IsAcceptor → INT: 0=нет, 1=чтение, 2=редактирование) + опциональная пакетная (@TaskIds dbo.id_tbl_type readonly, @ExtParamId, @UserId → TABLE). Пакетная не применяется на НТФ |
Доступ зависит от статуса — матрица видимости/редактирования по статусам маршрута. При смене видимости — полный 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.
Наследование руководителями¶
- CustomSetting
ForbidSubcatRightsInheritanceToDirector— наследование права «Просмотр всех задач» по группам - Общая настройка «Руководитель наследует право на просмотр задач» — по роли в задаче
Заместители¶
Получают все права замещаемого, кроме просмотра конфиденциальных задач и просмотра зашифрованных задач.
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
Два метода настройки иерархии:
- По ДП Lookup: создать ДП Lookup (источник = сама категория) + ДП Галочка. В настройках иерархии указать «Лукап родителя» и «Чекбокс папки»
- По дереву подзадач: создать настройку без выбора ДП — иерархия соответствует дереву подзадач
Доп. параметры в гриде — список ДП для отображения в иерархическом представлении.
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— шаблон этого документа