AllowMuchColumnDelimiter: Boolean;
Свойство AllowMuchColumnDelimiter определяет признак того, пропускать ли подряд идущие разделители. True - пропускать подряд идущие разделители, False - не пропускать.
Для выполнения примера предполагается наличие базы данных временных рядов с идентификатором «OBJ_RUBRICATOR» и файла экспорта показателей «C:\result.txt».
Sub Main;
Var
TextProvider: IDtTextProvider;
Provider: IDatasetDataProvider;
Mb: IMetabase;
RubDesc: IMetabaseObjectDescriptor;
CrInfo: IMetabaseObjectCreateInfo;
Obj: IMetabaseObject;
ObjDesc: IMetabaseObjectDescriptor;
ImportRequestDef: IImportRequestDefinition;
ImportRequestProviderParams: IImportRequestProviderParams;
Binding: ICubeMetaLoaderBinding;
Begin
// Источник данных для импорта из текстового формата
TextProvider := New DtTextProvider.Create;
TextProvider.File := "C:\result.txt";
TextProvider.FormatType := DtTextFormatType.Delimited;
TextProvider.DelimitedColumnDelimiter := ";";
TextProvider.DelimitedTextQualifier := """";
TextProvider.Encoding := "WIN";
TextProvider.RangeHasHeader := True;
TextProvider.HeaderRow := 2;
TextProvider.AllowMuchColumnDelimiter := True;
TextProvider.Open;
Mb := MetabaseClass.Active;
RubDesc := Mb.ItemById("OBJ_RUBRICATOR");
Provider := (TextProvider As IDatasetDataProvider);
// Объект импорта
CrInfo := Mb.CreateCreateInfo;
CrInfo.ClassId := MetabaseObjectClass.KE_CLASS_IMPORTREQUEST;
CrInfo.Id := "OBJ_IMPORTREQUEST_P";
CrInfo.Name := "Объект импорта";
CrInfo.Permanent := True;
CrInfo.Parent := RubDesc.Bind;
ObjDesc := Mb.CreateObject(CrInfo);
Obj := ObjDesc.Edit;
// Настройка источника
ImportRequestDef := Obj As IImportRequestDefinition;
ImportRequestDef.SourceType := ImportRequestSourceType.Provider;
ImportRequestDef.DestinationRubricator := RubDesc.Bind As IRubricator;
// Параметры импорта
ImportRequestProviderParams := ImportRequestDef.ProviderParams;
ImportRequestProviderParams.Provider := Provider;
ImportRequestProviderParams.NewRevisionName := "Импорт показателй";
ImportRequestProviderParams.ImportObjectKey := Obj.Key;
ImportRequestProviderParams.LoadType := CubeMetaLoaderLoadType.CreateAndUpdate;
Binding := ImportRequestProviderParams.Bindings.Add;
Binding.BindingType := CubeMetaLoaderBindingType.Calendar;
Binding.CalendarOptions.Levels := DimCalendarLevelSet.Year;
Binding.ByColumns := False;
Binding.CalendarDateFormat := "$Year$";
Obj.Save;
End Sub Main;
После выполнения примера будет создан объект импорта показателей из текстового файла «C:\result.txt». В данном объекте будут настроены параметры календаря. При импорте в качестве разделителя полей будет использоваться знак «;», в качестве ограничителя текста - знак двойные кавычки. Подряд идущие разделители будут пропущены. Из второй строки файла будут импортироваться наименования полей.
См. также: