Имя: Пароль:
1C
 
Не включается привилегированный режим в расширении. УстановитьПривилегированныйРежим()
0 SerGa
 
26.07.22
16:44
В расширении есть серверный модуль.
в начале одной из его процедур вызываю

УстановитьПривилегированныйРежим(Истина)

После чего проверяю сразу
ПривилегированныйРежим()
А она возвращает Ложь;

В расширении отключен безопасный режим и защита от опасных действий.

Как быть?   Как в расширении вызвать функцию в привелегированном режиме?
1 vicof
 
26.07.22
16:48
"В клиентском коде клиент-серверной информационной базы всегда возвращает Ложь."
Чувствую, директив компиляции не хватает.
2 vicof
 
26.07.22
16:50
Или режим совместимости какой-нибудь стоит
3 vicof
 
26.07.22
16:51
Модули
Общая информация
Одной из самых мощных возможностей механизма расширений является возможность доработки практически любых модулей расширяемой конфигурации. Исключение составляют глобальные серверные модули. Также следует помнить, что расширение привилегированного общего модуля будет выполняться в непривилегированном режиме (если иное не разрешено профилем безопасности).

Кроме того, вы можете добавлять в расширение собственные общие модули, но они не могут быть привилегированными и глобальными серверными.
https://its.1c.ru/db/pubextensions/content/48/hdoc
4 SerGa
 
26.07.22
16:54
(1) функция сидит именно в серверном модуле.  я отладчиком ставлю точку останова в серверном модуле. и сразу как выполняю строку УстановитьПривилегированныйРежим(Истина) еще находясь на сервере проверяю  ПривилегированныйРежим()
5 SerGa
 
26.07.22
16:55
(3) да всё верно - мой модуль не глабальный и не привелегированный  там стоит галка только Сервер
6 SerGa
 
26.07.22
16:56
(3) "Также следует помнить, что расширение привилегированного общего модуля будет выполняться в непривилегированном режиме"
и у меня это не вынесеный в расширение привелегированный модуль  и созданный в расширении обычный общий серверный модуль
7 vde69
 
26.07.22
16:58
(5) УстановитьПривилегированныйРежим - это опасное действие, если его вызов происходит во внешнем модуле (или в расширении) то этот режим игнарируется если нет явного разрешения испоьзования опасных действий
8 SerGa
 
26.07.22
17:01
(5) а как дать явное разрешеие опасных действий?
9 SerGa
 
26.07.22
17:02
БезопасныйРежим() - показывает Ложь, т.к. В расширении отключен безопасный режим и защита от опасных действий.
10 PLUT
 
26.07.22
17:10
(0) в толстом клиенте не работает и на обычных формах

т.е. УстановитьПривилегированныйРежим(Истина) выполняется и ничего не делает :)

разве что такой код переносить в привелигированный модуль
11 СеменовСемен
 
26.07.22
17:13
(10) в серверном модуле должно работать
12 SerGa
 
26.07.22
17:18
(10)  ЗУП 3.1.  из тонкого клиента вызывается серверный модуль в функции которого пытаюсь включить привелегированный режим
13 vicof
 
26.07.22
17:24
14 SerGa
 
26.07.22
17:28
(13)  а не подскажете где в этой ветке про установку привилегированного режима говориться...  что-то не нахожу..
15 SerGa
 
26.07.22
17:29
(13) там пишуто что типа надо привилегированный режим включить... но как это сделать не пишут  (у меня вот он не включается почемуто)
16 СеменовСемен
 
26.07.22
17:37
релиз платформы какой? и режим совместимости
17 SerGa
 
26.07.22
17:44
(16) 8.3.18.1563
Режим совместимости типовой ЗУПовский Версия 8.3.17
18 SerGa
 
26.07.22
17:57
Быть может профили безопасности должны быть явно установлены?   или у пользователя роль какая-нибудь должна чтоять специфическая, чтобы он мог включить этот режим?
19 SerGa
 
26.07.22
18:00
хм... под админской ролью привилегированный режим устанавливается, а под ролью с ограниченными правами без админских прав не устанавливается....  странно
20 vicof
 
26.07.22
18:03
(19) Потому что я как пользователь могу залить это расширение и поудалять всю базу своим кодом. Так что не странно.
21 SerGa
 
26.07.22
18:14
(20) вполне возможно, однако было бы наверно со стороны 1С правильно где-то внятно описать особенности работы с привилегированным режимом в расширении - как включить, под какими правами это работает и когда возможно использование, чтобы мы не гадали...
22 alexxx961503
 
26.07.22
18:23
(21) а если у пользователя отключить "Защиту от опасных действий"? Устанавливается привилегированный режим?
23 SerGa
 
26.07.22
18:38
хм.. странно Привилегированный режим не устанавливается но Безопасный режим почемуто Истина, хотя в конфигураторе безопасный режим снят
24 SerGa
 
26.07.22
18:38
(+23) флажек Защиты от опасных действий у пользователя снял, но БезопасныйРежим - Истина  возвращает
25 SerGa
 
26.07.22
18:50
разобрался. т.к. код вызывался из внешней обработки, то автоматом ставился безопасный режим.
в общем модуле прописал

УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);

и все заработало. привилегированный режим включился.

всем спасибо!
26 dmpl
 
26.07.22
20:28
(26) Так может просто в описании внешней обработки стоит безопасный режим?
27 SerGa
 
27.07.22
15:58
(26) нет не стоит, в документации нашел, что все внешние обработки автоматически в безопасном режиме запускаются
28 СеменовСемен
 
27.07.22
16:35
(27) можно и в опасном запустить.
29 dmpl
 
27.07.22
19:25
(27) Если внешняя обработка запускается через БСП, то можно изменить поведение путем изменения соответствующего флага в описании внешней обработке.