IEtlPlainDataProvider.FillFromSource

Синтаксис

FillFromSource;

Описание

Метод FillFromSource заполняет поля выхода на основании структуры файла-источника. При вызове метода поля источника будут очищены, а затем заполнены на основании структуры файла-источника.

Пример

Для выполнения примера в репозитории необходимо наличие задачи ETL с идентификатором «ETL» и файла «c:\TestDocument.xls», который будет источником данных.

Sub UserProc;

Var

Metabase : IMetabase;

MObj: IMetabaseObject;

EtlTask: IEtlTask;

EtlProvider: IEtlPlainDataProvider;

ExcelProvider: IDtExcelProvider;

Begin

Metabase := MetabaseClass.Active;

MObj := Metabase.ItemById("ETL").Edit;

EtlTask := MObj As IEtlTask;

//Создание объекта "Импорт из Excel"

EtlProvider := EtlTask.Create(EtlObjectType.PlainDataExcelProvider) As IEtlPlainDataProvider;

EtlProvider:= EtlProvider.Edit;

EtlProvider.Id:= "File_XLS";

EtlProvider.Name:= "Источник данных XLS";

//Настройка источника данных

ExcelProvider := EtlProvider.Provider As IDtExcelProvider;

ExcelProvider.File := "c:\TestDocument.xls";

ExcelProvider.DriverVersion := "Excel 8.0";

ExcelProvider.Query := "select * from [Лист1$]";

EtlProvider.FillFromSource;

EtlProvider.Save;

//Cоздание визуального объекта

CreateWX(EtlProvider, EtlTask);

MObj.Save;

End Sub UserProc;

 

Sub CreateWX(CopyObj: IEtlPlainDataProvider; etltask: IEtltask);

Var

WxDataTrans : IWxRectangle;

WxETLDataTrans : IWxEtlObject;

Begin

WxDataTrans := EtlTask.Workspace.CreateRectangle;

WxDataTrans.Id := CopyObj.Id;

WxETLDataTrans := New WxEtlObject.Create;

WxETLDataTrans.EtlObject := CopyObj;

WxDataTrans.Style.TextPosition := WxTextPosition.Bottom;

WxDataTrans.Style.PictureMarginTop := -10;

WxDataTrans.PinPosition := New GxPointF.Create(20, 20);

WxDataTrans.Extension := WxETLDataTrans As IWxShapeExtension;

End Sub CreateWX;

После выполнения примера (UserProc) для задачи ETL будет создан источник данных XLS, поля выхода которого будут соответствовать имеющимся полям в файле TestDocument.xls на первом листе.

См. также:

IEtlPlainDataProvider