VariableRubricator: IRubricator;
VariableRubricator: Prognoz.Platform.Interop.Cubes.IRubricator;
Свойство VariableRubricator возвращает внутреннюю базу данных временных рядов для метамодели.
В метамодели присутствует внутренняя БД временных рядов, если IMsMetaModelVisualController.HasVariableRubricator = True.
Для выполнения примера предполагается наличие формы, содержащей кнопку «Button1». В репозитории должна присутствовать база данных временных рядов с идентификатором «FC», содержащая во внутреннем каталоге моделирования метамодель с идентификатором «META».
Добавьте ссылки на системные сборки «Metabase», «Ms», «Cubes», «Ui».
Пример является обработчиком события OnClick для кнопки.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
mb: IMetabase;
Rub: IRubricator;
Ms: IMetabaseObjectDescriptor;
Meta: IMsMetaModel;
MetaVisual: IMsMetaModelVisualController;
Target: IUiCommandTarget;
Begin
mb := MetabaseClass.Active;
Rub := mb.ItemById("FC").Bind As IRubricator;
Ms := Rub.ModelSpace;
Meta := mb.ItemByIdNamespace("META", Ms.Key).Bind As IMsMetaModel;
MetaVisual := Meta.VisualController;
If MetaVisual.HasVariableRubricator Then
Target := WinApplication.Instance.GetObjectTarget(MetaVisual.VariableRubricator As IMetabaseObjectDescriptor);
Target.Execute("Object.Open", Null);
End If;
End Sub Button1OnClick;
Результат выполнения примера: будет открыта внутренняя база данных временных рядов для метамодели «META» (если метамодель содержит внутреннюю БД временных рядов).
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Ms;
Imports Prognoz.Platform.Interop.Ui;
…
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
mb: IMetabase;
Rub: IRubricator;
Ms: IMetabaseObjectDescriptor;
Meta: IMsMetaModel;
MetaVisual: IMsMetaModelVisualController;
Target: IUiCommandTarget;
Wa: IWinApplicationClass;
Begin
mb := Self.Metabase;
Rub := mb.ItemById["FC"].Bind() As IRubricator;
Ms := Rub.ModelSpace;
Meta := mb.ItemByIdNamespace["META", Ms.Key].Bind() As IMsMetaModel;
MetaVisual := Meta.VisualController;
If MetaVisual.HasVariableRubricator Then
Wa := New WinApplicationClassClass();
Target := Wa.Instance[Null].GetObjectTarget(MetaVisual.VariableRubricator As IMetabaseObjectDescriptor);
Target.Execute("Object.Open", Null, Null);
End If;
End Sub;
См. также: