Ресурсы — Администрирование¶
Обзор¶
Домен resources в администрировании охватывает:
- Ресурсное планирование в категории — включение механизма плановых/фактических трудозатрат, методы планирования, синхронизация, права.
- Кастомные шаблоны задач для Ресурсов — настройка отображения карточки ресурса и подсказки через динамические шаблоны (8 блоков позиционирования, цвета, даты).
- Планировщик — конфигурации для просмотра и распределения задач по ресурсам с drag-and-drop и фильтрацией.
- Помощник по планированию — таблица занятости сотрудников, нераспределённые задачи, суммарные трудозатраты.
- Источник данных представления Ресурсы — стартовая группировка по типу ресурса.
- Масштабы представления Ресурсы — выбор доступных масштабов (Неделя/Недели/Месяцы/Год/День/Расписание) — calendar/admin.md.
- Кастомная настройка приложения
resourcesSubcatDefaults— увязка подкатегорий с шаблонами, ДП и режимами создания.
Механизмы администрирования¶
Автоадминка / SPA-страницы¶
| Форма / Страница | Назначение | Где находится |
|---|---|---|
| Ресурсное планирование (в категории) | Включение/настройка ресурсного управления в категории | Категория → вкладка «Ресурсы» |
| Представление категории → Ресурсы (data-source-settings) | Стартовая группировка вида Ресурсы | Категория → Настройки представления → блок «Ресурсы» |
| Масштабы представления Ресурсы | Выбор доступных масштабов | Категория → блок «Ресурсы» → кнопка шестерёнки |
| Конфигурации Планировщика | Создание/редактирование/права конфигураций планировщика | Админка → Интерфейс → Планировщик |
| Шаблоны задач (универсальные) | Создание кастомных шаблонов для ресурсов | Админка → МП → Шаблоны задач |
| Привязка шаблонов к категории | Назначение созданных шаблонов категории | Категория → блок «Формы» → Шаблонизация |
CustomSettings resourcesSubcatDefaults |
Глобальная настройка приложения | Общие настройки приложения → custom-app-settings |
API-контроллеры¶
| Контроллер | Маршрут | Методы | Назначение |
|---|---|---|---|
SubcategoriesResourcesController |
/api/admin/subcategories/{subcatId}/resources |
GET, POST | Ресурсные категории и доступные ресурсы |
SubcategoriesUniversalTemplatesController |
/api/admin/subcategories/{subcatId}/universal-templates |
GET, POST | Универсальные шаблоны и правила применения |
DataSourceController |
/net-core-api/datasource/resources/{subcatId}/data |
POST | Данные ресурсов для SchedulerPro |
TaskResourcesController |
/api/tasks/tasks-for-performers |
POST | Задачи для исполнителей с планами/фактами |
Техническая архитектура (API-контракты, сервисы, кэширование, Bryntum SchedulerPro) — в subcategory-resources-deep-dive.md.
Настройки ресурсного планирования в категории¶
Где настраивается: Категория → вкладка «Ресурсы» → опция «Ресурсное управление». Доступно с версии: v2.262+
После включения «Ресурсное управление» становятся доступны параметры:
Основные параметры¶
| Параметр | Описание | Значения |
|---|---|---|
| Ответственный за оценку плановых трудозатрат | Пользователь, назначающий объёмы плановых трудозатрат | Пользователь / Смарт/T-SQL |
| Требуется подтверждение плановых трудозатрат | Запрос подписи при внесении трудозатрат | true / false (устаревшее, не используется) |
| Ответственный за согласование плановых трудозатрат | Подписант правильности запланированного объёма | Пользователи / Смарт/T-SQL |
| Требуется подтверждение планового исполнителя | Запрос подписи владельца ресурса при назначении исполнителя | true / false |
| Метод планирования | Режим распределения объёма | Фиксированная длительность / Фиксированные трудозатраты |
| Режим плановых трудозатрат | Доступность внесения плана | Можно вносить / Нельзя вносить / Обязательно вносить |
| Обязательно вносить фактические трудозатраты перед завершением | Блокировка завершения задачи без факта | true / false |
| Запрещено редактировать фактические трудозатраты в терминальных статусах | Защита факта после завершения | true / false |
| Синхронизировать плановые трудозатраты | Автораспределение плана между ресурсами | true / false |
| Объёмно-календарный план зависит от персонального | Правило изменения общего плана при редактировании дневного | true / false |
| Плановые трудозатраты по умолчанию (мин) | Значение по умолчанию для ресурса | Число (минуты) |
| Отображать блок ресурсного планирования по smart-фильтру | Условие видимости блока в задаче | SmartFilter / пусто (всегда) |
| Выключить автоматическое распределение | Запрет автораспределения плана по дням | true / false |
| Разрешить списывать фактические трудозатраты в будущем | Возможность вносить факт за будущие даты | true / false |
| Не ограничивать видимость трудозатрат | Видимость трудозатрат для всех с правом просмотра | true / false |
| Уведомлять заказчика о превышении трудозатрат | Автоуведомление при превышении факта над планом | true / false |
| Группа, уведомляемая о превышении плана | Получатели уведомлений | Группа пользователей |
⚠️ Выключить автоматическое распределение необходимо, если категория используется как источник для Планировщика с блоком нераспределённых задач. При отключённом параметре незакрытый остаток плановых затрат перераспределяется по дням при внесении факта задним числом.
Ресурс по умолчанию¶
Где настраивается: вкладка «Ресурсы» → блок «Ресурс по умолчанию». Доступно с версии: v2.262+
Порядок настройки:
- Выбрать одну или несколько категорий-справочников в «Категории ресурсов» (доступны категории с типом «Ресурсы»).
- После сохранения в поле «Ресурс по умолчанию» выбирается экземпляр ресурса из указанных категорий.
Ресурс по умолчанию назначается для новой задачи, если при постановке не указан исполнитель.
Справочник ресурсов¶
Основа для работы с ресурсами — категория «Справочник ресурсов» (раздел Системный, тип категории «Ресурсы»).
Рекомендуемые настройки: - Администраторам — полные права на категорию. - Пользователям — только право на просмотр. - Режим установки срока: «Отключён».
Дополнительные параметры Справочника ресурсов:
| ДП | Тип | Описание |
|---|---|---|
| Тип ресурса | Выпадающий список | Трудовой / Затратный |
| Подтип | Выпадающий список | Сотрудник / Внешний ресурс / Материальный объект (только для Трудовых) |
| Основные исполнители | Выбор пользователей | Группа орг. структуры — основные исполнители ресурса |
| Дополнительные исполнители | Выбор пользователей | Группа орг. структуры — дополнительные исполнители |
| Владелец ресурса | Выбор пользователей | Ответственный за распределение ресурса |
| Внутренний исполнитель | Выпадающий список | Связь записи Справочника ресурсов с категорией экземпляров |
| Количество ресурса | Число | Доступное количество (только для Затратных) |
| Единица измерения | Строка | день, час, минута и т.д. |
| Стоимость | Деньги | Стоимость единицы |
| Стоимость сверхурочно | Деньги | Стоимость единицы сверхурочно |
| Группы, обладающие правом планировать ресурс | Выбор пользователей (группы) | Ограничение на планирование ресурса |
⚠️ Важно: В задаче при выборе доступных ресурсов выбираются только пользователи, у которых в данной категории есть право «Исполнять». Если настроен SmartFilter «Специальные пользователи» — только соответствующие ему.
Приоритет прав планирования ресурса¶
- Сам пользователь всегда может вносить свои плановые трудозатраты.
- Участники групп, указанных в параметре «Группы, обладающие правом планировать ресурс» — для данного ресурса/исполнителя.
- Редактировать плановые трудозатраты могут: администраторы, заказчик задачи, сотрудники с правом назначать исполнителей.
- Назначать исполнителей по ресурсу могут: администраторы, сотрудники с правом назначать исполнителей.
Порядок настройки блока ресурсов¶
- Создать категорию ресурсов (тип «Ресурс»), если отсутствует.
- Создать связь категории с категорией ресурсов на вкладке «Ресурс по умолчанию».
- Добавить категорию ресурсов в сводный раздел (общие настройки → Сводный раздел типов ресурсов).
- Для материальных объектов — создать категорию экземпляров (тип «Экземпляры ресурсов»).
- Добавить категорию экземпляров в сводный раздел (общие настройки → Сводный раздел экземпляров ресурсов).
- При создании экземпляров выбрать Тип ресурса экземпляра (автоматический ДП, источник — сводный раздел типов ресурсов).
Для сотрудников пункты 4–6 не нужны (хранятся в служебной таблице пользователей).
Учёт трудозатрат по отсутствиям¶
Для типов/статусов отсутствий можно включить признак «Фиксировать трудозатраты». После завершения календарного события с таким типом/статусом для всех участников автоматически учитываются фактические трудозатраты, равные продолжительности события.
Кастомные шаблоны задач для Ресурсов¶
Где настраивается: МП → Шаблоны задач → Создать. Доступно с версии: v2.262+
Для представления категории «Ресурсы» можно создать два динамических шаблона: 1. Шаблон карточки ресурса — отображение бара события на таймлайне. 2. Шаблон подсказки (tooltip) — всплывающая подсказка при наведении.
Создание шаблона¶
Параметры шаблона:
| Параметр | Значение для ресурсов |
|---|---|
| Контекст | Cell |
| Тип | dynamic |
| Категория | Категория, для которой создаётся шаблон |
Структура JSON¶
Тело динамического шаблона — JSON трехуровневой структуры: sections → blocks → elements.
Базовый шаблон карточки ресурса:
{
"contexts": [
{
"context": "resources",
"settings": {
"templateClass": "resources"
},
"sections": [
{
"blocks": [
{ "alias": "rightIcon", "elements": [] },
{ "alias": "leftIcon", "elements": [] },
{ "alias": "leftTop", "elements": [] },
{ "alias": "rightTop", "elements": [] },
{ "alias": "leftMid", "elements": [] },
{ "alias": "rightMid", "elements": [] },
{ "alias": "leftBottom", "elements": [] },
{ "alias": "rightBottom", "elements": [] }
]
}
]
}
]
}
Обязательно: "context": "resources", "templateClass": "resources".
Блоки позиционирования (8 слотов)¶
| Alias | Позиция | Примечание |
|---|---|---|
leftIcon |
Большая левая иконка | Для иконок задач из ДП Lookup/Multilookup |
rightIcon |
Большая правая иконка | |
leftTop |
Текст сверху слева | Текстовые элементы |
rightTop |
Текст сверху справа | Выравнивание по правому краю |
leftMid |
Текст посередине слева | |
rightMid |
Текст посередине справа | Выравнивание по правому краю |
leftBottom |
Текст снизу слева | |
rightBottom |
Текст снизу справа | Выравнивание по правому краю |
Текстовые элементы в правых блоках выравниваются по правому краю. Если используются только правые блоки — их содержимое всё равно прижимается к правому краю карточки.
Параметры элемента (elements)¶
Источники данных¶
| Параметр | Описание | Значения |
|---|---|---|
type |
Тип источника данных | extparam / barParam |
dataKey |
ID ДП (для extparam) или selfDatetime (для barParam) |
число / строка |
name |
Название ДП | строка |
style |
Формат даты/времени (barParam) |
см. ниже |
viewMode (вид отображения)¶
| Значение | Описание |
|---|---|
icon |
Иконка |
iconSet |
Набор иконок |
compact |
Текст задачи значения ДП Lookup (Multilookup — через запятую) |
userList |
Значения ДП Выбор пользователей |
userList1 |
Список имён с аватарами |
userList2 |
Список имён с аватарами и должностью |
Форматы дат (style для barParam)¶
| Стиль | Пример |
|---|---|
date |
«1 января» / «1 января — 10 декабря» |
dateTime |
«1 января с 10:00 до 18:00» / «С 1 января 10:00 до 10 декабря 18:00» |
time |
«10:00–18:00» |
startTime |
«10:00» |
endTime |
«18:00» |
duration |
«9 ч» / «2 д» / «2 д 4 ч» |
fullDuration |
«24 ч» — полная аллокация в часах без обрезки по рабочему времени |
Настройки (settings)¶
| Параметр | Описание | Значения |
|---|---|---|
taskIcon |
Отображение иконки задачи в ДП | true / false |
valueGetter |
Отдаёт значение как есть | "$self" |
eventColor |
Цвет карточки | См. ниже «Приоритет цветов» |
rowHeight |
Высота строки | XS, SM, MD, LG, XL, XXL |
truncate |
Обрезка текста троеточием | true (default) / false |
showLabel |
Отображать название параметра | true / false |
selectUsers |
Только аватары пользователей (при viewMode: "iconSet") |
true / false |
viewMode |
Вид списка пользователей | userList1 / userList2 (при "viewMode": "userList") |
needToSeparate |
Разделение полосок событий по масштабу | См. ниже |
sourceSubcatId |
ID категории, для которой применяется шаблон | число |
needToSeparate¶
Перечисление масштабов, при которых события дробятся по одному дню:
| Значение | Масштаб |
|---|---|
weekAndDay |
Неделя |
weekAndMonth |
Месяцы/недели |
weekDateAndMonth |
Недели |
monthAndYear |
Месяцы |
year |
Годы |
hourAndDay |
День |
weekAndDaySchedule |
Расписание |
Приоритет цвета карточки (eventColor)¶
Если в шаблоне заданы все три настройки, приоритет:
resourceTypeColor— цвет из типа ресурса (true/false). Применяется мгновенно, так как тип категории известен заранее.taskColor— цвет задачи, наследуемый от категории (true/false).extParam— значение цвета из ДП Lookup (ID ДП в качестве значения). При создании задачи, пока значение ДП неизвестно — серый цвет.
Если ни одно свойство не задано — синий для плановых ресурсов, зелёный для фактических.
Шаблон подсказки (tooltip)¶
Базовый шаблон:
{
"contexts": [
{
"context": "resources-tooltip",
"settings": {
"templateClass": "resources-tooltip",
"columnB": { "align": "right" }
},
"sections": [
{
"blocks": [
{ "alias": "columnA", "elements": [] },
{ "alias": "columnB", "elements": [] }
]
}
]
}
]
}
Обязательно: "context": "resources-tooltip", "templateClass": "resources-tooltip".
Блоки: columnA (первая колонка), columnB (вторая колонка). Для columnB можно задать выравнивание "align": "right" / "align": "left".
Параметры elements соответствуют шаблону карточки ресурса, за исключением ограничения по высоте (для подсказок его нет).
Привязка шаблона к категории¶
Где настраивается: Категория → блок «Формы» → «Шаблонизация».
- Выбрать созданные шаблоны из списка.
- В колонке «Клиент» выбрать
all. - Активировать опцию «Активность правила».
Техническая реализация шаблонов рендеринга (загрузка шаблонов, формирование данных, рендеринг в eventRenderer, высота строки) — в subcategory-resources-deep-dive.md §16.
Кастомная настройка приложения resourcesSubcatDefaults¶
Где настраивается: Общие настройки приложения → custom-app-settings. Ключ:
resourcesSubcatDefaults
Формат:
"resourcesSubcatDefaults": [
{
"subcatId": int,
"newTaskSubcatId": int,
"postTaskMode": "newTaskForm",
"ignoreCreateAllocation": true|false,
"resourceExtendAddEnable": true|false,
"performerExtParamId": int,
"DatetimeFromExtParamId": int,
"DatetimeToExtParamId": int,
"createOnly": true|false
}
]
Параметры¶
| Параметр | Тип | Описание |
|---|---|---|
subcatId |
int | ID категории в представлении «Ресурсы» |
newTaskSubcatId |
int или массив | ID категории для новых задач. Если право на создание отсутствует — кнопка + скрывается |
postTaskMode |
string | "newTaskForm" — открывать карточку новой задачи. Если не задан — стандартное окно добавления ресурсов |
ignoreCreateAllocation |
bool | Отключение создания задач по кнопке + |
resourceExtendAddEnable |
bool | Включение расширенного добавления (кнопка в меню многоточия) |
performerExtParamId |
int | ID ДП Lookup (источник — категория со значениями исполнителей) |
DatetimeFromExtParamId |
int | ID ДП «Дата и время» — автозаполнение датой начала распределения |
DatetimeToExtParamId |
int | ID ДП «Дата и время» — автозаполнение датой окончания |
createOnly |
bool | Режим «только создание»: создание и просмотр, изменение через drag-and-drop запрещено |
Пример:
"resourcesSubcatDefaults": [
{
"subcatId": 61360,
"newTaskSubcatId": [61430],
"postTaskMode": "newTaskForm",
"ignoreCreateAllocation": true,
"resourceExtendAddEnable": true,
"performerExtParamId": 96360,
"DatetimeFromExtParamId": 96820,
"DatetimeToExtParamId": 96830,
"createOnly": true
}
]
Техническая реализация (загрузка и использование полей в коде SPA) — в subcategory-resources-deep-dive.md §21.
Планировщик¶
Где настраивается: Меню «Интерфейс» → Планировщик. Интерфейс: таблица настроенных конфигураций с CRUD.
Создание/редактирование конфигурации¶
Источник данных расписания¶
| Параметр | Описание |
|---|---|
| Имя | Название конфигурации |
| Категории | Одна или несколько категорий, задачи из которых определяют занятость ресурсов |
| Фильтр по ресурсам | Выбор ресурсов из справочника (категория «Справочник ресурсов» раздела «Системный») |
| Группировка (уровень 1 и 2) | Задача / Ресурс / Доп. параметр (последний — после выбора категории). Для «Ресурс»/«Доп. параметр» — дополнительное поле выбора |
| Отображать незапланированные ресурсы | Показывать ресурсы без задач |
| Скрывать выходные дни | Исключение выходных/праздников из отображения |
| Планирование по дням | вкл — задачи на несколько дней в отдельных ячейках; выкл — объединены в одну |
| Отображать суммарный план в календарной ячейке | Суммарный план на день для данного ресурса (включая неотображаемые по фильтру задачи) |
| Показывать блок незапланированных задач | Список задач с общим планом, не распределённых по дням (drag-and-drop на ресурс/дату) |
| Разрешить планирование ресурсов | Drag-and-drop перемещение задач между ячейками |
| ID внешнего объекта | Автозаполняется. Используется для настройки прав доступа |
⚠️ Drag-and-drop работает только если последний параметр группировки — «Ресурс». Drag-and-drop не работает в просроченных задачах и задачах без срока.
⚠️ Для планирования через Планировщик в категории должно быть отключено автоматическое распределение ресурсов (флажок «Выключить автоматическое распределение» на вкладке «Ресурсное планирование»).
Настройки визуализации¶
После сохранения источника данных создаются один или несколько вариантов визуализации (переключаемых в UI).
| Параметр | Описание |
|---|---|
| Имя | Название варианта |
| Настройки визуализации бара | Позиции (8 слотов): Не показывать, Задача, План, Факт, Доп. параметр, Ресурс |
| Цвет | Определение цвета задачи: текстовый ДП с #RRGGBB, числовой ДП (40–48 = палитра), Задача/План/Факт/Ресурс/Тип ресурса — автоматический |
| Период выбора данных | Текущая неделя, Следующая неделя, Текущий месяц, Текущий год и пр. |
| Период детализации | Дни, Месяцы, Годы |
| Масштаб | Минимум, 1/4, 1/2, 3/4, Максимум |
Фильтрация¶
Описание настроек фильтрации — в smart-filters/admin.md.
Динамический отбор данных при просмотре. Условия настраиваются через конструктор фильтров.
Всплывающая подсказка¶
Устаревшее, не используется.
Права доступа¶
Настройка прав — по кнопке рядом с ID внешнего объекта в списке конфигураций. Открывается стандартное окно выдачи прав на внешний объект.
Помощник по планированию (mini-timetable)¶
Где открывается: через избранные ссылки (SPA). Формат ссылки —
?schedulerв query string. Что показывает: таблицу занятости сотрудников по плановым трудозатратам.
Функциональность:
- Источник данных: задачи из категорий, указанных в настройках планировщика + данные по плановым затратам выбранных ресурсов.
- Распределение задач: руководитель или администратор перетаскивает задачи из блока нераспределённых в ячейки сотрудников и дат.
- Блок нераспределённых задач: задачи с общим планом, не распределённые по дням (опция «Отображать незапланированные ресурсы» / «Разрешить планирование ресурсов»).
- Суммарный план в ячейке: итог плановых трудозатрат на день по сотруднику. При превышении нормы рабочих часов — выделяется красным.
- Категории — все категории раздела подразделения. Задачи из других категорий — серым цветом.
⚠️ Работа планировщика зависит от настроек ресурсного планирования в категориях-источниках (см. «Настройки ресурсного планирования в категории» выше). Имеют значение настройки синхронизации плановых трудозатрат.
Источник данных представления Ресурсы¶
Где настраивается: Категория → Настройки «Вид» → блок «Ресурсы». Доступно с версии: v2.262+
Настройки аналогичны настройкам табличного вида категории, за исключением блока дополнительных настроек.
Стартовая группировка: для категорий задач, использующих ресурсы, платформа применяет группировку по «Тип ресурса» для пользователей без сохранённых персональных настроек. После сохранения персональной конфигурации используется она.
Масштабы представления Ресурсы¶
Где настраивается: Категория → блок «Ресурсы» → кнопка шестерёнки → настройки доступных масштабов.
Доступные значения масштабов и их описание — в calendar/admin.md §Масштабы представления «Ресурсы».
Там же — описание механизма запоминания выбора и флаг «Отображать задачи в терминальном статусе».
Типичные ошибки настройки¶
| Симптом | Причина | Где проверить |
|---|---|---|
| Невозможно внести трудозатраты | Пустой справочник ресурсов | Справочник ресурсов → создать запись |
| Не отображается блок ресурсного планирования | SmartFilter не возвращает true |
Настройки категории → вкладка «Ресурсы» → «Отображать блок ресурсного планирования по smart-фильтру» |
| Планировщик не показывает задачи | В категории-источнике включено автоматическое распределение | Категория → вкладка «Ресурсы» → «Выключить автоматическое распределение» |
| Drag-and-drop не работает | Последний уровень группировки — не «Ресурс» | Настройки конфигурации Планировщика → Группировка |
Кнопка + не отображается в Ресурсах |
У пользователя нет права на создание в newTaskSubcatId |
CustomSettings resourcesSubcatDefaults / права категории |
| Карточка ресурса серая | eventColor: extParam, ДП не заполнен при создании |
Заполнить ДП Lookup с цветом и сохранить задачу |
| Карточка ресурса нестандартного цвета | Цвет из типа ресурса не совпадает с ожидаемым | Настройки категории → Тип категории → цвет |