|
Как поведет себя РЛС в строке кода с выборкой? | ☑ | ||
---|---|---|---|---|
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) ничего страшного. Вы в любом случае натолкнули меня на правильный путь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |