Ошибка при вызове метода контекста (ПолучитьПользователей) #682690


#0 by Mikhail Volkov
Ошибка при вызове метода контекста (ПолучитьПользователей)     Для Каждого ПользовательИБ Из ПользователиИнформационнойБазы.ПолучитьПользователей Цикл по причине: Пользователю недостаточно прав для выполнения операции. Пользователь без полных прав принимает Заказ покупателя. Чтобы в качестве менеджера он выбирал ни кого попало, а только с ролью Менеджер, вставил проверку роли. А тут такая ошибка!? Как ее обойти?
#1 by Живой Ископаемый
Выставить привелигерованный режим. Не спрашивай что это такое, просто найди и сделай
#2 by Mikhail Volkov
Этот привелигерованный режим на других пользователей не повлияет? Его только на короткое время можно влючать, для получения списка пользователей?
#3 by mehfk
Глобальный контекст.УстановитьПривилегированныйРежим (Global context.SetPrivilegedMode) Глобальный контекст (Global context) УстановитьПривилегированныйРежим (SetPrivilegedMode) Синтаксис: УстановитьПривилегированныйРежим(<Включить>) Параметры: Тип: Булево. Определяет, будет ли включен привилегированный режим: Ложь - выключить режим. Описание: В файловом варианте информационной базы или на сервере в клиент-серверном варианте информационной базы управляет (включает или выключает) привилегированный режим исполнения кода, аналогичный режиму работы кода привилегированных модулей. В привилегированном режиме никакие проверки прав не выполняются и разрешены любые операции. В клиент-серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий. Первое выполнение метода с параметром Истина в файловом варианте информационной базы или на сервере в клиент-серверном варианте информационной базы включает привилегированный режим. Для явного выключения привилегированного режима необходимо внутри процедуры или функции, в которой он был включен, вызвать метод с параметром Ложь столько же раз, сколько раз в этой же процедуре или функции был вызван метод с параметром Истина. Если этого сделано не было, то при возврате из процедуры/ функции, в которой был включен привилегированный режим, он будет выключен автоматически (неявно). Если в процедуре или функции вызовов метода с параметром Ложь сделано больше, чем вызовов с параметром Истина, то будет вызвано исключение. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: По умолчанию привилегированный режим выключен. См. также: Глобальный контекст, метод ПривилегированныйРежим
#4 by Живой Ископаемый
2 этого я и боялся... вместо того чтобы тупо открыть букварь на нужной странице, или просто сделать и узнать как именно оно будет - куча вопросов.
#5 by Mikhail Volkov
Примечание: В режиме "Клиент" показывает, установлен ли привилегированный режим. В клиент-серверном - всегда Ложь. Не катит, та же ошибка:
#6 by Defender aka LINN
Прочитай втору строку своего поста
#7 by Mikhail Volkov
Функция СписокПользователейРольМенеджер(Подразделение = Неопределено) Экспорт - перенес в общий модуль для исполнения на сервере. Там УстановитьПривилегированныйРежим(Истина) работает! Но не может вернуть на клиент СписокЗначений пишет ошибку: Попытка передачи мутабельного значения результата метода СписокПользователейРольМенеджер .
#8 by Mikhail Volkov
Пришлось СписокЗначений на Массив заменить. А что &НаСервере и &НаКлиенте не рулят в обычном приложении? Чтобы не делать отдельный  общий модуль для исполнения на сервере?
#9 by George Wheels
...
#10 by George Wheels
к
#11 by Mikhail Volkov
Я не об этом, обе функции были в общем модуле с галками "Сервер", "Клиент" и "Вызов с сервера". Функции СписокПользователейРольМенеджер указал &НаСервере, тогда ее перестала видеть Функция ПользовательРольМенеджер!? Поэтому пришлось переносить в модуль, у которого только галка "Сервер".
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

Похожие вопросы 1С

В этой группе 1С