|   |   | 
| 
 | Ограничить доступ к справочнику СотрудникиОгранизаций в 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 naïve 23.10.17✎ 12:50 | 
        (0) Как-то все у вас усложнено. В БП есть ограничение доступа по ПодразделенияОрганизации. Просто в нужных ролях (там где участвует справочник Сотрудники) в шаблон на Чтение справочника допишите это ограничение Пример для роли ДобавлениеИзменениеДанныхСотрудников:
 #ПоЗначениямРасширенный( "Справочник.Сотрудники","Чтение","", "ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ОрганизацииВКоторыхРаботалиСотрудники КАК Т2 ПО Т2.Сотрудник = Т.Ссылка", "", "Организации","Т2.Организация","и", "ГруппыФизическихЛиц","Т.ФизическоеЛицо","и", "ПодразделенияОрганизаций","Т.ТекущееПодразделение","","","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","" ) и настройте ограничения в профилях групп доступа. А так вы изобретаете велосипед | |||
| 12
    
        tiago 23.10.17✎ 13:03 | 
        (10) "не ограниченными" они являются только в прале доступа к справочнику СотрудникиОрганизации. Я это могу сделать только в качестве эксперимента, т.к. если даю им роль ДоступПоОрганизации, то они начинают видеть документы, которые видеть не должны.
 (11) Я воспользовался именно "ПоЗначениямРасширенный" ...в нужных ролях (там где участвует справочник Сотрудники)... - одна из этих ролей - Роль Пользователь, а она есть практически у всех пользователей, соответственно, если я установлю ограничение на ограничение на сотрудников будет распространено на всех пользователей, а по всем не надо. Поэтому создана новая роль для некоторых. | |||
| 13
    
        AlvlSpb naïve 23.10.17✎ 13:21 | 
        (12) Вы неправильно понимаете настройку RLS. Тем пользователям, которым разрешены все сотрудники в ограничениях ставите "Разрешены все" и они будут видеть всех. Остальным ставите Запрещены все" и указываете исключения, видеть будут только включенных в исключения
 Или я что-то не понял в поставленной вам задаче? | |||
| 14
    
        Фрэнки 23.10.17✎ 13:29 | 
        (13) это если использовать штатную методику. А у него получается некий гибрид штатного инструмента с использованием реквизита у элемента Пользователь.     | |||
| 15
    
        Фрэнки 23.10.17✎ 13:32 | 
        Некая динамичная настройка для ограничения. Не получится без безглючно и слишком сложно в разработке и отладке. Хотя заманчиво, что в отчетах использованный RLS уже должен работать без доработки самих отчетов напильником.     | |||
| 16
    
        AlvlSpb naïve 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 naïve 23.10.17✎ 13:41 | 
        (18) "Штатной настройки на принадлежность именно к подразделениям не дали". Как не дали? Как раз в БП дали! Посмотрите Предопределенные типы - Значения доступа, справочник ПодразделенияОрганизаций включен в значения, в общем модуле ЗарплатыКадры.УправлениеДоступомЗаполнитьСвойстваВидаДоступа вид доступа заполняется. Так что не правы, БП в этом плане продвинутая конфигурация ))     | |||
| 21
    
        tiago 23.10.17✎ 13:45 | 
        (19) Ни у роли Пользователь, ни у роли ЧтениеСотр - нет ограничение на СотрудниковОрганизации, я о них писал. Ограничение в отдельно роли, которая только у 2-3 пользователе. С ними все получилось и их не касаемся.
 (20) Вот мое рабочее решение по ограничению доступа к справочнику по подразделению: #ПоЗначениям("Справочник.СотрудникиОрганизаций", "", "", "Подразделения", "ТекущееПодразделениеОрганизации", "", "", "", "","", "","", "","", "","", "","", "","", "","", "", "", "", "", "", "", "", "", "", "", "", "", "") | |||
| 22
    
        AlvlSpb naïve 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 naïve 23.10.17✎ 14:12 | 
        (24) Так задача в итоге решена?     | |||
| 26
    
        tiago 23.10.17✎ 14:15 | 
        (25) Нет. После того, как пришлось снять доступ в одной из общих ролей, доступ потеряли те, кто этот доступ должны иметь. Попытка создать новую роль, которая этот доступ откроет оказалась не удачной.     | |||
| 27
    
        AlvlSpb naïve 23.10.17✎ 14:21 | 
        (26) Тогда рекомендую начать все сначала. Скопировать стандартный (типовой) профиль доступа (например Продажи в Продажи1) Назначить всем новый доступ у кого был доступ к Продажи, галку с Продажи вообще снять. Это надо, чтобы можно было вносить изменения в ограничения, в типовом не даст. Пишешь свое ограничение для справочника Сотрудники в нужных ролях (пусть по нерасширенному шаблону, только я бы Чтение добавил) В профилях групп доступа нужным сотрудникам - Разрешены все, урезанным - Запрещены все и список исключений. ДОЛЖНО работать!     | |||
| 28
    
        AlvlSpb naïve 23.10.17✎ 14:59 | 
        (27) + И на всякий. Ограничения по шаблону должно быть заполнено во ВСЕХ ролях профиля, в которых участвует справочник Сотрудники, иначе не сработает     | |||
| 29
    
        tiago 24.10.17✎ 14:59 | 
        (27)Сделал, так как рекомендовали. Откатил назад, не спеша прошелся по всему алгоритму и все получилось! Видимо в прошлый раз что-то уже начинал делать не впопад и новая роль не была задействована или еще что-то(((
 Спасибо всем, что уделили время и смогли вникнуть! | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |