Имя: Пароль:
1C
1С v8
Управление видимостью элементами формы в зависимости от прав
0 Ваше благородие
 
10.04.12
14:05
Доброго дня.

Подскажите, как оптимально сделать, чтобы при открытии формы проверялся доступ пользователя к реквизитам формы и недоступные элементы формы не отображались?

Можно как-то оптимальнее, чем это:

Для Каждого Реквизит Из Метаданные.Документы.А_Заявка.Реквизиты Цикл
   ЭлементФормы = ЭлементыФормы.Найти(Реквизит.Имя);
   Если ЭлементФормы <> Неопределено Тогда
       Если ПравоДоступа("Просмотр",Реквизит) Тогда
           ЭлементФормы.Видимость = Истина;
               Если ПравоДоступа("Редактирование",Реквизит) Тогда
                   ЭлементФормы.Доступность = Истина;
               Иначе
                   ЭлементФормы.Доступность = Ложь;
               Конецесли;
       Иначе
           ЭлементФормы.Видимость = Ложь;
       КонецЕсли;
    КонецЕсли;
КонецЦикла;
1 Ваше благородие
 
10.04.12
14:09
Управляемых форм нет.
2 Галахад
 
гуру
10.04.12
14:12
А это чем не оптимально?
3 Ваше благородие
 
10.04.12
14:16
(2)Не знаю. Просто подумал, что вдруг все намного проще :)

Еще подумал про RLS, но там ведь ограничение на доступ к записи БД, а не на реквизит? Да и RSL вроде не может же влиять на отрисовку формы.