GetCubes(Mb: IMetabase; WithSettings: Boolean; WithCache: Boolean): IInMemCubes;
Mb. Репозиторий, в котором осуществляется поиск;
WithSettings. Признак наличия у куба собственных настроек файлового кеша;
WithCache. Признак наличия у куба сформированного файлового кеша.
Метод GetCubes получает список кубов репозитория, для которых заданы собственные настройки файлового кеша или сформирован файловый кеш.
Значения параметров WithSettings и WithCache объединяются по логическому «ИЛИ»:
если значение обоих параметров True, то будут выводится кубы, для которых есть настройки или есть кеш;
если значение параметр WithSettings = True, а параметра WithCache = False, то будут выводится все кубы с настройками;
если значение параметр WithSettings = False, а параметра WithCache = True, то будут выводится все кубы с записями кеша;
если значение обоих параметров False, то будут выводится кубы, у которых нет настроек или нет кешей.
Для выполнения примера в репозитории предполагается наличие нескольких кубов с настройками файлового кеша. Сами кубы закешированы.
Добавьте ссылки на системные сборки: Cubes, Metabase.
Sub UserProc;
Var
Mb: IMetabase;
InMem: IInMemManager;
Cubes: IInMemCubes;
Cube:IInMemCube;
Caches: IInMemCubeCaches;
Cache: IInMemCubeCache;
i: Integer;
Begin
Mb := MetabaseClass.Active;
// Инициализация менеджера для работы с кешем
InMem := New InMemManager.Create;
// Получение коллекции кешированных кубов репозитория
Cubes := InMem.GetCubes(Mb, True, True);
// Получение куба и его записи кеша
Cube := Cubes.Item(0);
Caches := Cube.Caches;
// Просмотр информации о записях кеша куба
For i := 0 To Caches.Count - 1 Do
Cache := Caches.Item(i);
Debug.WriteLine("Наименование куба, для которого создана запись: " + Cache.Cube.Name);
Debug.WriteLine("Повреждения записи кеша отсутствуют: " + Cache.CacheIsValid.ToString);
Debug.WriteLine("Дата и время создания записи: " + Cache.Created.ToString);
Debug.WriteLine("Ключ варианта отображения куба, для которого сформирован кеш" + Cache.DestinationKey.ToString);
Debug.WriteLine("Используемый объём дискового пространства: " + Cache.DiskUsed.ToString);
Debug.WriteLine("Параметры имеют значения: " + Cache.HasParamValues.ToString);
Debug.WriteLine("Запись сформирована по частичной отметке: " + Cache.HasPartialRestriction.ToString);
Debug.WriteLine("Идентификатор записи кеша: " + Cache.Id);
Debug.WriteLine("Тип блокировки записи кеша: " + Cache.LockType.ToString);
Debug.WriteLine("Количество точек в кешированной матрице куба: "+ Cache.MatrixCount.ToString);
Debug.WriteLine("Дата и время последнего обновления записи кеша: " + Cache.Updated.ToString);
End For;
End Sub UserProc;
При выполнении примера в окно консоли будут выведены информация о записи куба.
См. также: