БСП управление доступом

1. sergik_nsk 148 15.11.17 09:33 Сейчас в теме
Имеем БСП 2.4.3.61
Разработка собственной конфигурации
Подсистема УправлениеДоступом
Необходимо ограничение прав на уровне объектов

Вопрос: что если необходимо ограничить доступ к справочнику не только по группам, но еще и по элементам, как реализовать такую возможность?

На данный момент получилось сделать либо по элементам, либо по группам, ниже пример из демки

ВидДоступа = ВидыДоступа.Добавить();
	ВидДоступа.Имя = "_ДемоГруппыНоменклатуры";
	ВидДоступа.Представление    = НСтр("ru = 'Демо: Группы номенклатуры'");
	ВидДоступа.ТипЗначений      = Тип("СправочникСсылка._ДемоНоменклатура");
	ВидДоступа.ТипГруппЗначений = Тип("СправочникСсылка._ДемоГруппыДоступаНоменклатуры");
	УправлениеДоступом.ДобавитьДополнительныеТипыВидаДоступа(ВидДоступа,
		Тип("СправочникСсылка._ДемоВидыНоменклатуры"),
		Тип("СправочникСсылка._ДемоГруппыДоступаНоменклатуры"));
	
	ВидДоступа = ВидыДоступа.Добавить();
	ВидДоступа.Имя = "_ДемоКассы";
	ВидДоступа.Представление = НСтр("ru = 'Демо: Кассы'");
	ВидДоступа.ТипЗначений   = Тип("СправочникСсылка._ДемоКассы");
	УправлениеДоступом.ДобавитьДополнительныеТипыВидаДоступа(ВидДоступа,
		Тип("СправочникСсылка._ДемоКассыККМ"));
Показать


,а нужно и по группам и по элементам
код типа
ВидДоступа = ВидыДоступа.Добавить();
	ВидДоступа.Имя = "Партнеры";
	ВидДоступа.Представление    = НСтр("ru = 'Партнеры'");
	ВидДоступа.ТипЗначений      = Тип("СправочникСсылка._ДемоПартнеры");

ВидДоступа = ВидыДоступа.Добавить();
	ВидДоступа.Имя = "_ДемоГруппыПартнеров";
	ВидДоступа.Представление    = НСтр("ru = 'Демо: Группы партнеров'");
	ВидДоступа.ТипЗначений      = Тип("СправочникСсылка._ДемоПартнеры");
	ВидДоступа.ТипГруппЗначений = Тип("СправочникСсылка._ДемоГруппыДоступаПартнеров");

работать не будет, и напишет ошибку, что то типа справочник _ДемоПартнеры используется в группах

Приведу пример зачем это нужно, один пользователь входит в базу - внешний клиент - ему доступно видеть только свои контрагенты от 1 до 5 шт, другой пользователь - менеджер ему доступны контрагенты у которых установлена группа контрагентов - "регион север", причем внешник может попадать в группу "регион север".

Думаю единственный способ ставить группу доступа как табличную часть и в ней настраивать две группы контрагентов списком - "регион север" и "клиент№15". Или есть какой то более продвинутый способ.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DarkUser 15.11.17 21:56 Сейчас в теме
Может стоит посмотреть в сторону RLS?
3. sergik_nsk 148 16.11.17 08:49 Сейчас в теме
(2) может стоит немного подумать, что советуем?
4. sergik_nsk 148 16.11.17 08:59 Сейчас в теме
может быть прописать в спр Контрагентов реквизит "ОбъектДоступа" назначить на него справочник ДоступПоКонтрагенту, а на этот справочник наложить ограничения по объектно, затем в ограничениях прописать связь по реквизиту. Вроде должно взлететь.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот