ImportCallback: ICubeMetaloaderImportCallback;
ImportCallback: Prognoz.Platform.Interop.Cubes.ICubeMetaloaderImportCallback;
Свойство ImportCallback определяет объект, используемый для обработки событий, возникающих во время импорта временных рядов.
По умолчанию обработчик событий не используется, то есть свойство ImportCallback имеет значение Null.
Примечание. Значение свойства ImportCallback не сохраняется.
Обработчик реализуется в виде пользовательского класса, в котором должны быть переопределены все методы интерфейса ICubeMetaloaderImportCallback и который является наследником класса Object и интерфейса ICubeMetaloaderImportCallback. Если пользовательский класс является наследником классов Object и CubeMetaloaderImportCallback, то можно переопределить только требуемые метода класса CubeMetaloaderImportCallback.
Для выполнения примера в репозитории предполагается наличие базы данных временных рядов с идентификатором «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(Null) As IImportRequestInstance;
// Не используем промежуточные транзакции
Inst.DisableTransactions := True;
// Создаем объект для обработки событий импорта
CallBack := New ImportCallBack.Create;
Inst.ImportCallback := CallBack;
// Выполняем импорт данных
Inst.LoadData;
End Sub UserProc;
В результате выполнения примера в базу данных временных рядов «TSDB_I» будет выполнен импорт данных по настройкам, заданным в объекте импорта «OBJ_IMPORT». Импорт будет выполнен за одну транзакцию.
Необходимые требования и результат выполнения примера 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(Null) As IImportRequestInstance;
// Не используем промежуточные транзакции
Inst.DisableTransactions := True;
// Создаем объект для обработки событий импорта
CallBack := New ImportCallBack.Create();
Inst.ImportCallback := CallBack;
// Выполняем импорт данных
Inst.LoadData();
End Sub;
См. также: