IMetabaseUpdateObjectNode.ObjectId

Синтаксис

ObjectId: String;

Описание

Свойство ObjectId определяет идентификатор обновляемого объекта.

Комментарии

По умолчанию значение свойства соответствует идентификатору объекта, добавленного в обновление из репозитория. Значение данного свойства может быть изменено для изменения идентификатора обновляемого объекта, либо для обновления другого объекта, если используется тип обновления по идентификатору.

Пример

Public Class CUpdateEvents: UpdateEvents

Public Sub OnBeginUpdate(Update: IMetabaseUpdate);

Begin

Debug.WriteLine("Начало обновления объектов репозитория");

End Sub OnBeginUpdate;

 

Public Sub OnBeforeApplyUpdate(Update: IMetabaseUpdate);

Var

MB: IMetabase;

Root: IMetabaseUpdateFolderNode;

Node: IMetabaseUpdateNode;

ObjectNode: IMetabaseUpdateObjectNode;

i: Integer;

Begin

MB := MetabaseClass.Active;

If MB.Security.Policy.ObjectsIdFormat <> "" Then

Root := Update.RootFolder;

For i := 0 To Root.Count - 1 Do

Node := Root.Item(i);

If Node.NodeType = MetabaseUpdateNodeType.Object Then

ObjectNode := Node As IMetabaseUpdateObjectNode;

ObjectNode.ObjectId := MB.GenerateId(ObjectNode.ObjectId);

End If;

End For;

End If;

End Sub OnBeforeApplyUpdate;

 

Public Sub OnEndUpdate(Update: IMetabaseUpdate);

Begin

Debug.WriteLine("Обновление объектов окончено");

End Sub OnEndUpdate;

End Class CUpdateEvents;

Данный пример является шаблоном для модуля обновления. Перед применением обновления будет осуществлена проверка на наличие установленного формата идентификаторов в репозитории. Если формат идентификаторов установлен, то для корневых объектов обновления, соответствующих объектам репозитория, будут сгенерированы новые идентификаторы в соответствии с данным форматом.

См. также:

IMetabaseUpdateObjectNode