Object: IMetabaseObjectDescriptor;
Свойство Object возвращает описание пользовательского класса как объекта репозитория.
Описание может применяться при добавлении пользовательских классов в обновление в качестве специальных объектов.
Для выполнения примера в метаданных репозитория предполагается наличие созданных пользовательских классов.
Добавьте ссылку на системную сборку Metabase.
Sub UserProc;
Var
Mb: IMetabase;
Update: IMetabaseUpdate;
CustomClassExtender: IMetabaseCustomExtender;
CustomClass: IMetabaseCustomClass;
SpecialObjNode: IMetabaseUpdateSpecialObjectsNode;
SpecialFolder: IMetabaseUpdateFolderNode;
ClassNode: IMetabaseUpdateObjectNode;
Begin
MB := MetabaseClass.Active;
// Контейнер пользовательских классов
CustomClassExtender := Mb.SpecialObject(MetabaseSpecialObject.CustomExtender).Bind As IMetabaseCustomExtender;
// Пользовательский класс из контейнера
CustomClass := CustomClassExtender.Classes.Item(0);
// Создание обновления
Update := Mb.CreateUpdate;
// Управление специальными объектами в обновлении
SpecialObjNode := Update.SpecialObjectsNode;
SpecialFolder := SpecialObjNode As IMetabaseUpdateFolderNode;
// Добавление пользовательского класса в обновление
ClassNode := SpecialFolder.Add(MetabaseUpdateNodeType.Object) As IMetabaseUpdateObjectNode;
ClassNode.Object := CustomClass.Object;
// Сохранение обновления в файл
Update.SaveToFileNF("D:\Work\Pefx\Update.pefx");
End Sub UserProc;
При выполнении примера будет создано новое обновление. В обновление будет включён первый пользовательский класс, созданный в метаданных репозитория. После этого обновление будет сохранено в указанный файл.
См. также: