Открытие диалога для задания значений дополнительных атрибутов.
Параметры команды передаются в свойстве IUiCommandExecutionContext.Data. Для работы команды в данном свойстве укажите значения:
Тип значения | Описание |
Элемент 1: IMsModel | Стандартная модель. |
Элемент 2: IRubricator | База данных временных рядов. |
Открытие диалога «Значения атрибутов» доступно для стандартных моделей, если источником данных моделируемой переменной является база данных временных рядов.
Для выполнения примера предполагается наличие формы, содержащей кнопку с идентификатором Button1.
В репозитории предполагается наличие контейнера моделирования с идентификатором MS_PLUGIN, содержащего стандартную модель с идентификатором DIMITERATOR. Источником данных моделируемой переменной является база данных временных рядов с идентификатором TSDB.
Добавьте ссылки на системные сборки: Cubes, Fore, Metabase, Ms, UI.
Пример является обработчиком события OnClick для кнопки Button1.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
Mb: IMetabase;
MsKey: Integer;
Model: IMsModel;
Rubricator: IRubricator;
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
Arg: array Of Variant;
Begin
// Получаем текущий репозиторий
Mb := MetabaseClass.Active;
// Получаем модель
MsKey := Mb.GetObjectKeyById("MS_PLUGIN");
Model := Mb.ItemByIdNamespace("DIMITERATOR", MsKey).Edit As IMsModel;
// Получаем базу данных временных рядов
Rubricator := Mb.ItemById("TSDB").Edit As IRubricator;
// Получаем плагин Ms
Target := WinApplication.Instance.GetPluginTarget("Ms");
// Создаём контекст для выполнения команды
Context := Target.CreateExecutionContext;
// Создаём массив параметров команды
Arg := New Variant[2];
Arg[0] := Rubricator;
Arg[1] := Model;
// Передаём массив параметров команды
Context.Data := Arg;
// Выполняем команду
Target.Execute("ShowAdditionalAttributesDialog", Context);
End Sub Button1OnClick;
В результате выполнения примера при нажатии на кнопку Button1 отобразится диалог для задания значений дополнительных атрибутов.
См. также: