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

Как поведет себя РЛС в строке кода с выборкой?

Как поведет себя РЛС в строке кода с выборкой?
Я
   evorle145
 
14.05.21 - 11:21
Выборка = Вычислить("РегистрыСведений.ЖурналОтчетовСтатусы.Выбрать(Новый Структура(""Ссылка"", ОтчетСсылка))");
            Если Выборка.Следующий()

У пользователя стоит ограничение РЛС по Организации.
в регистре ЖурналОтчетовСтатусы есть реквизит организация. Как поведет себя РЛС? Ведь если бы это был обычный запрос, то выдал бы ошибку (в запросе я бы написал Разрешенные) . А тут как?
 
 Партнерская программа EFSOL Oblako
   Волшебник
 
1 - 14.05.21 - 11:25
метод Выбрать тоже сформирует запрос, причём со словом РАЗРЕШЕННЫЕ
   evorle145
 
2 - 14.05.21 - 11:32
(1) благодарю.. странно. Мне выдает:
"У пользователя недостаточно прав на исполнение операции над базой данных."
Хотя права на просмотр этого регистра у пользователя стоят...
   evorle145
 
3 - 14.05.21 - 11:40
кажется понял куда копать:
Объекты встроенного языка
Для работы с данными в объектной технике во встроенном языке 1С:Предприятия предусмотрены специальные объекты. Например для справочника это: СправочникиМенеджер, СправочникМенеджер.<Имя справочника>, СправочникСсылка.<Имя справочника>, СправочникОбъект.<Имя справочника>, и другие.

Все операции над объектами встроенного языка 1С:Предприятия выполняются в режиме "ВСЕ" (без использования режима "РАЗРЕШЕННЫЕ"). Для успешного получения разрешенных объектов в соответствующих методах объектов необходимо указывать отборы, не противоречащие ограничениям. Например, если на чтение из регистра сведений "КонтактнаяИнформация" установлено ограничение вида:

Копировать в буфер обмена
ГДЕ Тип = &ТипКонтактнойИнформации"

то для успешного выполнения метода

Копировать в буфер обмена
Срез = РегистрыСведений.КонтактнаяИнформация.СрезПоследних();
необходимо установить отбор:

Копировать в буфер обмена
Отбор = Новый Структура;
Отбор.Вставить("Тип", ПараметрыСеанса.ТипКонтактнойИнформации);
Срез = РегистрыСведений.КонтактнаяИнформация.СрезПоследних(, Отбор);
Если ограничение доступа сложное и не может быть сформулировано в терминах отборов, то использование выборки (метод Выбрать()) и аналогичных оказывается невозможным. В этом случае следует использовать запросы. Проектирование разграничения доступа к данным таким образом, чтобы ограничения могли быть сформулированы в терминах отборов, позволит использовать объекты встроенного языка с максимальной гибкостью.

https://its.1c.ru/db/metod8dev/content/2316/hdoc
   evorle145
 
4 - 14.05.21 - 11:42
получается (3) противоречит (1) ? "Все операции над объектами встроенного языка 1С:Предприятия выполняются в режиме "ВСЕ""
   Волшебник
 
5 - 14.05.21 - 12:01
(4) Наверное, я ошибся.
   evorle145
 
6 - 14.05.21 - 12:04
(5) ничего страшного. Вы в любом случае натолкнули меня на правильный путь.

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