Имя: Пароль:
1C
1С v8
ПравоДоступа(<Право>, <ОбъектМетаданных>, <Пользователь/Роль>)
0 Адинэснег
 
24.07.12
14:39
Право = "Проведение";
ОбъектМетаданных = Метаданные.Справочники.Банки
Роль = Метаданные.Роли["Администрирование"];

ПравоДоступа(Право, ОбъектМетаданных, Роль)
Возвращает Истину...

Какого?)
1 acsent
 
24.07.12
14:41
а что должно неопределено возвращать?
2 Адинэснег
 
24.07.12
14:42
исключение должно валиться имхо
3 Адинэснег
 
24.07.12
14:43
типа
Указанное право не существует: Проведение
4 Адинэснег
 
24.07.12
14:45
как определить, какие права доступны для коллекции метаданных?
5 х86
 
24.07.12
14:46
(0)фича
6 Адинэснег
 
24.07.12
14:47
по идее, для справочников могут быть определены права:
Чтение
Добавление
Изменение
Удаление
Просмотр
Интерактивное добавление
Редактирование
Интерактивное удаление
Интерактивная пометка на удаление
Интерактивное снятие пометки удаления
Интерактивное удаление помеченных
Ввод по строке

все остальное должно валиться по исключению...
7 Адинэснег
 
24.07.12
15:39
обошел через если, мож кому пригодится


ДоступныеПрава = Новый Массив;

Если ТипМД = "Справочник" ИЛИ ТипМД = "ПВХ" Тогда
   
ДоступныеПрава.Добавить("Чтение");
ДоступныеПрава.Добавить("Добавление");
ДоступныеПрава.Добавить("Изменение");
ДоступныеПрава.Добавить("Удаление");
ДоступныеПрава.Добавить("Просмотр");
ДоступныеПрава.Добавить("ИнтерактивноеДобавление");
ДоступныеПрава.Добавить("Редактирование");
ДоступныеПрава.Добавить("ИнтерактивноеУдаление");
ДоступныеПрава.Добавить("ИнтерактивнаяПометкаУдаления");
ДоступныеПрава.Добавить("ИнтерактивноеСнятиеПометкиУдаления");
ДоступныеПрава.Добавить("ИнтерактивноеУдалениеПомеченных");
ДоступныеПрава.Добавить("ВводПоСтроке");

ИначеЕсли ТипМД = "Журнал" Тогда
ДоступныеПрава.Добавить("Чтение");
ДоступныеПрава.Добавить("Просмотр");
   
ИначеЕсли ТипМД = "РС" ИЛИ ТипМД = "Константа" Тогда

ДоступныеПрава.Добавить("Чтение");
ДоступныеПрава.Добавить("Изменение");
ДоступныеПрава.Добавить("Просмотр");
ДоступныеПрава.Добавить("Редактирование");

ИначеЕсли ТипМД = "РН" Тогда

ДоступныеПрава.Добавить("Чтение");
ДоступныеПрава.Добавить("Изменение");
ДоступныеПрава.Добавить("Просмотр");
ДоступныеПрава.Добавить("Редактирование");
ДоступныеПрава.Добавить("УправлениеИтогами");

ИначеЕсли ТипМД = "Документ" Тогда

ДоступныеПрава.Добавить("Чтение");
ДоступныеПрава.Добавить("Добавление");
ДоступныеПрава.Добавить("Изменение");
ДоступныеПрава.Добавить("Удаление");
ДоступныеПрава.Добавить("Проведение");
ДоступныеПрава.Добавить("ОтменаПроведения");
ДоступныеПрава.Добавить("Просмотр");
ДоступныеПрава.Добавить("ИнтерактивноеДобавление");
ДоступныеПрава.Добавить("Редактирование");
ДоступныеПрава.Добавить("ИнтерактивнаяПометкаУдаления");
ДоступныеПрава.Добавить("ИнтерактивноеСнятиеПометкиУдаления");
ДоступныеПрава.Добавить("ИнтерактивноеУдалениеПомеченных");
ДоступныеПрава.Добавить("ИнтерактивноеПроведение");
ДоступныеПрава.Добавить("ИнтерактивноеПроведениеНеОперативное");
ДоступныеПрава.Добавить("ИнтерактивнаяОтменаПроведения");
ДоступныеПрава.Добавить("ИнтерактивноеИзменениеПроведенных");
ДоступныеПрава.Добавить("ВводПоСтроке");

ИначеЕсли ТипМД = "Отчет" ИЛИ ТипМД = "Обработка" Тогда
   
ДоступныеПрава.Добавить("Использование");
ДоступныеПрава.Добавить("Просмотр");

КонецЕсли;
8 Maxus43
 
24.07.12
15:44
зачем хоть это надо?
9 Адинэснег
 
24.07.12
15:46
чтоб получить права, без левых... Очень странно получается, когда справочник можно проводить и пересчитывать ему итоги :-D
10 Kashemir
 
24.07.12
15:48
(9) Иметь право и не иметь возможности - это разные вещи ^^
11 Адинэснег
 
24.07.12
15:52
+(10) и иметь желание...
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс