Имя: Пароль:
1C
 
Как получить все роли пользователя?
0 ОМЭЗ
 
06.08.08
13:24
Как получить все роли пользователя?
1 DZENN
 
гуру
06.08.08
13:26
смотри в типовых, например в ЗУП
2 log
 
06.08.08
13:28
Циклом
3 ОМЭЗ
 
06.08.08
13:31
(1)Да гдеж взять этот ЗУП
(2) Циклом по чём? Опиши пожалуйста
4 Валерыч
 
06.08.08
13:32
объект ПользовательИнформационнойБазы. свойство Роли. Читай СП
5 Maxus43
 
06.08.08
13:33
СписокПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей();
6 Serg_1960
 
06.08.08
13:46
Процедура КнопкаВыполнитьНажатие(Кнопка)
   
   Для Каждого Роль Из Метаданные.Роли Цикл
       Если РольДоступна(Роль) Тогда
             Сообщить("Роль: "+Роль.Синоним+" доступна");
       Иначе
             Сообщить("Роль: "+Роль.Синоним+" не доступна");
       КонецЕсли;
   КонецЦикла;
   
КонецПроцедуры
7 ОМЭЗ
 
06.08.08
14:01
ТекПользователь = ПользователиИнформационнойБазы.ТекущийПользователь();
   Для Каждого ТекРоль Из ТекПользователь.Роли Цикл
       Если ПравоДоступа("Чтение",ЭтотОбъект.Метаданные(),ТекРоль) Тогда
            Набор = РегистрыСведений.ГраницыЗапретаИзмененияДанных.СоздатьНаборЗаписей();
            Набор.Отбор.Роль.Установить(Перечисления.НаборПравПользователей.[ТекРоль]);
            Набор.Отбор.Организация.Установить(Организация);
            Набор.Прочитать();
            СписокДатЗапретаРедактирования.Добавить(Набор[0].ГраницаЗапретаИзменений);
        КонецЕсли;    
   КонецЦикла;

Подскажите почему оно сдесь выдаёт ошибку Перечисления.НаборПравПользователей.[ТекРоль]
8 Maxus43
 
06.08.08
14:07
(7) отладчиком смотрел? на Перечисления.НаборПравПользователей.[ТекРоль]? ставлю пиво что там нет этого перечисления и не должно быть.
9 Maxus43
 
06.08.08
14:08
что за перечисление такое вобще? в ЗУПе нет
10 Ivan_495
 
06.08.08
14:10
Перечисления.НаборПравПользователей есть в УПП
11 ОМЭЗ
 
06.08.08
14:12
(8)Есть но там ТекРоль выдаёт как "Полные права",а в перечислении "Полныеправа"
УПП для Украины
12 Serg_1960
 
06.08.08
14:17
К твоей прошлой ветке нашел ответ:
Для каждого пользователя можно получить границу его изменений документов
ПараметрыСеанса.ГраницыЗапретаИзмененияДанных
13 ОМЭЗ
 
06.08.08
14:21
(12)А если у него для кождой роли стоит определлёная дата?
14 Serg_1960
 
06.08.08
14:29
Да тяжелый случай :(а я наивный думал конфа для Украины только языком отличается :)
15 Serg_1960
 
06.08.08
14:32
Выше была шутка. А это уже не шутка

Перечисления.НаборПравПользователей.[ТекРоль] возвращает значение конкретного перечисления т.е. Перечисления.НаборПравПользователей.БухгалтерМСФО --> "Бухгалтер МСФО"
16 Serg_1960
 
06.08.08
14:34
Почему у тебя масло маслянное:

Набор.Отбор.Роль.Установить(Перечисления.НаборПравПользователей.[ТекРоль]);

что проще сказать не можешь:

Набор.Отбор.Роль.Установить(ТекРоль);
17 ОМЭЗ
 
06.08.08
14:42
(16)Ты Цикл видел,ТекРоль - это не перечисление
А вот конфа как раз и на русском языке
18 Serg_1960
 
06.08.08
14:45
Не ругайся. Я ведь не знаю какой тип у Роль из регистра...
19 ОМЭЗ
 
06.08.08
15:02
(18)Я не ругаюсь.Извини если чтото не то.Тип перечисления
20 Serg_1960
 
06.08.08
15:04
Да и ты не обижайся. Это я так по инерции, не сообразил
21 Serg_1960
 
06.08.08
15:27
Может быть тебе вот это поможет: Эта абракадабра возвращает перечисление как объект метаданных:

Перечисления.НаборПравПользователей.[ТекРоль].Метаданные().ЗначенияПеречисления.[ТекРоль]
22 Serg_1960
 
06.08.08
15:32
(21) Можно вывернуть наизнанку и получить тот-же эффект:

Метаданные.Перечисления.НаборПравПользователей.ЗначенияПеречисления.[ТекРоль]