23.06.2005, 00:56 | #20 |
Administrator
|
Если 2.5 - то никакие. Только AccessRightsList. Беда в том, что НЕВОЗМОЖНО построить дерево средствами MS SQL, т.к. для построения дерева ипользуется информация о свойствах элемента АОТ - такая как какой SecurityKey (Feature Key) относится к такому-то пункту меню и какой пункт меню что вызывает (форму, класс и т.д.). А вот инфа об элементах АОТ хранится в файликах .aod, и никоим боком не пролетает в базе данных.
Однако, ответить на вопрос - а кто имеет такой-то доступ к такому-то пункту меню - получить можно. Пишется хранимая процедура, в которой в качестве параметра передается тип элемента и его ID (А вот уж как получить ID -отдельная песня). Далее делается банальный SELECT * FROM ACCESSRIGHTSLIST WHERE .... - все эти условия. Для пунктов меню ID не нужен - в таблице сидит название меню. Информацию по таблицам и полям можно выковырять из таблицы SQLDICTIONARY - там аккурат сидит соответствие аксаптийных таблиц - SQL-ным. Правда там нет временных таблиц. Вот ключей (Security, Feauture) вы там не найдете. Названия форм вроде тоже есть в ACCESSRIGHTSLIST, хотя лучше проверить. Собсно говоря все.... |
|