WriteUpdate(Update: IMetabaseUpdate; Mode: UpdateLoadMode);
WriteUpdate(Update: Prognoz.Platform.Interop.Metabase.IMetabaseUpdate; Mode: Prognoz.Platform.Interop.Metabase.UpdateLoadMode);
Update. Обновление, которое будет сохранено;
Mode. Режим добавления объектов в обновление.
Метод WriteUpdate сохраняет обновление как объект репозитория.
Для выполнения примера добавьте ссылку на системную сборку Metabase. В репозитории должны быть обновление с идентификатором «ObjPefx», таблица с идентификатором «Table» и форма с идентификатором «Form_1».
Sub UserProc;
Var
MB: IMetabase;
Update: IMetabaseUpdate;
Root: IMetabaseUpdateFolderNode;
TableObj: IMetabaseUpdateDataObjectNode;
Obj: IMetabaseUpdateObjectNode;
UpdateObj: IMetabaseUpdateObject;
Begin
MB := MetabaseClass.Active;
Update := MB.CreateUpdate;
Root := Update.RootFolder;
TableObj := Root.Add(MetabaseUpdateNodeType.Object) As IMetabaseUpdateDataObjectNode;
TableObj.Object := MB.ItemById("Table");
TableObj.Method := MetabaseUpdateMethod.All;
TableObj.Label := TableObj.Object.Name;
Obj := Root.Add(MetabaseUpdateNodeType.Object) As IMetabaseUpdateObjectNode;
Obj.Object := MB.ItemById("Form_1");
UpdateObj := MB.ItemById("ObjPefx").Bind As IMetabaseUpdateObject;
UpdateObj.WriteUpdate(Update, UpdateLoadMode.InsertUpdate);
End Sub UserProc;
После выполнения примера в обновление, расположенное в репозитории, будут добавлены таблица и форма. Если данные объекты уже содержались в обновлении, то они будут заменены.
В репозитории должны быть обновление с идентификатором «ObjPefx», таблица с идентификатором «Table» и форма с идентификатором «Form_1». Указанная процедура является точкой входа для .NET-сборки.
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Update: IMetabaseUpdate;
Root: IMetabaseUpdateFolderNode;
TableObj: IMetabaseUpdateDataObjectNode;
Obj: IMetabaseUpdateObjectNode;
UpdateObj: IMetabaseUpdateObject;
Begin
MB := Params.Metabase;
Update := MB.CreateUpdate();
Root := Update.RootFolder;
TableObj := Root.Add(MetabaseUpdateNodeType.untObject) As IMetabaseUpdateDataObjectNode;
TableObj.Object := MB.ItemById["Table"];
TableObj.Method := MetabaseUpdateMethod.mumAll;
TableObj.Label := TableObj.Object.Name;
Obj := Root.Add(MetabaseUpdateNodeType.untObject) As IMetabaseUpdateObjectNode;
Obj.Object := MB.ItemById["Form_1"];
UpdateObj := MB.ItemById["ObjPefx"].Bind() As IMetabaseUpdateObject;
UpdateObj.WriteUpdate(Update, UpdateLoadMode.ulmInsertUpdate);
End Sub;
После выполнения примера в обновление, расположенное в репозитории, будут добавлены таблица и форма. Если данные объекты уже содержались в обновлении, то они будут заменены.
См. также: