Вход | Регистрация
 

РегистрСведений.ИмяРегистра.Выбрать() права доступа

РегистрСведений.ИмяРегистра.Выбрать() права доступа
Я
   Momus
 
04.10.20 - 20:25
Если у пользователя нет прав на регистр, что тогда вернет РегистрСведений.ИмяРегистра.Выбрать(): пустую выборку или исключение?
   palsergeich
 
1 - 04.10.20 - 20:31
(0) Скорее всего исключение.
   ДенисЧ
 
2 - 04.10.20 - 20:39
Исключение
Пустую даст запрос с РАЗРЕШЕННЫЕ
   Momus
 
3 - 04.10.20 - 20:44
Так и думал. Спасибо за помощь
   RomanYS
 
4 - 04.10.20 - 21:02
(2) >> Пустую даст запрос с РАЗРЕШЕННЫЕ
Это только при RLS. Если прав нет совсем, будет исключение
   Momus
 
5 - 05.10.20 - 07:58
(4) Точно? Не знал...
   RomanYS
 
6 - 05.10.20 - 11:00
(5) Точно. Чтобы не было ошибки с "разрешенные" должно быть доступно чтение хотя бы  даже с условием "где Ложь" на все поля.
   Momus
 
7 - 05.10.20 - 11:05
(6) Как в таком случае избежать исключений при обращении к данным? Перед самим запросом проверять есть ли у текущего пользователя право на чтения текущего регистра и лишь после этого выполнять запрос? Не обертывать же в попытку это дело.
   RomanYS
 
8 - 05.10.20 - 11:11
(7) Сам же ответил. Если исключения и попытки недопустимы, то остается предварительная проверка прав или привилегированный доступ
   alkorolev
 
9 - 05.10.20 - 11:19
(7) ВыборкаБудетБезОшибок = ПравоДоступа("Чтение", Метаданные.РегистрыСведений.ТвойРегистр)
   Momus
 
10 - 05.10.20 - 11:41
(8) думал мб что-то не знаю. Почему-то думал, что "разрешенные" не только на rls распространяется.
   RomanYS
 
11 - 05.10.20 - 11:42
(10) Проверить - дело 5 минут
   Momus
 
12 - 05.10.20 - 11:46
(11) ну да, надо было так

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.