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