Не работает привелигированный режим
☑
0
gerthog
10.02.15
✎
09:49
Есть процедура, она завершает чужие поручения в документообороте:
&НаСервере
Процедура ЗакрытьПоручениеНаСервере(Ссылка)
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Поручение.Ссылка,
| Поручение.Номер
|ИЗ
| БизнесПроцесс.Поручение КАК Поручение
|ГДЕ
| Поручение.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ВыборкаДетальныеЗаписи.Следующий();
БП = БизнесПроцессы.Поручение.НайтиПоНомеру(ВыборкаДетальныеЗаписи.Номер);
Поручение = БП.ПолучитьОбъект();
Поручение.Завершен = истина;
Поручение.Записать();
КонецПроцедуры
Но у пользователей ошибка: "Недостаточно прав". Как это обойти? Или я УстановитьПривилегированныйРежим(Истина) не правильно юзаю?
1
Cube
10.02.15
✎
09:58
(0) И где эта процедура располагается?
2
gerthog
10.02.15
✎
09:59
(1) В модуле формы внешней обработки
3
mikecool
10.02.15
✎
10:00
"ВЫБРАТЬ разрешенные
| Поручение.Ссылка,
проверь
4
Cube
10.02.15
✎
10:00
(2)
Иди читай СП.
5
gerthog
10.02.15
✎
10:03
(3) Тоже самое
(4) Спасибо, я только от туда.
6
Господин ПЖ
10.02.15
✎
10:04
(5) не похоже... с учетом (2)...
7
ИС-2
10.02.15
✎
10:09
из внешних обработок нельзя установить привилигированный режим, если она запущена в безопасном режиме. Про запуск в небезопасном режиме читай СП. Или выноси в общий привилигированный модуль
Но я так и не понял смысла кода. Все можно заменить на
Процедура ЗакрытьПоручениеНаСервере(Ссылка)
Поручение = Ссылка.ПолучитьОбъект();
Поручение.Завершен = истина;
Поручение.Записать();
КонецПроцедуры
8
ktvladimir
10.02.15
✎
10:13
и стоит глянуть модуль самого бп, может там ручками прописаны запреты
9
gerthog
10.02.15
✎
10:45
Всё спасибо! В небезопасном режиме работает.
(7)Точно, так лучше)
2 + 2 = 3.9999999999999999999999999999999...