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

Добрый день!

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

Нравится

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

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

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

pgMapsDetail.IsVisible = GetCanReadData('tbl_Maps');

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

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

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

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

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

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

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