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