Имя: Пароль:
1C
 
Полные права на мгновенье
0 wladimir90
 
28.03.11
20:27
Всем привет. Подскажите, как добавить пользователю полные права для исполнения одной процедуры?
Код ниже не добавляет но и ошибок не выдает.

ПользователиИнформационнойБазы.ТекущийПользователь().Роли.Добавить(Метаданные.Роли.ПолныеПрава);
ПользователиИнформационнойБазы.ТекущийПользователь().Записать();

...

ПользователиИнформационнойБазы.ТекущийПользователь().Роли.Удалить(Метаданные.Роли.ПолныеПрава);
ПользователиИнформационнойБазы.ТекущийПользователь().Записать();
1 Lys
 
28.03.11
20:29
Если 8.1 - переместить процедуру в привилегированный общий модуль
Если 8.2 - УстановитьПривилегированныйРежим()
2 wladimir90
 
28.03.11
22:08
8.1.
Поместил в общий модуль "ПолныеПрава", он как раз привелигирован. Но все равно после прохождения добавления и записи в ролях нет полных прав.
Может я не так пишу код?


Процедура УстановитьПолныеПраваНаВремя(Параметр) Экспорт
   Если Параметр = 1 Тогда
       ПользователиИнформационнойБазы.ТекущийПользователь().Роли.Добавить(Метаданные.Роли.ПолныеПрава);
       ПользователиИнформационнойБазы.ТекущийПользователь().Записать();    
   Иначе
       ПользователиИнформационнойБазы.ТекущийПользователь().Роли.Удалить(Метаданные.Роли.ПолныеПрава);
       ПользователиИнформационнойБазы.ТекущийПользователь().Записать();    
   КонецЕсли;    
КонецПроцедуры
3 Lys
 
28.03.11
22:12
(2) "как добавить пользователю полные права для исполнения одной процедуры" -
Вот эту "одну процедуру" и надо поместить в привилегированный модуль. Добавление/удаление ролей здесь ни при чем, его вообще убрать.
4 Mitriy
 
28.03.11
22:13
(2) выбрось это... процедуру, на которую нужны полные права, засунь в этот модуль...
5 Mitriy
 
28.03.11
22:13
(3) пардон...
6 wladimir90
 
28.03.11
23:09
Спасибо.