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

Права доступа к задачам — Администрирование

Что настраивает администратор

1. Права группы на категорию

Где: настройки категории, вкладка «Доступ» (и зеркально — в карточке группы).

Что задаётся:

  • просмотр всех задач;
  • создание, исполнение;
  • администратор задач/категории;
  • редактирование исполнителей, заказчика, срока;
  • пакетные действия;
  • доступ к шифрованным задачам и др.

2. Смарт-доступ

Где: контур smart-access.

Что задаётся:

  • смарт-выражение, возвращающее UserID;
  • действие (обычно view);
  • группы и категории, где правило активно.

Настройка смарт-доступа к ДП в AdminSPA

Правила смарт-доступа к дополнительным параметрам настраиваются через модальное окно в форме настроек ДП категории.

Workflow добавления правил:

  1. Откройте настройки ДП в категории
  2. В разделе "Смарт-доступ" откройте модальное окно
  3. Заполните параметры правила:
  4. Название
  5. Смарт-выражение для пользователей
  6. Права доступа (чтение/запись)
  7. Триггерные группы (при необходимости)
  8. Триггерные ДП (при необходимости)
  9. Нажмите "Добавить параметр" — правило будет сохранено на сервер
  10. Форма автоматически очистится для добавления следующего правила
  11. После добавления всех правил закройте модальное окно

Особенности (актуализация 2026-02-11):

  • Каждое правило сохраняется независимо от общей формы настроек ДП
  • Защита от дублирования: кнопка блокируется на время сохранения
  • После сохранения отображается уведомление "Смарт доступ сохранён"
  • Правила можно добавлять последовательно без закрытия модального окна
  • Закрытие модального окна не требует дополнительного сохранения — все добавленные правила уже сохранены на сервер

3. Доступ по SQL View

Где: категория (настройка источника доступа).

Требование к view: колонки TaskID, UserID.

4. Гибкие права через ДП

Где: раздел администрирования «Гибкие права на задачи» (доступно с v2.261 Лира).

Механизм предоставляет доступ на просмотр конкретных задач (не всей категории) на основании данных в самой задаче. Другие действия (редактирование, комментирование) требуют дополнительных прав на категорию.

4.1. Режим Flat

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

Поле формы Описание
Категория Категория, на задачи которой настраиваются права
Выбор пользователей ДП типа «Выбор пользователей» в этой же категории
  • Таблица БД: dbo.EPRightsFlat
  • Пример: ДП «РП (Руководитель проекта)» в категории «Договоры» — пользователи из ДП видят задачи договоров.

⚠️ В ДП «Выбор пользователя» допустимы только пользователи и группы; орг.единицы не поддерживаются.

4.2. Режим Lookup

ДП с типом «Lookup поле» в текущей категории ведёт на категорию-источник, где есть ДП «Выбор пользователя». Пользователи из ДП категории-источника получают доступ к задаче.

Поле формы Описание
Категория Категория, на задачи которой настраиваются права
Выбор пользователей ДП типа «Выбор пользователей» — в категории-источнике Lookup
Lookup ДП типа «Lookup поле» в категории из поля «Категория»
  • Таблица БД: dbo.EPRightsLkp
  • Пример: категория «Backlog проектных задач» → Lookup «Модуль» на категорию «Модули ТМ» → ДП «Акцептант» (Выбор пользователя) → доступ к задачам Backlog.

4.3. Режим Multilookup

ДП с типом «Выбор нескольких задач из категории (Multilookup)» в текущей категории ссылается на категорию-источник, где есть ДП «Выбор пользователя».

Поле формы Описание
Категория Категория, на задачи которой настраиваются права
Выбор пользователей ДП типа «Выбор пользователей» — в категории-источнике Multilookup
Multilookup ДП типа «Выбор нескольких задач из категории» в категории из поля «Категория»
  • Таблица БД: dbo.EPRightsMlt
  • Пример: категории разработки (Backlog, Backlog несоответствия) → ДП «Компании» (Multilookup на категорию «Клиенты») → ДП «КМ (Клиентский менеджер)» → доступ к задачам.

4.4. Особенности форм администрирования

  • Формы гибких прав недоступны для inline-редактирования — запись можно только создать или удалить.
  • Тип выбора пользователей: Пользователь (User), Группа (Group), Орг.структура (временно не используется).
  • ⚠️ Настройка доступа по статусам (ep-rights-*-states-*) устарела с v2.264 Кассиопея — не используется.

4.5. Пересчёт функций прав

При изменении настроек гибких прав через формы администрирования вызывается SP dbo.GenerateExtParamsRightsFunctions, который пересоздаёт функцию fn_UserTaskPermissionsGeneral из шаблона. Подробнее — database.md.

Паттерны настройки (таблица режимов, ограничения, паттерн скрытого ДП через автоматизацию) — см. academy-patterns.md.

5. Механизм материализации прав

Система автоматически пересчитывает гибкие права при любом изменении задачи: - создание задачи; - смена категории; - изменение заказчика или исполнителя; - обновление статуса или ДП.

Пересчёт выполняет SP dbo.AllUserPermissionsRefresh, который вызывается со скользящей задержкой 1 секунда — множественные изменения в рамках одной задачи группируются. Параметры SP: @UserID, @SubcatID, @TaskIDs, @OnlineUserOnlyF, @DebugF.

  • stored-procedures.md — сигнатура SP
  • objects-catalog.md — каталог объектов
  • database.md — кодогенерация функции прав

6. Таймер-задания фонового пересчёта

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

Задание Период Описание
RefreshAllUsersPermissionsJob Раз в час Полный пересчёт прав для всех пользователей
RefreshOnlineUsersPermissionsJob Каждые 5 мин Пересчёт прав только для пользователей, находящихся в сети

Диагностика: если пользователь не видит задачи, для которых настроены гибкие права: 1. Проверить лог job_history — выполняется ли AllUserPermissionsRefresh. 2. Для RefreshAllUsersPermissionsJob — см. support-guide-permissions.md (диагностика таймаута).

7. Отчёт о правах доступа

Функция отчёта по правам (доступна в разделе администрирования). Позволяет проверить, какие пользователи и группы имеют доступ к задачам.

Параметры фильтрации

Параметр Описание
Пользователь Вывести права указанных пользователей
Группа Вывести права пользователей, входящих в выбранные группы
Категория Вывести права на выбранную категорию
Действие Вывести права по выбранному действию с категорией

Параметры можно комбинировать — отчёт строится одновременно по нескольким условиям.

⚠️ Отчёт учитывает права, наследуемые при заместительстве. Подробнее — substitution.md.

Если параметры не заданы — отчёт строится по всем пользователям, группам, категориям и действиям.

Практический admin-чеклист

  1. Убедиться, что пользователь состоит в нужной группе.
  2. Проверить права группы на целевую категорию.
  3. Проверить, не конфиденциальна ли задача.
  4. Для смарт-доступа проверить активность и область правила.
  5. Для ДП-цепочек проверить конкретные ExtParamID и SubcatID.

Типовые ошибки конфигурации

Симптом Частая причина
Пользователь не видит задачи категории нет VIEW на категорию для его групп
Видит часть задач, но не все доступ идёт только по роли/смарту/ДП
Смарт-доступ не срабатывает правило/группа/категория настроены неверно или кэш не обновлён
Гибкий доступ через ДП «не работает» ошибка в ID ДП/категории, цепочка невалидна