|
Нарушение прав в привилегированном режиме | ☑ | ||
---|---|---|---|---|
0
cmex
25.03.14
✎
11:28
|
Доброго времени суток.
Вот кусок кода: #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда УстановитьПривилегированныйРежим(Истина); Возврат ?(ЗначениеЗаполнено(ПараметрыСеанса.ТекущийПользователь), ПараметрыСеанса.ТекущийПользователь, ПараметрыСеанса.ТекущийВнешнийПользователь); #Иначе Возврат СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиентаПриЗапуске().АвторизованныйПользователь; #КонецЕсли Захожу через отладчик под пользователем. Открываю внешнюю печатную форму. В данный кусок кода падает несколько раз и все проходит нормально, а перед открытием выдает "Нарушение прав доступа". Как такое возможно если стоит УстановитьПривилегированныйРежим(Истина)? |
|||
1
ДенисЧ
25.03.14
✎
11:40
|
"В клиент-серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий.
" (с) |
|||
2
cmex
25.03.14
✎
11:49
|
(1) точка останова срабатывает на сервере и позиционируется на УстановитьПривилегированныйРежим(Истина)
|
|||
3
shuhard
25.03.14
✎
12:21
|
(0)[а перед открытием выдает "Нарушение прав доступа".]
ну и при чем здесь общий модуль ? |
|||
4
cmex
25.03.14
✎
12:24
|
(3) имеется в виду не непосредственно перед открытием, а очередной вызов данной функции
|
|||
5
cmex
25.03.14
✎
12:25
|
(3) грубо говоря 10 раз вызывается, 9 норм, 10 не робит
|
|||
6
cw014
25.03.14
✎
12:32
|
Если в процедуре или функции вызовов метода с параметром Ложь сделано больше, чем вызовов с параметром Истина, то будет вызвано исключение.
Может это поможет? |
|||
7
Зойч
25.03.14
✎
12:33
|
УстановитьПривилегированныйРежим(Истина) перед открытием не означает, что все что форма потянет неявно будет в привилегированном режиме, только тот код что далее следует
|
|||
8
cmex
25.03.14
✎
12:39
|
(6) кусок кода в начале это вся функция. никаких других вызовов метод этого нет.
|
|||
9
Maxus43
25.03.14
✎
12:40
|
общие модуля надо использовать с привелигированным режимом, в клиент-серверном варинате остальное - просто не красиво и не по понятиями
|
|||
10
cmex
25.03.14
✎
12:43
|
(9) типовая БП 3,0,30,16
|
|||
11
cw014
25.03.14
✎
12:43
|
Значит скорее всего срабатывает "Или ТолстыйКлиентОбычноеПриложение"
|
|||
12
Maxus43
25.03.14
✎
12:44
|
(10) ну передай в 1с, они быдлокодеры
|
|||
13
VikingKosmo
25.03.14
✎
12:45
|
(12) а то они в 1С не в курсе :)
|
|||
14
cmex
25.03.14
✎
12:47
|
может все таки я чего не допонимаю? сейчас через стек вызова гляну от куда чего и напишу
|
|||
15
Maxus43
25.03.14
✎
12:53
|
(14) читай (1) до просветления. Если отладчик встанет на эту строку - это не значит что что-то произойдёт
|
|||
16
cmex
25.03.14
✎
13:00
|
||||
17
cmex
25.03.14
✎
13:01
|
при нажатии F10 вылетает ошибка
|
|||
18
Maxus43
25.03.14
✎
13:14
|
(17) что от нас то хочешь? я чото не пойму...
|
|||
19
cw014
25.03.14
✎
13:15
|
(17) Говорит - "нарушение прав доступа". А журнал регистрации что говорит? Доступа к чему?
|
|||
20
cmex
25.03.14
✎
13:24
|
||||
21
cmex
25.03.14
✎
13:24
|
(18) как победить это?
|
|||
22
Maxus43
25.03.14
✎
13:26
|
попробуй дать права на справочник Пользователи.
А тип у ПараметрыСеанса.ТекущийВнешнийПользователь какой? |
|||
23
cmex
25.03.14
✎
13:30
|
(22) есть права на справочники "Пользователи" и "ВнешниеПользователи", нет прав на ПараметрыСеанса, но ведь УстановитьПривилегированныйРежим(Истина) должны по идее всем все разрешить
|
|||
24
cmex
25.03.14
✎
13:31
|
а есть возможность после исполнения кода УстановитьПривилегированныйРежим(Истина) проверить - включен ли привилегированный режим или нет для следующей строчки кода?
|
|||
25
Maxus43
25.03.14
✎
13:31
|
(23) читай до просветления (1), сколько раз повторять? Контекст выполнения не тот, в итоге пшик вместо прав. На параметры сеанса давай права тоже, либо переписывай их получение
|
|||
26
cmex
25.03.14
✎
13:33
|
(25) то есть #Если Сервер Тогда не работает?
|
|||
27
cmex
25.03.14
✎
13:35
|
в общем не отработала "УстановитьПривилегированныйРежим(Истина)" ПривилегированныйРежим() = ложь пишет
|
|||
28
Maxus43
25.03.14
✎
13:37
|
хм... странно, обратил внимание таки на скрин с контекстом вызова, в СП про это нет. На файловом варианте должно работать кстати.
Ну таки склоняюсь к (9) всё равно, это быдлокод |
|||
29
cmex
25.03.14
✎
13:45
|
решено
|
|||
30
Maxus43
25.03.14
✎
13:47
|
(29) что?
|
|||
31
cmex
25.03.14
✎
13:50
|
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина) - в безопасном режиме не работает УстановитьПривилегированныйРежим()
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |