Имя: Пароль:
1C
1С v8
Есть ли типовые средства или обработки, позволяющие определить доступ к объекту?
0 КВАДРО2
 
24.03.14
09:23
Есть ли типовые средства или обработки, позволяющие определить доступ к объекту?

Есть объект - справочник физические лица, надо знать, кто из пользователей имеет доступ на просмотр/чтение, и на какие группы.
1 Cube
 
24.03.14
09:25
(0) СП украли?

Глобальный контекст (Global context)
ПравоДоступа (AccessRight)
Синтаксис:

ПравоДоступа(<Право>, <ОбъектМетаданных>, <Пользователь/Роль>, <СтандартныйРеквизитСтандартнаяТабличнаяЧасть>)

...


Возвращаемое значение:

Тип: Булево.
Истина - право доступа к объекту установлено; Ложь - в противном случае.
Описание:

Показывает установку права доступа к объекту метаданных для текущего пользователя.
Вызов метода всегда требует административных прав, если явно указан третий параметр - Пользователь/Роль, права которого проверяются. Если пользователь не указан, то проверяются права текущего пользователя, и для этого наличие административных прав не требуется.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Права доступа к объектам метаданных устанавливаются при конфигурировании ролей.
Пример:

Справочник = Метаданные.Справочники.Конкуренты;
Если Не ПравоДоступа("Чтение", Справочник) Тогда
    Текст = "ru = ""Доступ к данному справочнику закрыт!"";"
     + " en = ""Access denied!""";
    Предупреждение(НСтр(Текст));
КонецЕсли;
2 Нерезидент РФ
 
24.03.14
09:25
вот пример
    ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(Пользователь.ИдентификаторПользователяИБ);
    Сообщить(ПользовательИБ);
    
    Для Каждого ОбъектМетаданных из Метаданные.РегистрыНакопления Цикл
        
        Сообщить(ОбъектМетаданных);
        Сообщить("  Чтение    : "+ПравоДоступа("Чтение", ОбъектМетаданных, ПользовательИБ));        
        Сообщить("  Добавление: "+ПравоДоступа("Добавление", ОбъектМетаданных, ПользовательИБ));        
        Сообщить("  Изменение : "+ПравоДоступа("Изменение", ОбъектМетаданных, ПользовательИБ));        
        Сообщить("  Просмотр  : "+ПравоДоступа("Просмотр", ОбъектМетаданных, ПользовательИБ));        
        
    конецЦикла;
3 Ненавижу 1С
 
гуру
24.03.14
09:27
(1)(2) а на конкретный объект с учетом RLS?
4 Cube
 
24.03.14
09:32
(3) Легко. Проверяем способом (1) на нужные права (чтение, просмотр и т.п.) потом ссылку проверяем на "битость" = ПРОФИТ!
5 Defender aka LINN
 
24.03.14
09:32
(3) Запросом.
6 Нерезидент РФ
 
24.03.14
09:33
(3) попыткой!