...
1. Предварительные настройки
1. Добавить Добавить атрибут project_scope_folder ("Папка проекта") к Типу Элемента, привязанному к списку "Реестр проектов".
2. Перейти в список "Реестр проектов, на элементе заполнить атрибуты project_scope_folder из СХД и Lookup-атрибуты участников.
3. В СХД указать Роли из ОШС в Lookup-атрибутах участников процессов.
4. Добавить вычисление атрибута project_scope ("Карточка проекта") к ТЭ "Процесс".
5. Добавить вычисление атрибута project_scope ("Карточка проекта") в автоматизацию ТЭ "Задача".
2. Реестр проектов
1. Создается отдельный список "Реестр проектов":
...
3. Настройка ролевого пользователя
1. Состав Состав ролевых пользователей для проекта осуществляется на списке "Реестры проектов" в отдельных атрибутах (Мульти Lookup).
2. В организационную структуру добавляется новый ТЭ "Ролевой пользователь".
Ролевой пользователь — это группа пользователей, привязанная к проекту (например, Архитекторы, ГИПы, Инженеры и т.д.).
3. В ТЭ "Ролевой пользователь" есть обязательный атрибут Lookup-атрибут со ссылкой на реестр проектов/, где задается состав ролевой группы на проекте/.
3. Структура БД
1. Cоздаются таблицы расшифровок функциональных групп и ролевых пользователей для Lookup-атрибутов (user_group_membership) со столбцами:
id(guid) — идентификатор расшифровки;source(guid) — ID элемента;field(guid) — ID Lookup-атрибута;project(guid) — ID проекта;group_list(guid[]) — список пользователей/групп;principal_list(guid[]) — список пользователей/групп для расшифровки.
2. Для таблицы scope_read применяются следующие столбцы:
id(guid) — идентификатор;project(guid) — ID проекта;principal_access_list(guid[]) — список групп с правами на чтение;access_list(guid[]) — список групп/пользователей, имеющих доступ.
3. Алгоритмы (пересчет, выбор элементов, поиск)
...