VariableRubricatorDescriptor: IMetabaseObjectDescriptor;
VariableRubricatorDescriptor: Prognoz.Platform.Interop.Metabase.IMetabaseObjectDescriptor;
Свойство VariableRubricatorDescriptor возвращает описание внутренней БД временных рядов для метамодели.
В метамодели присутствует внутренняя БД временных рядов, если IMsMetaModelVisualController.HasVariableRubricator = True.
Для выполнения примера в репозитории должен присутствовать контейнер моделирования с идентификатором «MS», содержащий метамодель с идентификатором «META». Данная метамодель должна содержать внутреннюю БД временных рядов.
Добавьте ссылки на системные сборки «Metabase», «Ms», «Ui».
Sub RubricatorDescriptor;
Var
mb: IMetabase;
MsObj: IMetabaseObjectDescriptor;
Meta: IMsMetaModel;
MetaVisual: IMsMetaModelVisualController;
Target: IUiCommandTarget;
Begin
mb := MetabaseClass.Active;
MsObj := mb.ItemById("MS");
Meta := mb.ItemByIdNamespace("META", MsObj.Key).Bind As IMsMetaModel;
MetaVisual := Meta.VisualController;
If MetaVisual.HasVariableRubricator Then
Target := WinApplication.Instance.GetObjectTarget(MetaVisual.VariableRubricatorDescriptor);
Target.Execute("Object.Open", Null);
End If;
End Sub RubricatorDescriptor;
Результат выполнения примера: будет открыта внутренняя БД временных рядов для метамодели «META».
Необходимые требования и результат выполнения примера Fore.NET совпадают с необходимыми требованиями и результатом выполнения примера Fore.
Imports Prognoz.Platform.Interop.Ms;
Imports Prognoz.Platform.Interop.Ui;
…
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
MsObj: IMetabaseObjectDescriptor;
Meta: IMsMetaModel;
MetaVisual: IMsMetaModelVisualController;
Target: IUiCommandTarget;
Wa: IWinApplicationClass;
Begin
mb := Params.Metabase;
MsObj := mb.ItemById["MS"];
Meta := mb.ItemByIdNamespace["META", MsObj.Key].Bind() As IMsMetaModel;
MetaVisual := Meta.VisualController;
If MetaVisual.HasVariableRubricator Then
Wa := New WinApplicationClassClass();
Target := Wa.Instance[Null].GetObjectTarget(MetaVisual.VariableRubricatorDescriptor);
Target.Execute("Object.Open", Null, Null);
End If;
End Sub;
См. также: