ForceUpdateObject: IMetabaseObject;
Свойство ForceUpdateObject определяет объект репозитория, к которому будет применено обновление вне зависимости от настроек, установленных для объекта в самом обновлении.
При выполнении подготовки к выполнению обновления для объектов будет выставлено свойство ApplyState. В частности в свойстве UpdateObject будет доступен объект репозитория, к которому будет применяться обновление, если объект существует в репозитории. Поиск данного объекта будет производиться в соответствии с настройками, указанными в обновлении. В пользовательском событии OnBeforeApplyUpdate, используемом в модуле обновления, через свойство UpdateObject можно изменить обновляемый объект. Если использование модуля обновления не предусмотрено, то используя данное свойство можно указать объект репозитория, к которому необходимо применить обновление.
Примечание. В качестве обновляемого объекта должен быть указан объект того же класса, какой имеет объект в обновлении.
Для выполнения примера предполагается наличие в репозитории формы с идентификатором «Temp_Form». В корневом каталоге диска С имеется файл обновления «MainForm.Pef». В состав обновления включена какая-либо форма.
Sub UserProc;
Var
MB: IMetabase;
Update: IMetabaseUpdate;
AplyState: IMetabaseUpdateObjectApplyState;
Begin
MB := MetabaseClass.Active;
Update := Mb.CreateUpdate;
Update.LoadFromFile("C:\Form.pef");
AplyState := (Update.RootFolder.Item(0) As IMetabaseUpdateObjectNode).ApplyState;
AplyState.ForceUpdateObject := MB.ItemById("Temp_Form").Bind;
Update.Apply;
End Sub UserProc;
При выполнения примера будет осуществлена загрузка обновления из указанного файла. Перед применением будут изменены настройки обновления. Для формы в обновлении будет указана форма репозитория, которую необходимо обновить.
См. также: