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;
После выполнения примера в консоль будет выведено значение, определяющее операции над папками, для которых добавляются записи в протокол доступа.
См. также: