Вход | Регистрация

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 человек.
Рекламное место пустует