всем доброго дня!
есть два справочника Сотрудники и АрбитражноеДело. нужно установить разграничение доступа к записям, то есть чтобы пользователь(роль АрбитражныйУправляющий) видел только себя в сотрудниках и свои арбитражные дела.
в справочнике сотрудник ограничение делаю по реквизиту Наименование, а в справочнике арбитражное дело - по реквизиту Ответственный.
вот сами ограничения
также создал параметр сеанса ТекущийПользователь (СправочникСсылка.Сотрудники)
и в модуле сеанса написал следующую процедуру:
Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
ТекПользователь = Справочники.Сотрудники.НайтиПоНаименованию(ИмяПользователя());
Если ТекПользователь.Пустая() Тогда
НовПользователь = Справочники.Сотрудники.СоздатьЭлемент();
НовПользователь.Наименование = ИмяПользователя();
НовПользователь.Записать();
ТекПользователь = НовПользователь.Ссылка;
КонецЕсли;
ПараметрыСеанса.ТекущийПользователь = ТекПользователь;
КонецПроцедуры
Предпочитаю решать подобные вопросы путем отборов при открытии списков справочников и документов. Надежнее как-то.
Moloko @ Вчера, 21:55
,
не спасает при ручном вводе, т.е. начнешь вводить текст в поле и вылезет запрещенный элемент справочника, которого типа в списке не видно
+ какие-то программные обработки, где идет выборка данных.
РЛС - надежнее) но сцуко, сложнее)
Pashkevich, так у вас в ПараметрыСеанса.ТекущийПользователь находится ссылка на справочник Сотрудников, а в RLS вы сравниваете наименование с этой ссылкой
Сотрудник.Наименование = &ТекущийПользователь
Сотрудник.Ссылка= &ТекущийПользователь
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua