IMetabase.FetchItemById

Синтаксис Fore

FetchItemById(Id: String; [Namespace_:Integer = 0;][Options: Integer = 0]): IMetabaseObjectDescriptor;

Синтаксис Fore.NET

FetchItemById(Id: string; Namespace_: uinteger; Options: integer): Prognoz.Platform.Interop.Metabase.IMetabaseObjectDescrptor;

Параметры

Id. Идентификатор внутреннего объекта.

Namespace_. Пространство имён, в котором расположены указанные идентификаторы.

Options. Настройки типа отложенной загрузки описаний по идентификаторам.

Описание

Метод FetchItemByld возвращает описание объекта или объекта, для которого установлен признак отложенной загрузки описания, по идентификатору.

Комментарии

Примером внутреннего объекта с отложенной загрузкой описания является внутренняя модель цепочки расчета метамодели. Пример создания внутренней модели приведен в описании метода IMsCalculationChainEntries.AddExclusiveModel.

Тип связанных объектов, для которых необходимо загрузить описание, указывается в параметре Options. Если в памяти компьютера имеются кэшированные описания, то метод загрузит их оттуда.

Если для репозитория используется отложенная загрузка описаний, то при выполнении метода описание объекта будет кэшировано в памяти. При последующих обращениях описание будет взято из кэша компьютера. Однако для объектов, для которых установлен признак IMetabaseObjectDescriptor.IsDeferred, кэширование описаний производиться не будет. Работа с этими объектами будет производиться с помощью методов Fetch*.

Пример Fore

Для выполнения примера необходимо наличие в репозитории внутреннего объекта с идентификатором «Obj1». Подключите ссылку на системную сборку Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    MDesc: IMetabaseObjectDescriptor;
Begin
    MB := MetabaseClass.Active;
    MDesc := MB.FetchItemById("Obj1");
    If MDesc <> Null Then
        Debug.WriteLine(MDesc.Name);
    End If;
End Sub UserProc;

После выполнения примера в окне консоли среды разработки будет выведено наименование  внутреннего объекта с идентификатором «Obj1».

Пример Fore.NET

Для выполнения примера необходимо наличие в репозитории внутреннего объекта с идентификатором «Obj1». Подключите ссылку на системную сборку Metabase.

Imports Prognoz.Platform.Interop.Metabase;

Public Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MDesc: IMetabaseObjectDescriptor;
Begin
    MB := Params.Metabase;
    MDesc := MB.FetchItemById("Obj1");
    If MDesc <> Null Then
        System.Diagnostics.Debug.WriteLine(MDesc.Name);
    End If;
End Sub;

После выполнения примера в окне консоли среды разработки будет выведено наименование  внутреннего объекта с идентификатором «Obj1».

См. также:

IMetabase