Имеем БСП 2.4.3.61
Разработка собственной конфигурации
Подсистема УправлениеДоступом
Необходимо ограничение прав на уровне объектов
Вопрос: что если необходимо ограничить доступ к справочнику не только по группам, но еще и по элементам, как реализовать такую возможность?
На данный момент получилось сделать либо по элементам, либо по группам, ниже пример из демки
,а нужно и по группам и по элементам
код типа
работать не будет, и напишет ошибку, что то типа справочник _ДемоПартнеры используется в группах
Приведу пример зачем это нужно, один пользователь входит в базу - внешний клиент - ему доступно видеть только свои контрагенты от 1 до 5 шт, другой пользователь - менеджер ему доступны контрагенты у которых установлена группа контрагентов - "регион север", причем внешник может попадать в группу "регион север".
Думаю единственный способ ставить группу доступа как табличную часть и в ней настраивать две группы контрагентов списком - "регион север" и "клиент№15". Или есть какой то более продвинутый способ.
Разработка собственной конфигурации
Подсистема УправлениеДоступом
Необходимо ограничение прав на уровне объектов
Вопрос: что если необходимо ограничить доступ к справочнику не только по группам, но еще и по элементам, как реализовать такую возможность?
На данный момент получилось сделать либо по элементам, либо по группам, ниже пример из демки
ВидДоступа = ВидыДоступа.Добавить();
ВидДоступа.Имя = "_ДемоГруппыНоменклатуры";
ВидДоступа.Представление = НСтр("ru = 'Демо: Группы номенклатуры'");
ВидДоступа.ТипЗначений = Тип("СправочникСсылка._ДемоНоменклатура");
ВидДоступа.ТипГруппЗначений = Тип("СправочникСсылка._ДемоГруппыДоступаНоменклатуры");
УправлениеДоступом.ДобавитьДополнительныеТипыВидаДоступа(ВидДоступа,
Тип("СправочникСсылка._ДемоВидыНоменклатуры"),
Тип("СправочникСсылка._ДемоГруппыДоступаНоменклатуры"));
ВидДоступа = ВидыДоступа.Добавить();
ВидДоступа.Имя = "_ДемоКассы";
ВидДоступа.Представление = НСтр("ru = 'Демо: Кассы'");
ВидДоступа.ТипЗначений = Тип("СправочникСсылка._ДемоКассы");
УправлениеДоступом.ДобавитьДополнительныеТипыВидаДоступа(ВидДоступа,
Тип("СправочникСсылка._ДемоКассыККМ"));
Показать,а нужно и по группам и по элементам
код типа
ВидДоступа = ВидыДоступа.Добавить();
ВидДоступа.Имя = "Партнеры";
ВидДоступа.Представление = НСтр("ru = 'Партнеры'");
ВидДоступа.ТипЗначений = Тип("СправочникСсылка._ДемоПартнеры");
ВидДоступа = ВидыДоступа.Добавить();
ВидДоступа.Имя = "_ДемоГруппыПартнеров";
ВидДоступа.Представление = НСтр("ru = 'Демо: Группы партнеров'");
ВидДоступа.ТипЗначений = Тип("СправочникСсылка._ДемоПартнеры");
ВидДоступа.ТипГруппЗначений = Тип("СправочникСсылка._ДемоГруппыДоступаПартнеров");
работать не будет, и напишет ошибку, что то типа справочник _ДемоПартнеры используется в группах
Приведу пример зачем это нужно, один пользователь входит в базу - внешний клиент - ему доступно видеть только свои контрагенты от 1 до 5 шт, другой пользователь - менеджер ему доступны контрагенты у которых установлена группа контрагентов - "регион север", причем внешник может попадать в группу "регион север".
Думаю единственный способ ставить группу доступа как табличную часть и в ней настраивать две группы контрагентов списком - "регион север" и "клиент№15". Или есть какой то более продвинутый способ.
По теме из базы знаний
- Использование подсистемы "Управление доступом" из состава БСП версии 2.2+
- Подсистема БСП «Управление доступом», основные объекты и регистры
- Профили управления доступом к объектам в любой конфигурации на БСП
- Управление доступом - как быстро доработать RLS (БСП)
- Встраиваем производительный режим RLS в свою конфигурацию (БСП 3.1.7)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот