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

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

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

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

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

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

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

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