|
Ограничить доступ к справочнику СотрудникиОгранизаций в RLS | ☑ | ||
---|---|---|---|---|
0
tiago
23.10.17
✎
11:53
|
Не решился написать в пятницу. За выходные вопрос тоже не решился, поэтому спрошу сегодня.
Платформа: 8.3.10 Конф-я: Бухгалтерия 3.0 Сокрашения: «Сотрудники»= «СотрудникикОранизации» Надеюсь изложить как можно более доступно. Цель – ограничить пользователю доступ к справочнику «Сотрудники» только по его основному подразделению. Основное подразделение у пользователя = реквизит ТекущееПодразделениеОрганизации у справочника «Сотрудники». Что сделал: 1. Создал новую роль «ДоступПоОрганизации», где на «Сотрудниках» установил соответствующее цели ограничение доступа к данным, раздал «ограниченным пользователям». 2. Пришлось у Роли «Пользователь» снять чтение на справочник «Сотрудники», т.к. она давал полный доступ, с этой ролью ограничить не получалось. Взамен создал новую роль «ЧтениеСотр», копированием от «Пользователь», где на справочник «Сотрудники» установил чтение, добавил эту роль «неограниченным пользователям». В итоге: «ограниченный пользователь» видит всё как и положено – список сотрудников только по основному подразделению. Но у некоторых «неограниченных пользователей» совершенно пропал доступ к справочнику «Сотрудники» (например, недостаточно прав на работу с таблицей при выполнении запроса к этому справочнику). Полагаю всему виной то, что я снял чтение на «Сотрудники» у роли «Пользователь», но я как считаю, компенсировал это новой ролью «ЧтениеСотр», где это чтение есть. В общем обе роли «ЧтениеСотр» и «Пользователь» у «неограниченного пользователя» есть, но доступ к справочнику «Сотрудники» открывается только когда чтение установлено у роли «Пользователь», а установка чтения только у новой роли «ЧтениеСотр» доступ не открывает. Вот такие дела. Прошу, помогите открыть доступ на чтение справочника «Сотрудники», не устанавливая чтение у роли «Пользователь». |
|||
1
DrShad
23.10.17
✎
12:10
|
и где тут RLS?
|
|||
2
tiago
23.10.17
✎
12:15
|
(1) В ролях Пользователь и ЧтениеСотр прописывал РЛС на справочник СотрудникиОрганизации
|
|||
3
tiago
23.10.17
✎
12:19
|
(1) Проблема сейчас не в самих РЛС. Трудность возникла перед тем, когда я начал из прописывать.
|
|||
4
RomaH
naïve
23.10.17
✎
12:20
|
попробуй из пользователя совсем убрать права - вынеси в отдельную роль
ЧтениеСотрОгр помогло? я сталкивался с тем что "запрет" был в приоритете - но уже не помню - чей это был глюк - мой или платформы |
|||
5
RomaH
naïve
23.10.17
✎
12:21
|
чтение - это только чтение - просмотр галка стоит?
|
|||
6
fedoss
23.10.17
✎
12:22
|
Не понял, а что не получилось с ролью "Пользователь"?
Достаточно было впилить для нее РЛС на сотрудников и создать роль "Полный доступ" без РЛС. Пробовал неограниченным пользователям добавлять обе роли - «ЧтениеСотр» и «ДоступПоОрганизации»? |
|||
7
Фрэнки
23.10.17
✎
12:31
|
(0)
// помогите открыть доступ на чтение справочника «Сотрудники», // не устанавливая чтение у роли «Пользователь». сам принцип срабатывания ограничения по РЛС не позволит тебе так сделать. |
|||
8
tiago
23.10.17
✎
12:31
|
(5)В Роли Просмотр галку ставил - не помогло, хотя она у меня изначально у Пользователя не стояла, копировал же я с Пользователя.
(6)Доступ к справочнику СотрудникиОрганизаций появляется если открывать чтение в роли Пользователь, а если у пользователя снять и создать аналогичную и отметку установить, то не появляется. Впечатление, как будто роль Пользователь главнее аналогично созданной. У неограниченных нету ДоступПоОрганизации, у них есть Пользователь и ЧтениеСотр. |
|||
9
tiago
23.10.17
✎
12:33
|
(7) Почему не позволит, если у меня есть похожая роль, где я доступ устанавливаю?
|
|||
10
fedoss
23.10.17
✎
12:42
|
(8) Попробуй дать неограниченным все роли - ДоступПоОрганизации, Пользователь, ЧтениеСотр
|
|||
11
AlvlSpb
23.10.17
✎
12:50
|
(0) Как-то все у вас усложнено. В БП есть ограничение доступа по ПодразделенияОрганизации. Просто в нужных ролях (там где участвует справочник Сотрудники) в шаблон на Чтение справочника допишите это ограничение Пример для роли ДобавлениеИзменениеДанныхСотрудников:
#ПоЗначениямРасширенный( "Справочник.Сотрудники","Чтение","", "ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ОрганизацииВКоторыхРаботалиСотрудники КАК Т2 ПО Т2.Сотрудник = Т.Ссылка", "", "Организации","Т2.Организация","и", "ГруппыФизическихЛиц","Т.ФизическоеЛицо","и", "ПодразделенияОрганизаций","Т.ТекущееПодразделение","","","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","" ) и настройте ограничения в профилях групп доступа. А так вы изобретаете велосипед |
|||
12
tiago
23.10.17
✎
13:03
|
(10) "не ограниченными" они являются только в прале доступа к справочнику СотрудникиОрганизации. Я это могу сделать только в качестве эксперимента, т.к. если даю им роль ДоступПоОрганизации, то они начинают видеть документы, которые видеть не должны.
(11) Я воспользовался именно "ПоЗначениямРасширенный" ...в нужных ролях (там где участвует справочник Сотрудники)... - одна из этих ролей - Роль Пользователь, а она есть практически у всех пользователей, соответственно, если я установлю ограничение на ограничение на сотрудников будет распространено на всех пользователей, а по всем не надо. Поэтому создана новая роль для некоторых. |
|||
13
AlvlSpb
23.10.17
✎
13:21
|
(12) Вы неправильно понимаете настройку RLS. Тем пользователям, которым разрешены все сотрудники в ограничениях ставите "Разрешены все" и они будут видеть всех. Остальным ставите Запрещены все" и указываете исключения, видеть будут только включенных в исключения
Или я что-то не понял в поставленной вам задаче? |
|||
14
Фрэнки
23.10.17
✎
13:29
|
(13) это если использовать штатную методику. А у него получается некий гибрид штатного инструмента с использованием реквизита у элемента Пользователь.
|
|||
15
Фрэнки
23.10.17
✎
13:32
|
Некая динамичная настройка для ограничения. Не получится без безглючно и слишком сложно в разработке и отладке. Хотя заманчиво, что в отчетах использованный RLS уже должен работать без доработки самих отчетов напильником.
|
|||
16
AlvlSpb
23.10.17
✎
13:32
|
(14) Смысл что-то выдумывать, если все придумано до нас. Разве что потренировать навыки, но это уже от безделия )))
|
|||
17
tiago
23.10.17
✎
13:34
|
(13) Перескажу еще раз.
1. Сначала я решал вопрос с документами. С ними у меня проблем не возникло, ведь я ранее создал отдельную роль с подсистемами применил подобие (11) и отдал их пользователю. Проблем никаких видят только то что им надо. не затрагивая интересы других пользователей. 2. Потом настала очередь справочников (СотрудникиОрганизации). Я так же создал новую роль применил ограничение как в (11), но пользователи ("ограниченные") продолжали видеть все подряд. Я выяснил, что у пользователя есть только одна роль, которая влияет на доступ к справочнику СотрудникиОрганизации - это роль Пользователь, которая устанавливает полное чтение и просмотр. Поэтому я убираю у роли Пользователь доступ к справочнику СотрудникиОрганизации и все пошло как надо - ограниченные стали видеть только то, что им надо. 3. Потом жалобы поступи, некоторые-другие перестали видеть справочник СотрудникиОрганизации - естественно, у них же только Пользователь был, и я в нем этот доступ закрыл! Хорошо, создам им новую роль - только для них ("неограниченные"), где есть доступ к СотрудникамОрганизации. Не сработало((( Тогда попробовал вернуть отметку по справочнику в Пользователя назад. Заработало. Вот почему когда у Пользователя ставлю полное чтение - работает, а у точно такой же роли ставлю отметку - не видят? |
|||
18
Фрэнки
23.10.17
✎
13:36
|
(16) смысл-то есть. Штатной настройки на принадлежность именно к подразделениям не дали. К организациям дали, но не к подразделениям. Мало того, что к организациям, так и явным образом надо задавать состав разрешенного просмотра, а не считывать автоматически из значения реквизита.
|
|||
19
Фрэнки
23.10.17
✎
13:40
|
(17) // Вот почему когда у Пользователя ставлю полное чтение - работает, а у точно такой же роли ставлю отметку - не видят?
может просто ошибка или опечатка в самой записи текстового ОграничениеДоступа. Ошибочка и все - из запроса возвращается "пусто" и разрешение не дается. |
|||
20
AlvlSpb
23.10.17
✎
13:41
|
(18) "Штатной настройки на принадлежность именно к подразделениям не дали". Как не дали? Как раз в БП дали! Посмотрите Предопределенные типы - Значения доступа, справочник ПодразделенияОрганизаций включен в значения, в общем модуле ЗарплатыКадры.УправлениеДоступомЗаполнитьСвойстваВидаДоступа вид доступа заполняется. Так что не правы, БП в этом плане продвинутая конфигурация ))
|
|||
21
tiago
23.10.17
✎
13:45
|
(19) Ни у роли Пользователь, ни у роли ЧтениеСотр - нет ограничение на СотрудниковОрганизации, я о них писал. Ограничение в отдельно роли, которая только у 2-3 пользователе. С ними все получилось и их не касаемся.
(20) Вот мое рабочее решение по ограничению доступа к справочнику по подразделению: #ПоЗначениям("Справочник.СотрудникиОрганизаций", "", "", "Подразделения", "ТекущееПодразделениеОрганизации", "", "", "", "","", "","", "","", "","", "","", "","", "","", "", "", "", "", "", "", "", "", "", "", "", "", "") |
|||
22
AlvlSpb
23.10.17
✎
13:52
|
(17) "Вот почему когда у Пользователя ставлю полное чтение - работает, а у точно такой же роли ставлю отметку - не видят?" Сталкивался с таким. Объяснения у меня нет. Однажды помогло программная установка роли пользователю в модуле сеанса типа:
ТекПользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); ТекПользователь.Роли.Добавить(Метаданные.Роли.НашаРоль); ТекПользователь.Записать(); но в след раз такое НЕ сработало. (21) #ПоЗначениям("Справочник.СотрудникиОрганизаций", "", "", "Подразделения", "ТекущееПодразделениеОрганизации", "", "", "", "","", "","", "","", "","", "","", "","", "","", "", "", "", "", "", "", "", "", "", "", "", "", "") Отсутствует указание права и работает? Должно быть так; #ПоЗначениям("Справочник.СотрудникиОрганизаций", "Чтение", "", "Подразделения", "ТекущееПодразделениеОрганизации", "", "", "", "","", "","", "","", "","", "","", "","", "","", "", "", "", "", "", "", "", "", "", "", "", "", "") И какая версия БП у вас? На моей 3.0.52.42 и справочник по другому называется и роли Пользователь не существует )) |
|||
23
tiago
23.10.17
✎
13:57
|
(22)Конф-я:
Бухгалтерия для Казахстана, редакция 3.0, разработка для Казахстана: «1С-Рейтинг» (3.0.8.15) |
|||
24
tiago
23.10.17
✎
14:00
|
(22)Прописывание права Чтение/Изменение/Добавление встречал в типовых не везьде, ориентировался, что если доступ прописывается на отметке [ ]Чтения, то и право относится к "Чтению"
|
|||
25
AlvlSpb
23.10.17
✎
14:12
|
(24) Так задача в итоге решена?
|
|||
26
tiago
23.10.17
✎
14:15
|
(25) Нет. После того, как пришлось снять доступ в одной из общих ролей, доступ потеряли те, кто этот доступ должны иметь. Попытка создать новую роль, которая этот доступ откроет оказалась не удачной.
|
|||
27
AlvlSpb
23.10.17
✎
14:21
|
(26) Тогда рекомендую начать все сначала. Скопировать стандартный (типовой) профиль доступа (например Продажи в Продажи1) Назначить всем новый доступ у кого был доступ к Продажи, галку с Продажи вообще снять. Это надо, чтобы можно было вносить изменения в ограничения, в типовом не даст. Пишешь свое ограничение для справочника Сотрудники в нужных ролях (пусть по нерасширенному шаблону, только я бы Чтение добавил) В профилях групп доступа нужным сотрудникам - Разрешены все, урезанным - Запрещены все и список исключений. ДОЛЖНО работать!
|
|||
28
AlvlSpb
23.10.17
✎
14:59
|
(27) + И на всякий. Ограничения по шаблону должно быть заполнено во ВСЕХ ролях профиля, в которых участвует справочник Сотрудники, иначе не сработает
|
|||
29
tiago
24.10.17
✎
14:59
|
(27)Сделал, так как рекомендовали. Откатил назад, не спеша прошелся по всему алгоритму и все получилось! Видимо в прошлый раз что-то уже начинал делать не впопад и новая роль не была задействована или еще что-то(((
Спасибо всем, что уделили время и смогли вникнуть! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |