VariableDictionary: IRdsDictionary;
VariableDictionary: Prognoz.Platform.Interop.Rds.IRdsDictionary;
Свойство VariableDictionary возвращает справочник, содержащий информацию о внутренних переменных метамодели.
Внутреннюю базу данных временных рядов для метамодели возвращает свойство IMsMetaModelVisualController.VariableRubricator.
Для выполнения примера в репозитории должен присутствовать контейнер моделирования с идентификатором «MS», содержащий метамодель с идентификатором «META». Данная метамодель должна содержать внутреннюю БД временных рядов.
Добавьте ссылки на системные сборки «Metabase», «Ms», «Ui».
Sub VariableDictionary;
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.VariableDictionary As IMetabaseObjectDescriptor);
Target.Execute("Object.Open", Null);
End If;
End Sub VariableDictionary;
Результат выполнения примера: будет открыт справочник, содержащий информацию о внутренних переменных метамодели «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.VariableDictionary As IMetabaseObjectDescriptor);
Target.Execute("Object.Open", Null, Null);
End If;
End Sub;
См. также: