Ошибка прав доступа в печати по шаблону УНФ

В УНФ есть подсистема печати офисных документов по шаблону. Ко мне обратился клиент, у которого один из менеджеров не мог распечатать коммерческое предложение из заказа покупателя.

У пользователя недостаточно прав на исполнение операции над базой данных.
{Документ.ЗаказПокупателя.МодульМенеджера(10598)}: Результат = Запрос.Выполнить().Выгрузить();
{Документ.ЗаказПокупателя.МодульМенеджера(9893)}: ЗаполнитьЗначенияПараметровКонтрагента(КонтрагентЗаказа, ОписаниеПараметров);
{Перечисление.НазначенияШаблоновПечатиОфисныхДокументов.МодульМенеджера(13)}:

Код ошибки был такой

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

Стесняюсь спросить, а где ключевое слово РАЗРЕШЕННЫЕ в ВЫБРАТЬ? Да уж, и это типовой код!

Теперь нужно поломать голову, как поменять этот запрос.

Решил таким образом, несколько ассиметрично и, на мой взгляд, красиво:

&Вместо(«ЗаполнитьЗначенияПараметровКонтрагента»)
Процедура дор_ЗаполнитьЗначенияПараметровКонтрагента(Контрагент, ОписаниеПараметров)
   
//Осипов 2021-04-15
    //Устанавливаем привелигированный режим на время вызова функции
   
Если НЕ ПривилегированныйРежим() Тогда
       
УстановитьПривилегированныйРежим(Истина);
    КонецЕсли;
   
ПродолжитьВызов(Контрагент, ОписаниеПараметров);
КонецПроцедуры

Запускаю под пользователем с помощью рабочего стола администратора:

Проверяю, КП печатается. ЧИТД.

Время факт: 20 минут.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментария 2

  1. Zuko:

    С другой стороны, если пользователь видит заказ, то у него есть права на указанные данные

Добавить комментарий для fixin Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *