UpdateOrder: MetabaseObjectUpdateOrder;
UpdateOrder: Prognoz.Platform.Interop.Metabase.MetabaseObjectUpdateOrder;
Свойство UpdateOrder определяет порядок обновления данных объектов.
Для определения способа обновления данных объекта используйте свойство IMetabaseUpdateObjectNode.UpdatePart.
Для выполнения примера предполагается наличие файла обновления «C:\Update.pefx». В репозитории должна присутствовать таблица с идентификатором «Table_1».
Добавьте ссылку на системную сборку «Metabase».
Sub UserProc;
Var
MB: IMetabase;
Update: IMetabaseUpdate;
UFN: IMetabaseUpdateFolderNode;
UON: IMetabaseUpdateObjectNode;
Begin
MB := MetabaseClass.Active;
Update := Mb.CreateUpdate;
Update.LoadFromFileNF("C:\temp\Update.pefx");
Update.Prepare; //
UFN := Update.RootFolder;
UON := UFN.Add(MetabaseUpdateNodeType.DataObject) As IMetabaseUpdateObjectNode;
UON.Object := MB.ItemById("Table_1");
UON.UpdateOrder := MetabaseObjectUpdateOrder.Default_;
UON.UpdatePart := MetabaseObjectUpdatePart.DataMetadataSD;
Update.SaveToFileNF("C:\temp\Update.pefx");
End Sub UserProc;
В результате выполнения примера будет задан порядок обновления данных объектов - по умолчанию. После чего в обновление, загруженное из файла «C:\Update.pefx», будет добавлена таблица. Затем обновление будет сохранено. При выполнении обновления будут обновляться данные, метаданные и права доступа для данной таблицы.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Update: IMetabaseUpdate;
UFN: IMetabaseUpdateFolderNode;
UON: IMetabaseUpdateObjectNode;
Begin
MB := Params.Metabase;
Update := Mb.CreateUpdate();
Update.LoadFromFileNF("C:\temp\" + "Update.pefx", UpdateLoadMode.ulmInsertUpdate);
Update.Prepare();
UFN := Update.RootFolder;
UON := UFN.Add(MetabaseUpdateNodeType.untDataObject) As IMetabaseUpdateObjectNode;
UON.Object := MB.ItemById["Table_1"];
UON.UpdateOrder := MetabaseObjectUpdateOrder.mouoDefault;
UON.UpdatePart := MetabaseObjectUpdatePart.moupDataMetadataSD;
Update.SaveToFileNF("C:\temp\" + "Update.pefx");
End Sub;
См. также: