|   |   | 
| 
 | Как программно проверить флаг "Административные функции" | ☑ | ||
|---|---|---|---|---|
| 0
    
        napagokc 24.01.13✎ 08:22 | 
        Народ, подскажите, плз, как программно проверить установлен ли у роли флаг "Административные функции"?     | |||
| 1
    
        Aleksey 24.01.13✎ 08:26 | 
        ПользовательИнформационнойБазы (InfoBaseUser)
  Роли (Roles) Использование: Только чтение. Описание: Тип: РолиПользователя. Содержит коллекцию ролей пользователя информационной базы. Примечание: Доступно только пользователю с административными правами. | |||
| 2
    
        napagokc 24.01.13✎ 08:29 | 
        (1) Видимо, не поняли вопроса. Список пользователей и список ролей я получить могу. Мне нужно из списка ролей отфильтровать только те роли, которые имеют Административные функции. Как это сделать?     | |||
| 3
    
        Aleksey 24.01.13✎ 08:30 | 
        типа 
  РольАдминистратор = Метаданные.Роли.Администратор; //или как она там в конфигураторе у тебя задано Пользователи = ПользователиИнформационнойБазы.ПолучитьПользователей(); Для каждого Пользователь Из Пользователи Цикл Если Пользователь.Роли.Содержит(РольАдминистратор) Тогда .... | |||
| 4
    
        napagokc 24.01.13✎ 08:36 | 
        (3) Не понимаешь ты меня...
  У меня есть список ролей и я знаю, какие из них имеют административные функции. В коде я действительно могу сделать фильтр по всем этим ролям, прописав их. Но я хочу сделать более универсально - чтобы не приходилось каждый раз править код, когда добавляется новая роль. То есть, хочу сделать проверку по всем ролям на наличие административных функций без привязок к пользователям или именам ролей. Твой код смотрит конкретную роль, а потом проверяет есть ли она у пользователя. Это не то, что мне нужно | |||
| 5
    
        napagokc 24.01.13✎ 08:38 | 
        (4) Мне нужно не наличие роли у пользователя проверить, а наличие Административных функций у роли     | |||
| 6
    
        Fish гуру 24.01.13✎ 08:41 | 
        (5) может это поможет?
  ПравоДоступа(<Право>, <ОбъектМетаданных>, <Пользователь/Роль>, <СтандартныйРеквизитСтандартнаяТабличнаяЧасть>) | |||
| 7
    
        Aleksey 24.01.13✎ 08:41 | 
        (5) А как тебя понять, если " Административных функций " - было в 7-ке а в 8-ке НЕТ такой функции, поэтому априори не может быть ниодной роли с функцией "Административных функций"     | |||
| 8
    
        Fish гуру 24.01.13✎ 08:42 | 
        + (6) <Право> (обязательный)
  Тип: Строка. Название права доступа. Могут быть использованы следующие значения: Администрирование (Administration) - администрирование информационной базы; требуется наличия права "Администрирование данных"; АдминистрированиеДанных (DataAdministration) - право на административные действия над данными; | |||
| 9
    
        napagokc 24.01.13✎ 08:42 | 
        Вот вижу в СП такую шнягу, как "ПравоДоступа", есть даже пример:
  Справочник = Метаданные.Справочники.Конкуренты; Если Не ПравоДоступа("Чтение", Справочник) Тогда Текст = "ru = ""Доступ к данному справочнику закрыт!"";" + " en = ""Access denied!"""; Предупреждение(НСтр(Текст)); КонецЕсли; Но не вижу в правах Административных функций | |||
| 10
    
        Aleksey 24.01.13✎ 08:43 | 
        (8) и где здесь "Административных функций "?     | |||
| 11
    
        napagokc 24.01.13✎ 08:43 | 
        Пока писал, мне уже накидали ответ ))     | |||
| 12
    
        Aleksey 24.01.13✎ 08:43 | 
        (9) Еше раз проснись, сходи умойся и заново скажи ты про 7-ку или 8-ку     | |||
| 13
    
        Fish гуру 24.01.13✎ 08:44 | 
        (10) Возможно, имелось в виду право "Администрирование".     | |||
| 14
    
        napagokc 24.01.13✎ 08:44 | 
        (12) 1С8.2. Административные функции есть     | |||
| 15
    
        Aleksey 24.01.13✎ 08:45 | 
        (14) скриншот в студию     | |||
| 16
    
        Aleksey 24.01.13✎ 08:45 | 
        Пока что совсе непонятно чем речь     | |||
| 17
    
        napagokc 24.01.13✎ 08:47 | ||||
| 18
    
        Aleksey 24.01.13✎ 08:52 | 
        Это какой то 8.0 наверное
  что говорит о программе и главное режим совместимости | |||
| 19
    
        Fish гуру 24.01.13✎ 08:52 | 
        (17) Платформа какая? Сейчас специально посмотрел: 8.1 - называется "Административные функции", как у тебя, в 8.2 - уже "Администрирование"     | |||
| 20
    
        Aleksey 24.01.13✎ 08:54 | 
        в 8.2 в конфигураторе есть объект "Внешние источники данных" плюс в правах есть галка на "все функции". У тебя этого нет. Вывод. Явно не 8.2     | |||
| 21
    
        napagokc 24.01.13✎ 08:54 | 
        у меня 1С8.2.13.219     | |||
| 22
    
        Aleksey 24.01.13✎ 08:55 | 
        (21) Обнови до последней платформы и проблема будет решена     | |||
| 23
    
        napagokc 24.01.13✎ 08:57 | 
        (22) Конфигурация собственной разработки, все писалось с нуля. Обновлять версию 1С нельзя, т.к. крупный международный холдинг и нужно, чтобы тогда все филиалы разом обновились, а это, по разным причинам, нельзя сделать единовременно. Нужно работать с тем, что есть     | |||
| 24
    
        napagokc 24.01.13✎ 09:12 | 
        ПравоДоступа("Администрирование", Метаданные) - находит ВСЕ роли. Попробовал написать ПравоДоступа("АдминистративныеФункции", Метаданные), но выдалась ошибка - таких прав нет. :(     | |||
| 25
    
        napagokc 24.01.13✎ 10:13 | 
        Друзья, это победа!
  После долгих мучений, бесполезного гугления (странно, но гугл не нашел ответа на мои вопросы, как бы я их не задавал), вчитывания в СП и экспериментов, я все-таки добился своего!!! Для каждого Роль Из Метаданные.Роли Цикл Если ПравоДоступа("Администрирование", Метаданные, Роль) Тогда Сообщить("'" + Роль + "' Успех!"); КонецЕсли; КонецЦикла; | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |