Имя: Пароль:
1C
 
можно както установить или отменить все роли у пользователей?
0 Девушка-Вамп
 
17.11.08
09:49
можно ли в 8,1 при определениролей пользователей снять или устновить все роли сразу?
1 чувак
 
17.11.08
09:53
нет, но если юзер новый, можно копировать из юзера с польными правами
2 Fragster
 
гуру
17.11.08
09:54
(0) напиши обработку... в отличии от 7.7 полностью юзерами управлять можно программно
3 MNS_Ротерта
 
17.11.08
10:04
Посмотри в настройки пользователя. Там же есть переход по кнопке на "пользователя информационной базы". Там можно посмотреть методы и примеры кода. На основе этого построй обработку свою. Точнее не смогу подсказать не помню методы уже. глянь метод ПользователиИнформационнойБазы.
4 Serg_1960
 
17.11.08
10:07
А СП почитать "слабо"?
ПользовательИнформационнойБазы (InfoBaseUser)
Роли (Roles)
Использование:
Только чтение.
Описание:
Тип: РолиПользователя. Содержит коллекцию ролей пользователя информационной базы.
Примечание:
Доступно только пользователю с административными правами
5 Serg_1960
 
17.11.08
10:51
Ау! Не люблю когда молча молчат :) Это уже не беседа - монолог получается :(

   Пользователи = ПользователиИнформационнойБазы.ПолучитьПользователей();
   Для Индекс = 0 По Пользователи.Количество()-1 Цикл
       Пользователь = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(Пользователи[Индекс].УникальныйИдентификатор);
       Сообщить(Пользователь.Имя);
       // Получим все его роли
       ВсеРоли = Пользователь.Роли;
       // Удалим все его роли
       Пользователь.Роли.Очистить();
       // ... о боже, - что я наделал :( надо всё срочно восстановить :)
       Для Каждого Роль Из ВсеРоли Цикл
           Пользователь.Роли.Добавить(Роль);
       КонецЦикла;
   КонецЦикла;
6 Serg_1960
 
17.11.08
11:23
На всякий случай предупреждаю: код в (5) - потенциально опасный! Не запускать! Можно нарваться на неприятности.
7 Девушка-Вамп
 
17.11.08
12:15
(6) спасибо - сейчас попробую такую сделать :)
а то неохота ручками в 60 пользователей все птички убирать
8 Девушка-Вамп
 
17.11.08
12:44
(6)  а на акие неприятност?
9 Злобный Йожег
 
17.11.08
12:56
(8) А вот узнаешь, когда сделаешь :)))
10 Девушка-Вамп
 
17.11.08
13:01
:):)
а можно ещё обнагеть и спросить - к енти птички установить?
11 Serg_1960
 
17.11.08
13:08
(8) Код, хоть и работает "быстро", но в базе может всегда найтись пользователь, которому именно в это мгновение нужны именно те права, которые Вы "временно" сняли :)
12 чувак
 
17.11.08
13:10
(10) про фотки не забудем :)
13 Девушка-Вамп
 
17.11.08
13:25
(11) а подскажи ещё как оределённ роль "отметит"?
14 Девушка-Вамп
 
17.11.08
13:43
+(13)определённую в смысле
15 Serg_1960
 
17.11.08
13:50
(13) Вопрос не понял, - но попробую угадать :)

Для Каждого Роль Из Метаданные.Роли Цикл
  Если Роль.Имя = "ПолныеПрава" Тогда
     Пользователи = ПользователиИнформационнойБазы.ПолучитьПользователей();
     Для Индекс = 0 По Пользователи.Количество()-1 Цикл
        Пользователь = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(Пользователи[Индекс].УникальныйИдентификатор);
        // удалить у пользователя текущую роль
        Пользователь.Роли.Удалить(Роль);
     КонецЦикла;
  ИначеЕсли...
16 Девушка-Вамп
 
17.11.08
13:54
(15) роли сново добаляютс в список с "не отмечнной" птичкой, а как сделать так чтобы паре олей этптички всётаки проставились?
17 Serg_1960
 
17.11.08
14:01
(16) О каких "птичках" речь? :(
18 Девушка-Вамп
 
17.11.08
14:20
ну те которые напротив ролей на закладки "роли" в настройках ползоватлей отображаются
19 Serg_1960
 
17.11.08
14:23
Сорри, я выйду из беседы: у меня инет глючит безбожно... Напоследок, - может пригодится :)

ИмяРоли = "ПолныеПрава";
Роль = Метаданные.Роли[ИмяРоли];
ИмяПользователя = "Иванов И.";
Пользователь = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователя);
Если Пользователь <> Неопределено И Пользователь.Роли.Содержит(Роль) Тогда
  Пользователь.Роли.Удалить(Роль);
КонецЕсли;

// "перенос" ролей от старого пользователя к новому...
Старый = ПользователиИнформационнойБазы.НайтиПоИмени("Иванов");
ВсеРоли = Старый.Роли;
Старый.Роли.Очистить();
Новый  = ПользователиИнформационнойБазы.НайтиПоИмени("Петров");
Новый.Роли.Очистить();
Для Каждого Роль Из ВсеРоли Цикл
  Новый.Роли.Добавить(Роль);
КонецЦикла;