Версия для печати темы (https://pro1c.org.ua/index.php?s=6ce30ee54461ebcb2d30abb00dc1b06c&showtopic=59128)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ ограничение прав доступа к записям справочника в зависимости от текущего пользователя

Автор: Pashkevich 21.05.20, 12:24

всем доброго дня!

есть два справочника Сотрудники и АрбитражноеДело. нужно установить разграничение доступа к записям, то есть чтобы пользователь(роль АрбитражныйУправляющий) видел только себя в сотрудниках и свои арбитражные дела.

в справочнике сотрудник ограничение делаю по реквизиту Наименование, а в справочнике арбитражное дело - по реквизиту Ответственный.

вот сами ограничения







также создал параметр сеанса ТекущийПользователь (СправочникСсылка.Сотрудники)

и в модуле сеанса написал следующую процедуру:

Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
    
    
    ТекПользователь = Справочники.Сотрудники.НайтиПоНаименованию(ИмяПользователя());
    
    Если ТекПользователь.Пустая() Тогда
        
        НовПользователь = Справочники.Сотрудники.СоздатьЭлемент();
        НовПользователь.Наименование = ИмяПользователя();
        НовПользователь.Записать();
        ТекПользователь = НовПользователь.Ссылка;
        
    КонецЕсли;
    

    ПараметрыСеанса.ТекущийПользователь = ТекПользователь;
    
    
КонецПроцедуры


но все-равно, когда заходишь под арбитражным управляющим, в справочнике арбитражное дело нет ни одной записи, а справочник сотрудники в принципе отсутствует, хотя галка просмотр в роли стоит.

подскажите, пожалуйста

p/s/ версия 8.3.16.1063, конфа самописная, УФ

Автор: Moloko 21.05.20, 20:55

Предпочитаю решать подобные вопросы путем отборов при открытии списков справочников и документов. Надежнее как-то.

Автор: Bernet 22.05.20, 9:41

Moloko @ Вчера, 21:55 * ,
не спасает при ручном вводе, т.е. начнешь вводить текст в поле и вылезет запрещенный элемент справочника, которого типа в списке не видно
+ какие-то программные обработки, где идет выборка данных.

РЛС - надежнее) но сцуко, сложнее)

Автор: Vofka 22.05.20, 13:11

Pashkevich, так у вас в ПараметрыСеанса.ТекущийПользователь находится ссылка на справочник Сотрудников, а в RLS вы сравниваете наименование с этой ссылкой

Сотрудник.Наименование = &ТекущийПользователь

Кажется, что надо как-то так условие записать:
Сотрудник.Ссылка= &ТекущийПользователь

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua