IInMemManager.GetDimension

Синтаксис

GetDimension(DimensionObj: IMetabaseObject): IDimInstance;

GetDimension(DimensionObj: Prognoz.Platform.Interop.Metabase.IMetabaseObject): Prognoz.Platform.Interop.Dimensions.IDimInstance;

Параметры

DimensionObj. Справочник репозитория.

Описание

Метод GetDimension возвращает данные указанного справочника из кэша.

Пример

Для выполнения примера предполагается наличие в репозитории справочника с идентификатором «D_FACTS».

Добавьте ссылки на системные сборки: Cubes, Dimensions. Metabase.

Sub UserProc;
Var
    Mb: IMetabase;
    MObj: IMetabaseObject;
    InMem: IInMemManager;
    DimInst: IDimInstance;
Begin
    Mb := MetabaseClass.Active;
    MObj := Mb.ItemById(
"D_FACTS").Bind;
    InMem := 
New InMemManager.Create;
    
If InMem.CheckHasDimension(MObj) Then
        DimInst := InMem.GetDimension(MObj);
        Debug.WriteLine(
"Количество элементов: " + DimInst.Elements.Count.ToString);
    
End If;
End Sub UserProc;

Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Metabase;

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
    MObj: IMetabaseObject;
    InMem: InMemManager = 
New InMemManagerClass();
    DimInst: IDimInstance;
Begin
    Mb := Params.Metabase;
    MObj := Mb.ItemById[
"D_FACTS"].Bind();
    
If InMem.CheckHasDimension(MObj) Then
        DimInst := InMem.GetDimension(MObj);
        System.Diagnostics.Debug.WriteLine(
"Количество элементов: " + DimInst.Elements.Count.ToString());
    
End If;
End Sub;

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

См. также:

IInMemManager