Здравствуйте! Добавила в расширение свой документ, потом сделала всё по пунктам в этом же расширении:
1. Добавила документ в определяемые типы ВладелецЗначенийКлючейДоступа и ВладелецЗначенийКлючейДоступаДокумент. Режим совместимости в последней бухгалтерии позволяет это сделать.
2. Создала роль, где сделала ограничение на чтение, добавление, изменение (всё как влюбом стандартном документе по организации)
шаблон ограничений скопировала из стандартного документа
3. В общий модуль УправлениеДоступомПереопределяемый в процедуру ПриЗаполненииСписковСОграничениемДоступа перед вставила текст:
4. Добавила в общем модуле УправлениеДоступомБП &После("ЗаполнитьВидыОграниченийПравОбъектовМетаданных")
5. На форме документа в обработчики ПриЧтенииНаСервере и ПослеЗаписиНаСервере добавила код:
6. В модуле менеджера документа:
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
7. В предприятии профиль создала, назначила пользователю
8. Запустила с параметром: /c ЗапуститьОбновлениеИнформационнойБазы
9. Обновление доступа на уровне записей сделала
Но. Не работает :(. Открывает у пользователя пустой список этих моих документов. При добавлении ругается на то что нет прав на чтение, но создает, если посмотреть у пользователя Администратор.
1. Добавила документ в определяемые типы ВладелецЗначенийКлючейДоступа и ВладелецЗначенийКлючейДоступаДокумент. Режим совместимости в последней бухгалтерии позволяет это сделать.
2. Создала роль, где сделала ограничение на чтение, добавление, изменение (всё как влюбом стандартном документе по организации)
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
...
#КонецЕсли
шаблон ограничений скопировала из стандартного документа
3. В общий модуль УправлениеДоступомПереопределяемый в процедуру ПриЗаполненииСписковСОграничениемДоступа перед вставила текст:
Списки.Вставить(Метаданные.Документы.МойДокумент, Истина);
4. Добавила в общем модуле УправлениеДоступомБП &После("ЗаполнитьВидыОграниченийПравОбъектовМетаданных")
Описание = Описание + "
|Документ.МойДокумент.Чтение.Организации
|Документ.МойДокумент.Изменение.Организации
|";
5. На форме документа в обработчики ПриЧтенииНаСервере и ПослеЗаписиНаСервере добавила код:
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
// СтандартныеПодсистемы.УправлениеДоступом
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
// СтандартныеПодсистемы.УправлениеДоступом
УправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
// Конец СтандартныеПодсистемы.УправлениеДоступом
КонецПроцедуры
Показать6. В модуле менеджера документа:
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)";
КонецПроцедуры
7. В предприятии профиль создала, назначила пользователю
8. Запустила с параметром: /c ЗапуститьОбновлениеИнформационнойБазы
9. Обновление доступа на уровне записей сделала
Но. Не работает :(. Открывает у пользователя пустой список этих моих документов. При добавлении ругается на то что нет прав на чтение, но создает, если посмотреть у пользователя Администратор.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот