HasAccess(AccessMask: Integer): Boolean;
AccessMask. Маска, определяющая операции, наличие прав на которые, необходимо проверить для текущего пользователя. Для формирования значения маски необходимо использовать значения перечислимого типа MetabaseObjectPredefinedRights. В этом перечислении содержатся основные и дополнительные операции, на которые можно раздавать права и вести аудит доступа. Для определенных классов объектов доступны специфические операции. Для использования специфических операций, в зависимости от класса объекта, в маске можно использовать значения следующих перечислений:
CalculatedCubeSpecificRights - специфические операции, доступные для вычисляемых кубов.
CubeLoaderSpecificRights - специфические операции, доступные для загрузчика данных в куб.
CubeSpecificRights - специфические операции, доступные для различных видов кубов.
CustomObjectSpecificRights - специфические операции, доступные для объектов пользовательских классов.
DataBaseSpecificRights - специфические операции, доступные для объекта репозитория - База данных.
DictionarySpecificRights - специфические операции, доступные для объектов репозитория - Справочник НСИ и Составной справочник НСИ.
MDCalcSpecificRights - специфические операции, доступные для объекта репозитория - Многомерный расчет на сервере БД.
ScenarioDimensionSpecificRights - специфические операции, доступные для объекта репозитория - Сценарий моделирования.
ProblemSpecificRights - специфические операции, доступные для объекта контейнера моделирования - Задача моделирования.
ProcedureSpecificRights - специфические операции, доступные для объекта репозитория - Процедура.
TableSpecificRights - специфические операции, доступные для следующих объектов репозитория - Таблица, Представление, Журнал, Присоединенная таблица.
ValidationSpecificRights - специфические операции, доступные для объекта репозитория - Правило валидации и Группа валидаций.
Метод HasAccess осуществляет проверку наличия прав у текущего пользователя на определенные операции над объектом.
Операции, наличие прав на которые, необходимо проверить, передаются посредством параметра AccessMask. Если у текущего пользователя присутствуют права на все указанные операции, то метод возвращает значение True, иначе - False.
Для выполнения примера предполагается наличие в репозитории объекта с идентификатором "Obj_1".
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObjectDescriptor;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemById("Obj_1");
Debug.WriteLine(MObj.HasAccess(
MetabaseObjectPredefinedRights.ExportData Or
MetabaseObjectPredefinedRights.ImportData));
End Sub UserProc;
После выполнения примера в консоль среды разработки будет выведен признак наличия прав у текущего пользователя на экспорт и импорт данных объекта с идентификатором "Obj_1".
См. также: