IMetabaseSaveDialog.SaveObject

Синтаксис Fore

SaveObject: IMetabaseObjectDescriptor;

Синтаксис Fore.NET

SaveObject: Prognoz.Platform.Interop.Metabase.IMetabaseObjectDescriptor;

Описание

Свойство SaveObject определяет описание сохраняемого объекта репозитория.

Комментарии

Если данное свойство установлено, то диалог будет выдан для сохранения указанного объекта с новым идентификатором и наименованием. При инициализации диалога идентификатор и наименование будут сгенерированы автоматически. Также в диалоге можно выбрать существующий объект, который будет перезаписан.

Пример Fore

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1» и компонента MetabaseSaveDialog с наименованием «MetabaseSaveDialog1». В репозитории имеется объект с идентификатором «UserObject».

    Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
    Var
        MB: IMetabase;
        MObjDesc: IMetabaseObjectDescriptor;
        ClassFilter: IMetabaseDialogClassFilter;
        Filters: IMetabaseDialogFilters;
        i: Integer;
    Begin
        MB := MetabaseClass.Active;
        //Объект, который необходимо сохранить
        //с новым идентификатором и наименованием
        MObjDesc := MB.ItemById("UserObject");
        //Фильтр для возможности сохранения объекта в существующий объект
        //такого же класса
        ClassFilter := New MetabaseDialogClassFilter.Create;
        ClassFilter.ObjectClass := MetabaseClass.GetMetabaseObjectClass(MObjDesc.ClassId);
        Filters := MetabaseSaveDialog1.Filters;
        i := Filters.AddFilter(ClassFilter);
        MetabaseSaveDialog1.FilterIndex := i;
        //Указание сохраняемого объекта
        MetabaseSaveDialog1.SaveObject := MObjDesc;
        MetabaseSaveDialog1.Execute(Self);
    End Sub Button1OnClick;

После выполнения примера при нажатии на кнопку будет выведен диалог сохранения указанного объекта с новым идентификатором и наименованием. В диалоге будет возможен выбор существующих объектов такого же класса.

Пример Fore.NET

Для выполнения примера предполагается наличие .NET-формы, расположенной на ней кнопки с наименованием «Button1» и компонента MetabaseSaveDialogNet с наименованием «MetabaseSaveDialogNet1». В репозитории имеется объект с идентификатором «UserObject».

    Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
    Var
        MB: IMetabase;
        MBClass: MetabaseClassClass = New MetabaseClassClass();
        MObjDesc: IMetabaseObjectDescriptor;
        ClassFilter: IMetabaseDialogClassFilter;
        Filters: IMetabaseDialogFilters;
        i: integer;
    Begin
        MB := Self.Metabase;
        //Объект, который необходимо сохранить
        //с новым идентификатором и наименованием
        MObjDesc := MB.ItemById["UserObject"];
        //Фильтр для возможности сохранения объекта в существующий объект
        //такого же класса
        ClassFilter := New MetabaseDialogClassFilter();
        ClassFilter.ObjectClass := MBClass.GetMetabaseObjectClass(MObjDesc.ClassId);
        Filters := MetabaseSaveDialogNet1.Filters;
        i := Filters.AddFilter(ClassFilter);
        MetabaseSaveDialogNet1.FilterIndex := i;
        //Указание сохраняемого объекта
        MetabaseSaveDialogNet1.SaveObject := MObjDesc;
        MetabaseSaveDialogNet1.Execute(Self);
    End Sub;

После выполнения примера при нажатии на кнопку будет выведен диалог сохранения указанного объекта с новым идентификатором и наименованием. В диалоге будет возможен выбор существующих объектов такого же класса.

См. также:

IMetabaseSaveDialog