IMetabase.ItemById

Синтаксис

ItemById(Id: String): IMetabaseObjectDescriptor;

ItemById[Id: String]: Prognoz.Platform.Interop.Metabase.IMetabaseObjectDescriptor;

Параметры

Id. Идентификатор объекта репозитория.

Описание

Свойство ItemById возвращает описание объекта репозитория с указанным идентификатором.

Комментарии

В рамках репозитория все идентификаторы объектов уникальны. Объекты-контейнеры (репозиторий НСИ, контейнер моделирования, веб-приложение) имеют собственное пространство идентификаторов, поэтому в них могут быть созданы объекты с такими же идентификаторами, как и в репозитории.

Свойство ItemById вернёт описание объекта, если его идентификатор будет найден среди дерева объектов репозитория. Содержимое объектов-контейнеров при этом не учитываются. Для работы с объектами внутри объектов-контейнеров используйте свойство IMetabase.ItemByIdNamespace.

Свойство возвращает значение Null, если объект с указанным идентификатором не найден в дереве объектов репозитория.

Пример

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

Sub UserProc;
Var
    MB: IMetabase;
    MDesc: IMetabaseObjectDescriptor;
Begin
    MB := MetabaseClass.Active;
    MDesc := MB.ItemById("TestObj");
    If MDesc <> Null Then
        Debug.WriteLine(MDesc.Name);
    Else
        Debug.WriteLine("Объект отсутствует среди объектов репозитория. Возможно, он существует в одном из объектов - контейнеров.");
    End If;
End Sub UserProc;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MDesc: IMetabaseObjectDescriptor;
Begin
    MB := Params.Metabase;
    MDesc := MB.ItemById["TestObj"];
    If MDesc <> Null Then
        System.Diagnostics.Debug.WriteLine(MDesc.Name);
    Else
        System.Diagnostics.Debug.WriteLine("Объект отсутствует среди объектов репозитория. Возможно, он существует в одном из объектов - контейнеров.");
    End If;
End Sub;

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

См. также:

IMetabase