RLS и расширение

1. Desnyanka 30.09.23 21:34 Сейчас в теме
Здравствуйте! Добавила в расширение свой документ, потом сделала всё по пунктам в этом же расширении:
1. Добавила документ в определяемые типы ВладелецЗначенийКлючейДоступа и ВладелецЗначенийКлючейДоступаДокумент. Режим совместимости в последней бухгалтерии позволяет это сделать.

2. Создала роль, где сделала ограничение на чтение, добавление, изменение (всё как влюбом стандартном документе по организации)
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
...
#КонецЕсли


шаблон ограничений скопировала из стандартного документа

3. В общий модуль УправлениеДоступомПереопределяемый в процедуру ПриЗаполненииСписковСОграничениемДоступа перед вставила текст:
Списки.Вставить(Метаданные.Документы.МойДокумент, Истина);

4. Добавила в общем модуле УправлениеДоступомБП &После("ЗаполнитьВидыОграниченийПравОбъектовМетаданных")

Описание = Описание + "
	|Документ.МойДокумент.Чтение.Организации
	|Документ.МойДокумент.Изменение.Организации
	|";


5. На форме документа в обработчики ПриЧтенииНаСервере и ПослеЗаписиНаСервере добавила код:
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
// СтандартныеПодсистемы.УправлениеДоступом
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
// СтандартныеПодсистемы.УправлениеДоступом
УправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
// Конец СтандартныеПодсистемы.УправлениеДоступом
КонецПроцедуры
Показать


6. В модуле менеджера документа:
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт

Ограничение.Текст =
	"РазрешитьЧтениеИзменение
	|ГДЕ
	|	ЗначениеРазрешено(Организация)";

КонецПроцедуры


7. В предприятии профиль создала, назначила пользователю

8. Запустила с параметром: /c ЗапуститьОбновлениеИнформационнойБазы

9. Обновление доступа на уровне записей сделала

Но. Не работает :(. Открывает у пользователя пустой список этих моих документов. При добавлении ругается на то что нет прав на чтение, но создает, если посмотреть у пользователя Администратор.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 35 01.10.23 00:16 Сейчас в теме
(1)Проверку внедрения БСП запускали?
У ролей из расширения установлены флаги:
- Устанавливать права для реквизитов и табличных частей по умолчанию
- на стандартные реквизиты вашего документа
Прикрепленные файлы:
3. Desnyanka 01.10.23 01:04 Сейчас в теме
(2) галочки стоят. Отчетом сейчас попробую воспользоваться, спасибо.
4. Desnyanka 01.10.23 16:35 Сейчас в теме
Вообщем, оказывается, еще надо подписки на события делать с проверкой доступа. И тогда всё заработает
5. akepchikov 06.05.24 22:01 Сейчас в теме
(4) А с какими конкретно подписками на события были проблемы? С типовыми?
У меня просто такая же проблема, не могу разобраться
Оставьте свое сообщение

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