OpenOperationTree(Session: Integer; Operation: Integer): IAuditOperations;
Session - номер сессии, для которой необходимо получить список операций над объектами. В качестве значения параметра необходимо передавать значение свойства Session.
Operation - номер операции, для которой необходимо получить список операций над зависимыми объектами. Если в качестве значения передается «0», то метод возвращает список операций, совершенных в рамках сессии. Если в качестве значения передавать значение свойства Operation для какой-либо операции, то метод вернет список операций над зависимыми объектами того объекта, которому соответствует операция.
Метод OpenOperationTree возвращает список операций, произведенных в репозитории, представленный в древовидном виде.
Sub Main;
Var
MB: IMetabase;
MS: IMetabaseSecurity;
AL: IAuditLog;
ALogon: IAuditLogons;
OperatTree, OperatTreeChild: IAuditOperations;
Begin
MB := MetabaseClass.Active;
MS := MB.Security;
Al := MS.OpenAuditLog;
ALogon := AL.OpenLogons(False);
OperatTree := Al.OpenOperationTree(ALogon.Session, 0);
While Not OperatTree.Eof Do
Debug.WriteLine(OperatTree.ObjectId + " " + OperatTree.Name);
OperatTreeChild := Al.OpenOperationTree(ALogon.Session, OperatTree.Operation);
While Not OperatTreeChild.Eof Do
If OperatTreeChild.Succeeded Then
Debug.Indent;
Debug.WriteLine(OperatTreeChild.ObjectId + " " + OperatTreeChild.Name + " " + OperatTreeChild.Level.ToString);
Debug.Unindent;
OperatTreeChild.Next;
End If;
End While;
OperatTreeChild.Close;
OperatTree.Next;
End While;
OperatTree.Close;
End Sub Main;
После выполнения примера в консоль среды разработки будут выведены список операций, совершенных за время последнего подключения к репозиторию. Список операций будет рассматриваться в виде дерева. Для каждой операции будет выведен идентификатор соответствующего объекта и наименование операции. Если имеются операции, связанные с объектами от которых зависит какой-либо другой объект, то для данных операций также будет выведен уровень вложенности.
См. также: