Имя: Пароль:
1C
 
Не попадает в вариант отчета через ссылку
0 aptomilov
 
05.03.26
09:39
Добрый день коллеги пните в нужную сторону
Есть в ерп последней версии такой отчет Исполнение плана производства
Настроил человеку права он может заходить в этот отчет формировать его и тд  

Но если этому человеку кто то скидывает ссылку то получаем ошибку прав
Ругается вот на это
ТекстЗапроса =
        "ВЫБРАТЬ РАЗРЕШЕННЫЕ
        |    ВариантыОтчетов.Отчет,
        |    ВариантыОтчетов.ТипОтчета,
        |    ВариантыОтчетов.КлючВарианта,
        |    ВариантыОтчетов.ПредопределенныйВариант.КлючЗамеров КАК КлючЗамеров
        |ИЗ
        |    Справочник.ВариантыОтчетов КАК ВариантыОтчетов
        |ГДЕ
        |    ВариантыОтчетов.Ссылка = &Ссылка";
        
        Запрос = Новый Запрос;
        Запрос.УстановитьПараметр("Ссылка", ВариантСсылка);
        Запрос.Текст = ТекстЗапроса;
        
        Выборка = Запрос.Выполнить().Выбрать();
        Если Не Выборка.Следующий() Тогда
            УстановитьПривилегированныйРежим(Истина);
            Выборка = Запрос.Выполнить().Выбрать();
            УстановитьПривилегированныйРежим(Ложь);
            Если Выборка.Следующий() Тогда
                ВызватьИсключение(НСтр("ru = 'Недостаточно прав для просмотра.';
                                        |en = 'Insufficient rights to view the report.'"), КатегорияОшибки.НарушениеПравДоступа);
            Иначе
                ВызватьИсключение НСтр("ru = 'Вариант отчета не существует.';
                                        |en = 'The report option does not exist.'");
            КонецЕсли;
        КонецЕсли;


Я грешным делом подумал что нет прав на варианты отчетов, но нет захожу брожу открываю любой вариант в справочнике Варианты отчетов.
1 ass1c
 
05.03.26
09:55
(0) Все просто. Когда открываешь отчет и строишь его, потом выбираешь другие варианты и строишь их, то функция эта не вызывается.
А вот когда переходишь по ссылке на вариант отчета, то идет вызов этой функции. Это легко проверяется отладчиком.

"Я грешным делом подумал что нет прав на варианты отчетов" - судя по всему так и есть.
2 aptomilov
 
05.03.26
09:58
Да дал прав на чтение изменение личных вариантов отчетов и все завелось
всем спасибо
3 ass1c
 
05.03.26
10:00
(2) +. Там просто у вариантов отчетов есть RLS ка:

#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
ВариантыОтчетов ГДЕ (ВариантыОтчетов.Пользовательский = ЛОЖЬ
            ИЛИ ВариантыОтчетов.ТолькоДляАвтора = ЛОЖЬ
            ИЛИ ВариантыОтчетов.Автор = &АвторизованныйПользователь)
#КонецЕсли
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший