Имя: Пароль:
1C
1С v8
ПравоДоступа - где логика?
0 Steini
 
13.12.12
07:03
ПравоДоступа - такая функция, кот. нам говорит, есть ли у такой-то роли такое-то право на такой-то объект. Но!
ПравоДоступа("Проведение", <ОбъектМетаданныхИНТЕРФЕЙС>, <НекотораяРоль>)
возвращает Истина! Не Ложь, не Неопределено, не прерывается с ошибкой, а Истина!
Ну как так, ребята, в чем логика то?
1 1Сергей
 
13.12.12
07:08
интерфейсы доступны всем. Разве нет?
2 Steini
 
13.12.12
07:09
(1) у интерфейса одно право - Использование, а эта функция выдает Истина и на все остальные права, будь то проведение, аутомэйшн, ввод по строке и т.д.
3 ZanderZ
 
13.12.12
07:12
(0) логике нет в том что бы проверять ПравоДоступа("Проведение", <ОбъектМетаданныхИНТЕРФЕЙС>, <НекотораяРоль>) - кому такое в голову взбредет ?!
4 Steini
 
13.12.12
07:15
(3) пример - очередной вариант отчета по ролям. Есть дерево метаданных, есть в ручную сделанный список всех прав. Далее раскручивая дерево, в цикле по списку прав проверяем доступ с помощью этой функции.
Логично ожидать, что эта функция на несуществующих правах для интерфейса выдаст все что угодно, но только не Истина!
Разве не так? А аргументы, что не так есть? =)
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн