SAVEDATASET — различия между версиями

Материал из GB wiki
Перейти к: навигация, поиск
Строка 26: Строка 26:
 
*Separator - строка, разделитель полей в текстовом файле
 
*Separator - строка, разделитель полей в текстовом файле
 
*Header - строка, первая строка (или несколько строк) в текстовом файле
 
*Header - строка, первая строка (или несколько строк) в текстовом файле
 +
*Header - строка, последняя строка (или несколько строк) в текстовом файле
 
*Unicode - число, значение 1 - сохранять файл в Unicode (работает только для текстовых файлов)
 
*Unicode - число, значение 1 - сохранять файл в Unicode (работает только для текстовых файлов)
 
}}
 
}}

Версия 08:07, 5 декабря 2011

Сохраняет датасет в файл.

Синтаксис

SAVEDATASET (Имя датасета,Имя файла,Имя датасета параметров)

Аргументы

Имя датасета
строка, имя сохраняемого датасета
Имя файла
строка, имя файла
Имя датасета параметров
строка или ассоциативный массив, имя или описание датасета, хранящего параметры экспорта в формат txt или dbf. Если параметр не указан, датасет сохраняется в формат CDS.

Параметры экспорта:

  • Type - строка, тип файла (TXT, DBF)
  • FieldsMap - строка, список формул вида имя,тип=выражение через ";", определяющих поля создаваемого dbf-файла и их вычисление через поля датасета. Типы полей dbf:
    • Cxx - строка длиной xx
    • Nx.y - число, x символов в целой части и y в дробной
    • D8 - дата
    • L - логическое
Для выгрузки в текстовый файл имена и типы полей не нужны, поэтому FieldsMap представляет собой просто последовательность выражений
  • Filter - выражение для фильтрации строк датасета
  • Append - число, значение 1 - дописывание записей в существующий файл (работает только для DBF файлов)
  • CharSet - значение CP866 включает кодировку DOS
  • Separator - строка, разделитель полей в текстовом файле
  • Header - строка, первая строка (или несколько строк) в текстовом файле
  • Header - строка, последняя строка (или несколько строк) в текстовом файле
  • Unicode - число, значение 1 - сохранять файл в Unicode (работает только для текстовых файлов)

Тип результата

Нет

Примеры

SaveDataSet(`ds`,`c:\1.dbf`,`Type,S="DBF"|CharSet,S="WIN1251"|FieldsMap,S="Id,N10=Id;TotalSum,N10.2=TotalSum;DocNumber,C20=DocNumber;Printed,L=Heap.@Printed"`)
SaveDataSet(`ds`,`c:\1.txt`,`Type,S="TXT"|CharSet,S="WIN1251"|FieldsMap,S="Id;FormatFloat('0.00',TotalSum);DocNumber"`)