Имя: Пароль:
1C
1С v8
Добавить свой объект к подсистеме управления доступом (производительный)
0 G-P
 
12.08.21
10:34
Пытаюсь подключить новый справочник "МойСправочник" к подсистеме управления доступом с ограничением доступа по пользователям (реквизит "Автор"). БСП 3.1.3.561. Результат отрицательный, при записи нового объекта ошибка доступа. Уже созданные объекты (под полными правами) и удовлетворяющие условию тоже не видны. Подскажите пожалуйста, что делаю не так, а то у меня закончились варианты.

Что делаю:

1) В определяемый тип "ВладелецЗначенийКлючейДоступа" добавил свой справочник
2) В определяемый тип "ВладелецЗначенийКлючейДоступаОбъект" добавил свой справочник
3) В общем модуле УправлениеДоступомПереопределяемый.ПриЗаполненииСписковСОграничениемДоступа добавил свой справочник

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

4) В модуле менеджера своего справочника добавил процедуру

Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Автор)"
КонецПроцедуры

5) Создал роль. Скопировал шаблон РЛС "ДляОбъекта(ПолеОбъекта)" из роли "ИзменениеУчастниковГруппДоступа". На "Чтение", "Изменение" и "Добавление" для "ПрочиеПоля" добавил РЛС "#ДляОбъекта("")"

6) Обновил идентификаторы объектов метаданных и вспомогательные данные по подсистеме Управления доступом

7) Создал профиль и группу доступа со своей ролью и ограничением по пользователям "Все запрещены". Добавил в группу доступа пользователя для тестов
1 Жан Пердежон
 
12.08.21
10:44
> при записи нового объекта ошибка доступа
> со своей ролью и ограничением по пользователям "Все запрещены"

Ну всё правильно работает же
2 G-P
 
12.08.21
11:00
Для вида доступа "Пользователь" текущий пользователь доступен всегда.
3 G-P
 
12.08.21
11:04
Но да, на это я тоже грешил, пробовал добавить разрешение пользователю, под которым тестирую. Ожидаемо не помогло (
4 G-P
 
16.08.21
10:24
Удалось найти причину. До текущего момента использовался обычный, не производительный вариант работы. Его я включил пока только на тесте. А, видимо, из-за того, что в тестовой базе регламентные задания отключены, то и Первое обновление доступа не сработало, константа "ПервоеОбновлениеДоступаЗавершилось" была установлена в Ложь. Поэтому и РЛС не срабатывали, а для стандартного варианта работы я их не делал.
В итоге на форме "Настройки пользователей и прав" перешел по гиперссылке "Обновление доступа на уровне записей" и вручную запустил обновление доступа. После завершения фонового задания все заработало.
5 rozer76
 
16.08.21
19:28
Познавательно
2 + 2 = 3.9999999999999999999999999999999...