IMetabase.FetchItemById

Syntax

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

Parameters

Id. Identifier of internal object.

Namespace_. A namespace in which the specified identifiers are located.

Options. Settings of the lazy loading of descriptions type by identifiers.

Description

The FetchItemByld method returns the description of the object or the object, for which the lazy loading of description attribute is set by the identifier.

Comments

The example of the internal object with the lazy loading of description is the internal model of the metamodel calculation chain. The example of internal model creation is given in description of the IMsCalculationChainEntries.AddExclusiveModel.

The type of linked objects which require to download the description is specified in the Options parameter. If the computer memory contains cached descriptions, the method will load them.

If the repository uses lazy loading of descriptions, on execution of the method the object description is cached in memory. On the following requests the description will be taken from the computer cache. However, for the objects for which the IMetabaseObjectDescriptor.IsDeferred attribute is set, descriptions will not be cached. Working with these objects will be performed by the Fetch* methods.

Example

Executing the example requires that the repository contains an internal object with the Obj1 identifier.

Add a link to the Metabase system assembly.

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;

After executing the example the development environment console displays name of internal object with the Obj1 identifier.

See also:

IMetabase