Показать сообщение отдельно
Старый 02.11.2011, 17:04   #3  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5803 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Нормальный способ - "плясать" от меню, а не давать права на конкретные ключи, т.е. на ключи вообще права не давать, кроме ряда случаев XxxTables, висящих на таблицах, для которых настроено AOSAuthorization; пример такой таблицы - EmplTable, там без доступа на ключ BasicTables ни формы не откроются, ни код, дергающий EmplTable::find(), не отработает. Для работы lookup'ов мы делали несложную модифу, которая при раздаче доступа на таблицу шерстит все relation'ы на таблице и EDT полей, ищет по ним "основные" таблицы и выдает на них доступ на чтение. Новые формы от этого доступны не станут, а вот lookup'ы заработают.

PS. Мне лично особенно понравилась работа, кажется, PurchTotals, где есть datasource по Common. На Common висит ключ AdminTables, при этом не помню, видна ли она вообще в списке таблиц, привязанных к ключу, соотв., без доступа на Common (либо AdminTables) форма не открывалась Решилось выставлением AllowCheck == No на datasource'е.

Последний раз редактировалось gl00mie; 02.11.2011 в 17:06.