Матрица ролей

1. Metabos 29 21.06.20 11:38 Сейчас в теме
Добрый день!
Была задача ограничить видимость элементов справочника назовем его Виды номенклатуры.
Есть около 40 видов номенклатуры. И надо было сделать определенные виды виды видимыми для сотрудников с определенной ролью.
Я сделала исключением. Например если есть роль Руководитель, то убирала из видимости те виды, которые он не должен видеть. Если есть роль АХО, то аналогично, убирала из видимости те, который сотрудники АХО не должны видеть.
Выглядит это так:
Если РольДоступна("Рук-ль") Тогда
СписокВидовНоменклатуры.Добавить(Справочники.ВидыНоменклатуры.НайтиПоКоду("1"));
СписокВидовНоменклатуры.Добавить(Справочники.ВидыНоменклатуры.НайтиПоКоду("2"));
ИначеЕсли РольДоступна("АХО") Тогда СписокВидовНоменклатуры.Добавить(Справочники.ВидыНоменклатуры.НайтиПоКоду("3"));
СписокВидовНоменклатуры.Добавить(Справочники.ВидыНоменклатуры.НайтиПоКоду("3"));
....

И потом уже накладываю отбор на список видов Номенклатуры.
Но, как наверное многие из вас догадались, проблема в том, что есть сотрудники с комбинацией ролей. Например руководитель АХО. И по идее у него должно быть этих ограничений меньше. И как теперь мне все это переигрывать не знаю. Можно сделать несколько массивов из этих ограничений этих ролей и как то их комбинировать, но вот не знаю.. Может можно покрасивее?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Fox-trot 162 21.06.20 15:34 Сейчас в теме
для начала надо определиться с приоритетом
разрешено, что не запрещено или запрещено, что не разрешено
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот