Деталь
права доступа
раздел
Технические вопросы
Разработка

Не отображать деталь, если нет прав на раздел

Добрый день!

Создал раздел Карты. Раздал права доступа необходимым группам пользователей. Раздел отображается правильно только для тех пользователей, у которых есть права хотя бы на чтение записей этого раздела. На основании грида этого раздела создал деталь Карты в разделе Контакты. Но эта деталь отображается всем пользователям без исключения (без записей). Возможно ли сделать какую-то проверку, и, в случае, если у пользователя нет прав хотя бы на чтение для раздела Карты, не отображать эту деталь вообще? Желательно подробней на какие события какой скрипт прописать.

Нравится

5 комментариев

Здравствуйте!

Да, можно сделать такую проверку. Для этого следует в скрипте раздела Контакты в процедуре function RefreshDetails() добавить следующий программный код:

pgMapsDetail.IsVisible = GetCanReadData('tbl_Maps');

Спасибо, Анна, помогло.

Все-таки поспешил я сказать что помогло. Точнее совет помог, но т.к. профиль пользователя сохраняется, то когда у пользователя появляются права на чтение этого раздела, деталь больше не появляется, потому что она сохранена как невидимая. Можно как-то решить эту ситуацию?

И еще маленький неприятный момент: когда в первый раз обращаешься к этой детали, то она видимая, а при ее выборе исчезает как по-волшебству. С этим можно как-то бороться?

Здравствуйте!

В данном случае добавьте ту же проверку в функцию InitializeGridData() в том же скрипте.

Всё работает, спасибо.

Показать все комментарии