Имя: Пароль:
1C
1С v8
Ограничить доступ к справочнику СотрудникиОгранизаций в 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)Сделал, так как рекомендовали. Откатил назад, не спеша прошелся по всему алгоритму и все получилось! Видимо в прошлый раз что-то уже начинал делать не впопад и новая роль не была задействована или еще что-то(((
Спасибо всем, что уделили время и смогли вникнуть!