IImportRequestInstance.ImportCallback

Синтаксис Fore

ImportCallback: ICubeMetaloaderImportCallback;

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

ImportCallback: Prognoz.Platform.Interop.Cubes.ICubeMetaloaderImportCallback;

Описание

Свойство ImportCallback определяет объект, используемый для обработки событий, возникающих во время импорта временных рядов.

Комментарии

По умолчанию обработчик событий не используется, то есть свойство ImportCallback имеет значение Null.

Примечание. Значение свойства ImportCallback не сохраняется.

Обработчик реализуется в виде пользовательского класса, в котором должны быть переопределены все методы интерфейса ICubeMetaloaderImportCallback и который является наследником класса Object и интерфейса ICubeMetaloaderImportCallback. Если пользовательский класс является наследником классов Object и CubeMetaloaderImportCallback, то можно переопределить только требуемые метода класса CubeMetaloaderImportCallback.

Пример Fore

Для выполнения примера в репозитории предполагается наличие базы данных временных рядов с идентификатором «TSDB_I». Данная база должна содержать объект импорта с идентификатором «OBJ_IMPORT».

Добавьте ссылки на системные сборки: Cubes, Metabase. В Также в примере используется класс ImportCallBack, описание которого приведено в ICubeMetaloaderImportCallback.OnAfterStartTransaction.

Sub UserProc;
Var
    mb: IMetabase;
    TSDBKey: Integer;
    Inst: IImportRequestInstance;
    CallBack: ImportCallBack;
Begin
    // Получаем текущий репозиторий
    mb := MetabaseClass.Active;
    // Получаем ключ базы данных временных рядов
    TSDBKey := mb.GetObjectKeyById("TSDB_I");
    // Получаем параметры импорта временных рядов
    Inst := mb.ItemByIdNamespace("OBJ_IMPORT", TSDBKey).Open(NullAs IImportRequestInstance;
    // Не используем промежуточные транзакции
    Inst.DisableTransactions := True;
    // Создаем объект для обработки событий импорта
    CallBack := New ImportCallBack.Create;
    Inst.ImportCallback := CallBack;
    // Выполняем импорт данных
    Inst.LoadData;
End Sub UserProc;

В результате выполнения примера в базу данных временных рядов «TSDB_I» будет выполнен импорт данных по настройкам, заданным в объекте импорта «OBJ_IMPORT». Импорт будет выполнен за одну транзакцию.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Cubes;

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    TSDBKey: uinteger;
    Inst: IImportRequestInstance;
    CallBack: ImportCallBack;
Begin
    // Получаем текущий репозиторий
    mb := Params.Metabase;
    // Получаем ключ базы данных временных рядов
    TSDBKey := mb.GetObjectKeyById("TSDB_I");
    // Получаем параметры импорта временных рядов
    Inst := mb.ItemByIdNamespace["OBJ_IMPORT", TSDBKey].Open(NullAs IImportRequestInstance;
    // Не используем промежуточные транзакции
    Inst.DisableTransactions := True;
    // Создаем объект для обработки событий импорта
    CallBack := New ImportCallBack.Create();
    Inst.ImportCallback := CallBack;
    // Выполняем импорт данных
    Inst.LoadData();
End Sub;

См. также:

IImportRequestInstance