IMetabaseCache.FlushInstanceById

Синтаксис

FlushInstanceById(Id: String; Values: IMetabaseObjectParamValues): Boolean;

Параметры

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

Values. Значения параметров объекта.

Описание

Метод FlushInstanceById очищает кэш объекта репозитория по его идентификатору и заданным значениям параметров.

Комментарии

FlushInstance возвращает значение True, если очистка кэша прошла успешно.

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

Пример

Для выполнения примера предполагается наличие в репозитории параметрического табличного справочника с идентификатором «OBJ_TBL_DICT». Первый параметр данного справочника должен быть вещественного типа. Также необходимо добавить ссылку на системную сборку «Metabase».

    Sub UserSub;
    Var
        Mb: IMetabase;
        Cache: IMetabaseCache;
        Obj: IMetabaseObject;
        ParamVals: IMetabaseObjectParamValues;
    Begin
        Mb := MetabaseClass.Active;
        Cache := Mb.Cache;
        Obj := Mb.ItemById("OBJ_TBL_DICT").Bind;
        ParamVals := Obj.Params.CreateEmptyValues;
        ParamVals.Item(0).Value := 66;
        Cache.FlushInstanceById("OBJ_TBL_DICT", ParamVals);
    End Sub UserSub;

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

См. также:

IMetabaseCache