Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

СКД и права доступа

СКД и права доступа
Я
   LisaAlisa
 
07.09.16 - 12:30
Есть запрос на СКД к договорам контрагентов, никакие другие таблицы не испльзуются. Права пользователей разграничены по Организациям.
Нужно, чтобы любой пользователь мог выполнить отчет и при этом в отчете видел даже те договоры, доступ к которым ему закрыт (т.к. отчет выявляет ошибки). Что можно предпринять?
   rozer76
 
1 - 07.09.16 - 12:32
если rls  - под теми же пользователями не получиться
   Метранпаж
 
2 - 07.09.16 - 12:34
Вынести формирование отчёта в привелигерованный модуль
   LisaAlisa
 
3 - 07.09.16 - 12:36
(2) как это сделать, если это СКД?
   Метранпаж
 
4 - 07.09.16 - 12:40
(3) СКД - это не устав воинской службы. Его можно применять и программно
   LisaAlisa
 
5 - 07.09.16 - 12:53
УстановитьПривилегированныйРежим(Истина) в процедуре ПриКомпоновкеРезультата() не помогло
   aleks_default
 
6 - 07.09.16 - 12:56
Пользователь, который выявляет ошибки - это аудитор. У него должны быть права на все организации. Иначе как выполнять аудит?
   LisaAlisa
 
7 - 07.09.16 - 12:58
(6) это понятно, но приходится действовать в рамках поставленой задачи
   Метранпаж
 
8 - 07.09.16 - 12:58
(5) А я сказал про модуль отчёта? Или я маленько по-другому выразился?
   Fragster
 
9 - 07.09.16 - 12:59
(5) дополнительно надо сделать "стандартная обработка = ложь" и программное формирование и вывод отчета
   LisaAlisa
 
10 - 07.09.16 - 13:00
(8) наверно имеешь в виду модуль конфигцрации? но этот вариант не подходит
   Метранпаж
 
11 - 07.09.16 - 13:00
(10) Могу подарить 2 листа писчей бумаги формата А4.
И комплиментом - шариковую ручку.
   LisaAlisa
 
12 - 07.09.16 - 13:01
(9) кратенько
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    
    ///УстановитьПривилегированныйРежим(Истина);

    
    ПараметрыСеанса.ИспользоватьОграниченияПравДоступаНаУровнеЗаписей=Ложь;
    
    ВнешниеНаборыДанных = Новый Структура;
    Запрос = Новый Запрос;

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

    
    ПараметрыСеанса.ИспользоватьОграниченияПравДоступаНаУровнеЗаписей=Истина;

КонецПроцедуры
   LisaAlisa
 
13 - 07.09.16 - 13:03
в оригинале УстановитьПривилегированныйРежим(Истина) не закомментировано
   Fragster
 
14 - 07.09.16 - 13:08
либо у вас выводится "объект не найден" потому что вы не получаете представления (и, соответственно, не настроили выражения представления у полей набора данных), либо вы врёте, что не работает.
   LisaAlisa
 
15 - 07.09.16 - 13:11
(14) если использовать полностью код из (12), то Да, выводит Объект не найден. Но в (13) я написала, что в оригинале вместо ПараметрыСеанса.ИспользоватьОграниченияПравДоступаНаУровнеЗаписей=Ложь; я использую УстановитьПривилегированныйРежим(Истина)
Под полными правами, естественно, ОК. Под огранченными "нарушение прав доступа"

Список тем форума
 
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.