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

Опять и снова ПривилегированныйРежим... отсутствует

Опять и снова ПривилегированныйРежим... отсутствует
Я
   bolobol
 
06.08.19 - 15:14
День добрый!

Есть код:

УстановитьПривилегированныйРежим(Истина);
ИмяОбработки = ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(СсылкаНаЭлСправочника); // тут отчёт подключается с БезопасныйРежим = Ложь
ВнОтчёт= ВнешниеОтчеты.Создать(ИмяОбработки, Ложь, Ложь);
ВнОтчёт.СформироватьНаСервере(Результат); // внутри процедуры исчезает ПривилегированныйРежим и установка его в Истина - не имеет эффекта: ПривилегированныйРежим() возвращает Ложь

Что за дела?

Хелп!

Спасибо!
 
 
   lodger
 
1 - 06.08.19 - 15:19
а ты в каком контексте?
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
   Вафель
 
2 - 06.08.19 - 15:20
во внешней обработке нельзя никак
   bolobol
 
3 - 06.08.19 - 15:25
Пропадает и не устанавливается привилегированный режим при вычислении выражения на закладке СКД Вычисляемые поля. Модуль - серверный
   lodger
 
4 - 06.08.19 - 15:31
(3) в свойствах скд при создании можно разрешить модули

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

Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>)
   bolobol
 
5 - 06.08.19 - 16:07
(4) Это именно так и доступно. Странно, а иначе бы вызов функции не происходил бы? А как же автоматически работающие отчёты функции вызывают тогда, те что без строчки кода?
   Вафель
 
6 - 06.08.19 - 16:24
(5) нет таких
   fisher
 
7 - 06.08.19 - 17:00
Не совсем понял, как тут пересекаются привилегированный режим и безопасный.
   fisher
 
8 - 06.08.19 - 17:02
Но как уже сказали, установить привилегированный режим из внешней обработки невозможно - это была бы дырища в безопасности.
   fisher
 
9 - 06.08.19 - 17:07
(3) А как он должен устанавливаться? Если в выражении вызывается процедура серверного общего модуля, в которой устанавливается привилегированный режим, то по-идее все должно работать.
   Вафель
 
10 - 06.08.19 - 17:08
(7) безопасный режим не дает включать приелигерованный даже в модулях конфигурации
   bolobol
 
11 - 06.08.19 - 17:09
Похоже, что с вызываемыми функциями из СКД это не работает, но где б это было написано, чтоб уж точно смириться с этой безысходной мыслью?
   Вафель
 
12 - 06.08.19 - 17:10
ты где устанавливаешь прив режим? в модулях конфы или в отчете?
   bolobol
 
13 - 06.08.19 - 17:19
В отчёте - невозможно, там только функции доступны, а Установить... - процедура
   fisher
 
14 - 06.08.19 - 17:21
(10) То есть, если обработка запущена в безопасном режиме, то я не смогу вызвать функцию общего модуля, которая использует привилегированный режим? Буду знать.
   Вафель
 
15 - 06.08.19 - 18:41
(14) вызвать можешь, но без прив режима
   fisher
 
16 - 07.08.19 - 09:14
(15) Жесть. Я бы предпочел, чтобы падало по эксепшну. Обычно установка прив режима в подобных ситуациях - часть бизнес-логики.
   Cyberhawk
 
17 - 07.08.19 - 09:24
(16) Вот такие пироги

Список тем форума
Рекламное место пустует  Рекламное место пустует
Ошибка? Это не ошибка, это системная функция.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.