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