Ограничение доступа к элементам и группам справочника
Подскажите, как правильно составить запрос?
К примеру, имею 3 справочника:
1. Пользователи (Наименование //Строка)
2. ЗапрещенныеОбъекты (Объект //ЛюбаяСсылка) //Владелец:Пользователи
3. ФизическиеЛица (Наименование //Строка)
Необходимо для конкретного пользователя ограничить видимость элементов и групп справочника "ФизическиеЛица" (то есть сделать невидимыми запрещенные элементы, запрещенные группы, а также элементы запрещенных групп с неограниченной вложенностью), указанных в поле "Объект" справочника "ЗапрещенныеОбъекты". Пишу запрос в условии ограничения доступа на чтение справочника "ФизическиеЛица". Задача неимоверно усложняется тем, что нельзя использовать условие "В ИЕРАРХИИ".
Где &ТекущийПользователь - эта параметр сеанса с наименованием пользователя. Таким образом у меня отфильтровываются только те объекты (элементы и группы), которые были явно указаны в справочнике запрещенных объектов.
Как сделать, чтобы отфильтровывались также все элементы и группы, стоящие ниже по иерархии от заданной группы-объекта? В независимости от того, как глубоко они расположены.
К примеру, имею 3 справочника:
1. Пользователи (Наименование //Строка)
2. ЗапрещенныеОбъекты (Объект //ЛюбаяСсылка) //Владелец:Пользователи
3. ФизическиеЛица (Наименование //Строка)
Необходимо для конкретного пользователя ограничить видимость элементов и групп справочника "ФизическиеЛица" (то есть сделать невидимыми запрещенные элементы, запрещенные группы, а также элементы запрещенных групп с неограниченной вложенностью), указанных в поле "Объект" справочника "ЗапрещенныеОбъекты". Пишу запрос в условии ограничения доступа на чтение справочника "ФизическиеЛица". Задача неимоверно усложняется тем, что нельзя использовать условие "В ИЕРАРХИИ".
Код |
---|
ФизическиеЛица
ГДЕ Ссылка НЕ В
(ВЫБРАТЬ
ЗапрещенныеОбъекты.Объект
ИЗ
Справочник.ЗапрещенныеОбъекты КАК ЗапрещенныеОбъекты
ГДЕ
ЗапрещенныеОбъекты.Владелец.Наименование = &ТекущийПользователь) Показать полностью |
Где &ТекущийПользователь - эта параметр сеанса с наименованием пользователя. Таким образом у меня отфильтровываются только те объекты (элементы и группы), которые были явно указаны в справочнике запрещенных объектов.
Как сделать, чтобы отфильтровывались также все элементы и группы, стоящие ниже по иерархии от заданной группы-объекта? В независимости от того, как глубоко они расположены.
По теме из базы знаний
- [Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)
- Управление доступом: роли, права, профили, группы доступа, функциональные опции, RLS
- Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)
- Ограничение доступа к заказам клиентов по менеджеру. Расширение конфигурации
- Условное оформление элементов форм в пользовательском режиме 1С (управление видимостью и доступностью элементов форм)
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Душелов:
1. Насчет ссылки согласен полностью, просто это пока для меня непринципиально.
2. Нет, просто в запросе на ограничение доступа нельзя использовать условие "В ИЕРАРХИИ" - эта оговорка есть даже в документации. В том-то и загвоздка, что не знаю как решить задачу без использования "В ИЕРАРХИИ"...
1. Насчет ссылки согласен полностью, просто это пока для меня непринципиально.
2. Нет, просто в запросе на ограничение доступа нельзя использовать условие "В ИЕРАРХИИ" - эта оговорка есть даже в документации. В том-то и загвоздка, что не знаю как решить задачу без использования "В ИЕРАРХИИ"...
посмотри как в УТ сделано ограничение по контрагентам: там в регистр, если заносится группа, то автоматом добавляется и весь состав этой группы с признаком того, что это наследственная связь. При изменениях в справочнике контрагентов, лопатится это регистр пересматривая все наследственные связи. Пользователю же показывается только то, что не содержит признака наследования, т.е. введено ручками.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)