Задача: есть в системе разграничение прав на уровне записей. Но встала потребность определенным пользователям только в определенном отчете показывать всё. Отчет строится на базе системы компоновки данных.

Решение: добавляем в систему новую настройку для пользователей, в зависимости от которой отчет должен показывать всё. Как сделать чтобы отчет игнорировал RLS? Для этого его надо выполнить в прилегированном режиме.
Настройку добавить - тут, думаю, всё понятно. А как же выполнить отчет в привилегированном режиме? Как это как-то на уровне свойств сделать - я не нашел. Остается где-то установить привилегированный режим и скомпоновать отчет вручную. Для этого в модуле объекта отчета, в событии ПриКомпоновкеРезультата пишем такое:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    СтандартнаяОбработка= Ложь;

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

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки);

    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

    ПроцессорВывода.НачатьВывод();

    ЭлементРезультата = ПроцессорКомпоновки.Следующий();
    Пока ЭлементРезультата <> Неопределено Цикл
        ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
        ЭлементРезультата = ПроцессорКомпоновки.Следующий();
    КонецЦикла;
    ПроцессорВывода.ЗакончитьВывод();
    
КонецПроцедуры


Готово.