IMetabaseAuditPolicy.TrackClassHistory

Синтаксис

TrackClassHistory(ClassID: Integer): Integer;

Параметры

ClassId. Идентификатор класса объекта.

Описание

Свойство TrackClassHistory определяет маску операций, для которых будет вестись история.

Комментарии

Для указания класса объекта используйте перечисление MetabaseObjectClass.

В основе расширений продукта лежат объекты пользовательских классов. Классы этих объектов отсутствуют в перечислении MetabaseObjectClass, но их можно получить в свойстве IMetabaseCustomClass.ClassId. Пользовательский класс, описываемый интерфейсом IMetabaseCustomClass, можно получить в коллекции IMetabaseCustomExtender.Classes.

Также может использоваться функцию GetMetabaseHelper.GetCustomClassByEnum(BPClasses.<тип объекта>). Данная функция реализована в модуле «Модуль взаимодействия с метабазой» (P10002_METABASE_HELPER) расширения «Конструктор бизнес-приложения».

Ведение истории доступно только по трем операциям: изменение, изменение прав и удаление. Для формирования и проверки значения маски используйте перечисление MetabaseObjectPredefinedRights. Для разбора значения маски реализуйте пользовательскую функцию, которая позволит сопоставить отдельные биты маски соответствующим значениям перечислений. Пример работы с маской доступа представлен в разделе «Работа с маской доступа».

Пример

Для выполнения примера добавьте системную сборку Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    AuditPolicy: IMetabaseAuditPolicy;
    MBClass: Integer;
Begin
    MB := MetabaseClass.Active;
    MS := MB.Security;
    AuditPolicy := MS.Policy.AuditPolicy;
    MBClass := MetabaseObjectClass.KE_CLASS_FOLDER;
    Debug.WriteLine(AuditPolicy.TrackClassHistory(MBClass));
End Sub UserProc;

После выполнения примера в консоль будет выведено значение, определяющее операции над папками, для которых добавляются записи в протокол доступа.

См. также:

IMetabaseAuditPolicy