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

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

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


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

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

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

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


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


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

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

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


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

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

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

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

Программист 1С
Киров (Кировская обл.)
зарплата от 100 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 150 000 руб.
Полный день

Архитектор 1С
Москва
зарплата от 250 000 руб.
Полный день

1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день