Права доступа для пользователей филиала

Добрый день!
Стоит задача дать права на запись для пользователей, входящих в определенную команду и принадлежащих к одному филиалу (Доп. поле Контакт.Филиал).
Пытался раздать права с помощью БП, но в элементе "Изменение прав доступа" нет возможности добавить права нужным пользователям. Доступны либо все пользователи определенной роли, либо сотрудники, удовлетворяющие условиям фильтрации, в которых можно сделать фильтр по филиалу, но невозможно настроить фильтр по принадлежности пользователя к определенной роли (в агрегирующем фильтре нет Объекта администрирования).
Буду признателен за помощь...

Нравится

5 комментариев

Здравствуйте, Иван!

Принадлежность пользователя к определенной роли можно выяснить следующим образом:

1) Получить идентификатор пользователя и роли (это можно сделать, обращаясь к объектам Сотрудник и Объект Администрирования).
2) Проверять вхождение пользователя в роль, читая данные из объекта Роль Пользователя. В качестве условий передавать Пользователя и Роль. Если возвращает больше нуля, значит, пользователь входит в роль, иначе - нет.

Это понятно и вполне работает в EntitySchemaQuery, но в БП все сложнее...
Объект Роль Пользователя не доступен в фильтре элемента "Изменение прав доступа".
Добавить в фильтр результат выборки получается только один, а нужна все выборка..
Проблема остается.

Здравствуйте, Иван!

Определенная команда - это определенная роль? Если так, то почему нет возможности отфильтровать по ролям? Или необходимо давать права конкретным людям в определенной роли? Может я не правильно понял суть вопроса?

Команда - это роль(к примеру команда кассиры). Почему нет возможности фильтровать - этот вопрос меня тоже интересует)). В том то и дело, что нужно взять контакта, который входит в определенную роль и принадлежит к нужному филиалу, но в агрегирующем фильтре БП не доступны системные объекты, такие как VwSysAdminUnit. Вопрос в том как применить элемент Изменение прав доступа к нужной выборке сотрудников.

Здравствуйте, Иван!

Действительно, можно выбрать либо конкретную "Роль - группу пользователей в иерархии", либо контакта/ов по определенным условиям (без роли). Но я предлагаю пойти немного иным путем - на странице контакта есть поле "Роль", добавьте в справочник "Роль", необходимое значение, например "Кассир_1" и тогда можно будет по данному условию отфильтровать именно необходимого пользователя или группу.

Приятного дня!

Показать все комментарии