Команда Object.Open

Назначение

Открытие объекта.

Параметры использования

Параметры команды передаются в свойстве Data. Для работы команды в данном свойстве необходимо указать следующее значение:

Тип значения Описание
IMetabaseObjectParamValues Значения параметров, с которыми будет производиться открытие объекта.

Особенности применения

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

Пример 1

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием "Button1" и объекта репозитория с идентификатором "Table_1", поддерживающего открытие объекта.

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    Mb: IMetabase;
    ObjDes: IMetabaseObjectDescriptor;
    Target: IUiCommandTarget;
Begin
    MB := MetabaseClass.Active;
    ObjDes := MB.ItemById("Table_1");
    Target := WinApplication.Instance.GetObjectTarget(ObjDes);
    Target.Execute("Object.Open"Null);
End Sub Button1OnClick;

При нажатии на кнопку будет открыт объект с идентификатором "Table_1".

Пример 2

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием "Button1" и объекта репозитория с идентификатором "Query_1", поддерживающего открытие объекта и содержащего один дополнительный параметр.

Sub Button1OnClick(Sender: Object; Args: IEventArgs);
Var
    Mb: IMetabase;
    ObjDes: IMetabaseObjectDescriptor;
    Params: IMetabaseObjectParamValues;
    Target: IUiCommandTarget;
    Context: IUiCommandExecutionContext;
Begin
    MB := MetabaseClass.Active;
    ObjDes := MB.ItemById("Query_1");
    Params := ObjDes.Params.CreateEmptyValues;
    Params.Item(0).Value := 200;
    Target := WinApplication.Instance.GetObjectTarget(ObjDes);
    Context := Target.CreateExecutionContext;
    Context.Data := Params;
    Target.Execute("Object.Open", Context);
End Sub Button1OnClick;

При нажатии на кнопку будет открыт объект с идентификатором "Query_1". Для параметра объекта будет установлено значение "200".

Пример 3

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием "Button1" и объекта репозитория с идентификатором "Query_1", поддерживающего открытие объекта и содержащего дополнительные параметры.

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    Mb: IMetabase;
    ObjDes: IMetabaseObjectDescriptor;
    Target: IUiCommandTarget;
    Context: IUiCommandExecutionContext;
Begin
    MB := MetabaseClass.Active;
    ObjDes := MB.ItemById("Query_1");
    Target := WinApplication.Instance.GetObjectTarget(ObjDes);
    Context := Target.CreateExecutionContext;
    Context.ExecutionMode := UiCommandExecutionMode.PromptUser;
    Target.Execute("Object.Open", Context);
End Sub Button1OnClick;

При нажатии на кнопку будет открыт объект с идентификатором "Query_1". Перед открытием будет выведен диалог установки значений параметров данного объекта.

См. также:

IUiCommandTarget.Execute