IMetabase.FetchItem

Синтаксис

FetchItem(Key: Integer; [Options: Integer = 0]): IMetabaseObjectDescriptor;

FetchItem(Key: uinteger; Options: integer): Prognoz.Platform.Interop.Metabase.IMetabaseObjectDesriptor;

Параметры

Key. Ключ внутреннего объекта;

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

Описание

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

Комментарии

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

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

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

Пример

Для выполнения примера необходимо наличие в репозитории внутреннего объекта с ключом 123.

Добавьте ссылку на системную сборку Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    ObjDesc: IMetabaseObjectDescriptor;
Begin
    MB:= MetabaseClass.Active;
    ObjDesc:= MB.FetchItem(123);
    Debug.WriteLine (ObjDesc.Name);
End Sub UserProc;

Public Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    ObjDesc: IMetabaseObjectDescriptor;
Begin
    MB := Params.Metabase;
    ObjDesc := MB.FetchItem(1230);
    System.Diagnostics.Debug.WriteLine(ObjDesc.Name);
End Sub;

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

См. также:

IMetabase