Подскажите, как оптимально сделать, чтобы при открытии формы проверялся доступ пользователя к реквизитам формы и недоступные элементы формы не отображались?
Можно как-то оптимальнее, чем это:
Для Каждого Реквизит Из Метаданные.Документы.А_Заявка.Реквизиты Цикл
ЭлементФормы = ЭлементыФормы.Найти(Реквизит.Имя);
Если ЭлементФормы <> Неопределено Тогда
Если ПравоДоступа("Просмотр",Реквизит) Тогда
ЭлементФормы.Видимость = Истина;
Если ПравоДоступа("Редактирование",Реквизит) Тогда
ЭлементФормы.Доступность = Истина;
Иначе
ЭлементФормы.Доступность = Ложь;
Конецесли;
Иначе
ЭлементФормы.Видимость = Ложь;
КонецЕсли;
КонецЕсли;
КонецЦикла;
(2)Не знаю. Просто подумал, что вдруг все намного проще :)
Еще подумал про RLS, но там ведь ограничение на доступ к записи БД, а не на реквизит? Да и RSL вроде не может же влиять на отрисовку формы.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс