вопрос про ограничения по полям записи

Новая тема
Здравствуйте!
Недавно начал изучать RLS. )
Если ограничить доступ на чтение поля записей объекта (ограничение вида "ГДЕ ЛОЖЬ"), при запросе к этому объекту вообще не выводятся записи. Пожалуйста, подскажите, как же сделать так, чтобы выводились только поля, у которых нет ограничения на чтение? Это возможно сделать только с помощью данного механизма, не трогая запрос?
Заранее спасибо за помощь!
Вопрос не ясен.
Вот пример (как я себе это представляю): В RLS задаем 3 уровня доступа (разные поля): 1) на основные вещи (ссылка, пометка удаления, ...), 2) на поля, которые хотим видеть, но так чтобы нельзя было редактировать, 3) на все остальные поля.
Итак, если человек принадлежит к 3-ей категории, то он может открыть форму элемента, т.к. может прочитать все. Если человек из второй категории, и в списке только поля из 1) и 2), то он сможет видеть список, но  ***  откроет элемент - прав не хватит. А если человек из категории 1), тогда он сможет спокойно выполнять запросы, где может встериться ссылка на такие элементы, но список ему будет закрыт (исключение в случае, если список только из полей Код и Наименование (для справочника)). Ну а если человек вообще "за бортом" - даже запрос не выполниться.
Это если все делаете сами. Если же вам интересно, как не исправляя уже текущего запроса, используя уже написанный механизм в конфигурации, увидеть элемент, то тут вопросов еще больше возникает: какая конфигурация, какой релиз, какой объект хотите увидеть?
Спасибо большое за ответ!
Уточняю вопрос:
Исходные данные:
конфигурация УПП 1.2.23.2, справочник "Банки" , роль "Пользователь" (пользователю ИБ назначена только роль "Пользователь").

Для роли "Пользователь" в свойствах объекта я добавил ограничение на чтение "ГДЕ ЛОЖЬ" по полю "КоррСчет".
В режиме "Предприятие"  с помощью консоли запросов выполняю простой запрос вывода списка записей:

"ВЫБРАТЬ РАЗРЕШЕННЫЕ
Банки.Код,
Банки.Наименование,
Банки.КоррСчет
ИЗ
Справочник.Банки КАК Банки"

Выводится пустой список.

Если убрать из запроса строку

" Банки.КоррСчет"

выводятся все записи.

Получается, что ограничение накладывается на записи, а не на поля?

Вопрос: как выводить записи без данных поля "КоррСчет" (Этого можно добиться только средствами RLS?)
RLS - ограничивает доступ, а вы хотите получить "не все". Оно так не умеет.
Исправляйте запрос, иначе никак.
to BelikovS:

Спасибо, так и сделаю! Кажется понял. Получается, что если в запросе встречается поле, доступ к которому запрещён, то ограничивается доступ ко всей записи...
Пожалуйста, посоветуйте, как тогда решать задачи вывода только нужных полей в отчётах? Например, пользователям с одной ролью нужны все поля в отчёте, с другими ролями - только часть?
Через параметры сеанса и дополнительный регистр сведений? Добавить проверку пользователей и условия отбора в запрос?
Интересная задача. В "своем" отчете это еще решается, а в стандартных - думаю не получиться.
Впринципе, если поставить RLS и правильно формировать запрос (только по полям, которые показываются), тогда получиться, что те, у кого есть права - будет видеть, а у кого нет - получат пустой, если попытаются увидеть (добавят для показа) запрещенную колонку.
Другой вариант (опять-таки в своем отчете) - при формировании запроса, "затирать" поля (типа: " Как КоррСчет), если прав не достаточно.
У нас пока такой задачи не возникало, так что идеи "сырые".
Спасибо за идеи! ) Буду сегодня пробовать... Отпишусь )
Читают тему
(гостей: 1)

Быстрый переход