Доброго дня, коллеги!
Одной из подсистем БСП является подсистема “Управление доступом”. Разобраться с принципами работы стандартных шаблонов ограничений прав доступа этой подсистемы не так-то просто. Слушатель решил копнуть поглубже и задал нетривиальный вопрос, на который вы вряд ли найдете ответ в документации к БСП.
Вопрос:
В шаблоне ограничения доступа #ПоНаборамЗначений при записи проверяется табличная часть объекта “НаборыЗначенийДоступа” с отбором по ссылке. Если происходит попытка записи нового объекта, разве уже существует ссылка на данный объект? Также, если объект изменяется, по ссылке, наверное, будет доступна только его “старая” версия или проверка выполняется уже после непосредственной записи данных в базу?
Ответ тренера:
- Первым делом вызывается подписка на событие перед записью документа ЗаполнитьНаборыЗначенийДоступаТабличныхЧастейДокументов. В этот момент заполняется табличная часть документа «НаборыЗначенийДоступа».
- Далее вызывается подписка на событие при записи документа ЗаписатьНаборыЗначенийДоступа. В этот момент заполняется регистр на основании табличной части «НаборыЗначенийДоступа».
- После этого выполняется проверка прав доступа. В базе данных на этот момент содержатся “новые” данные и имеется уже ссылка. В случае отказа при проверке прав транзакция просто откатывается.
- В дополнение к сказанному: в случае права доступа «Чтение» анализируется регистр сведений, в остальных случаях – табличная часть документа.
Это пример разобранного вопроса из Мастер-группы курса
Настройка и доработка прав доступа, профилей пользователей и RLS в типовых конфигурациях УТ 11.4 (11.3), КА 2.4 (2.2) и 1C:ERP 2.4 (2.2).
Настройка и доработка прав доступа, профилей пользователей и RLS в типовых конфигурациях УТ 11.4 (11.3), КА 2.4 (2.2) и 1C:ERP 2.4 (2.2).
Описание курса и примеры видео