IEaxAnalyzeCore.CreateDataSourceCache

Синтаксис Fore

CreateDataSourceCache(Database: IMetabaseObjectDescriptor): Boolean;

Синтаксис Fore.NET

CreateDataSourceCache(Database: Prognoz.Platform.Interop.Metabase.IMetabaseObjectDescriptor): boolean;

Параметры

Database. База данных репозитория, в которую будут сохранены кэшируемые данные.

Описание

Метод CreateDataSourceCache создает объект кэширования источника данных экспресс-отчета и возвращает результат его создания.

Комментарии

После использования метода CreateDataSourceCache выполните метод IEaxAnalyzeCore.RefreshDataSourceCache.

Метод возвращает результат выполнения операции создания объекта кэширования:

Пример Fore

Для выполнения примера предполагается наличие экспресс-отчета с идентификатором «Eax» и формы, содержащей кнопку с идентификатором «Button1».

Добавьте ссылки на системные сборки «Express» и «Metabase».

Пример является обработчиком события OnClick для компонента «Button1».

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    MB: IMetabase;
    Desc: IMetabaseObjectDescriptor;
    Eax: IEaxAnalyzer;
Begin
    MB := MetabaseClass.Active;
    Desc := MB.ItemById(
"DB");
    Eax := MB.ItemById(
"Eax").Edit As IEaxAnalyzer;
    Eax.ClearDataSourceCache;
    Debug.WriteLine(
"Создан: " + Eax.CreateDataSourceCache(Desc).ToString);
    Eax.RefreshDataSourceCache;
    Debug.WriteLine(
"Есть ли объект кэширования: " + Eax.IsDataSourceCacheExist.ToString);
    Debug.WriteLine(
"Название куба-источника: " + Eax.DataSourceCache.Parent.Name);
End Sub Button1OnClick;

После выполнения примера в базе данных с идентификатором «DB» для источника экспресс-отчета будет создан объект кэширования. В окне консоли будет выведен результат его создания, результат проверки на наличие объекта кэширования и название куба-источника.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.

Imports Prognoz.Platform.Interop.Express;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    MB: IMetabase;
    Desc: IMetabaseObjectDescriptor;
    Eax: IEaxAnalyzer;
Begin
    MB := Self.Metabase;
    Desc := MB.ItemById["DB"];
    Eax := MB.ItemById["Eax"].Edit() As IEaxAnalyzer;
    Eax.ClearDataSourceCache();
    System.Diagnostics.Debug.WriteLine("Создан: " + Eax.CreateDataSourceCache(Desc).ToString());
    Eax.RefreshDataSourceCache();
    System.Diagnostics.Debug.WriteLine("Есть ли объект кэширования: " + Eax.IsDataSourceCacheExist.ToString());
    System.Diagnostics.Debug.WriteLine("Название куба-источника: " + Eax.DataSourceCache.Parent.Name);
End Sub;

См. также:

IEaxAnalyzeCore