Имя: Пароль:
1C
1С v8
принцип работы Функции ПолучитьЗначениеПраваДляТекущегоПользователя
0 Эльчин
 
03.06.14
15:46
привет. в УТ 10.3 есть такое функция:

// Функция возвращает список значений права, установленных для пользователя.
// Если количество значений меньше количество доступных ролей, то возвращается значение по умолчанию
//
// Параметры:
//  Право               - право, для которого определяются значения
//  ЗначениеПоУмолчанию - значение по умолчанию для передаваемого права (возвращается в случае
//                        отсутствия значений в регистре сведений)
//
// Возвращаемое значение:
//  Список всех значений, установленных наборам прав (ролям), доступных пользователю
//
Функция ПолучитьЗначениеПраваДляТекущегоПользователя(Право, ЗначениеПоУмолчанию = Неопределено) Экспорт
    
    КэшДополнительныхПрав = глЗначениеПеременной("ЗначенияДополнительныхПравПользователя");
    ЗначениеПрава = КэшДополнительныхПрав[Право];
    Если ЗначениеПрава = Неопределено Тогда
        ЗначениеПрава = ПрочитатьЗначениеПраваДляТекущегоПользователя(Право, ЗначениеПоУмолчанию);
        КэшДополнительныхПрав[Право] = ЗначениеПрава;
        #Если Сервер Тогда
            глЗначениеПеременнойУстановить("ЗначенияДополнительныхПравПользователя", КэшДополнительныхПрав, Истина);
        #КонецЕсли
    КонецЕсли;    
    Возврат ЗначениеПрава;
    
КонецФункции // ПолучитьЗначениеПраваДляТекущегоПользователя()

Когда нужно получить значению какого либо дополнитльного права можно обращатся к этому функции и оно возвращает "да" или "нет". но когда използую ГруппыДоступаККонтрагентам и ставлю галочку этому праву тогда это функция возвращает мне "Нет;Да" с типом СписокЗначений. Не могу понят откуда оно берет значению "Нет;Да".  "Да" вроде то галочка который я ставил. а откуда берет значению "Нет"?
буду очен благодарен если поможете(извините из за ошибок в тексте)
1 acsent
 
03.06.14
15:49
ну правильно. право может быть у группы
2 Эльчин
 
03.06.14
15:54
(1) и у группы и у пользователься ставил галочку
3 Эльчин
 
03.06.14
15:55
(1) думал что будеть "Да;Да". но возвращает "Нет;Да"
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.