SAVEDATASET — различия между версиями
Материал из GB wiki
Bars (обсуждение | вклад) |
Alexey (обсуждение | вклад) |
||
(не показано 5 промежуточных версий 3 участников) | |||
Строка 23: | Строка 23: | ||
*Filter - выражение для фильтрации строк датасета | *Filter - выражение для фильтрации строк датасета | ||
*Append - число, значение 1 - дописывание записей в существующий файл (работает только для DBF файлов) | *Append - число, значение 1 - дописывание записей в существующий файл (работает только для DBF файлов) | ||
− | *CharSet - значение CP866 включает кодировку DOS | + | *CharSet - строка, значение `CP866` включает кодировку DOS, `UTF-8` включает кодировку UTF-8, `WIN1251` включает кодировку WIN1251 |
*Separator - строка, разделитель полей в текстовом файле | *Separator - строка, разделитель полей в текстовом файле | ||
*Header - строка, первая строка (или несколько строк) в текстовом файле | *Header - строка, первая строка (или несколько строк) в текстовом файле | ||
− | * | + | *Footer - строка, последняя строка (или несколько строк) в текстовом файле |
− | *Unicode - число, значение 1 - сохранять файл в Unicode (работает только для текстовых файлов | + | *Unicode - число, значение 1 - сохранять файл в Unicode (UTF-16), работает только для текстовых файлов |
}} | }} | ||
|Пример=<nowiki>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"`)</nowiki><br/> | |Пример=<nowiki>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"`)</nowiki><br/> | ||
<nowiki>SaveDataSet(`ds`,`c:\1.txt`,`Type,S="TXT"|CharSet,S="WIN1251"|FieldsMap,S="Id;FormatFloat('0.00',TotalSum);DocNumber"`)</nowiki> | <nowiki>SaveDataSet(`ds`,`c:\1.txt`,`Type,S="TXT"|CharSet,S="WIN1251"|FieldsMap,S="Id;FormatFloat('0.00',TotalSum);DocNumber"`)</nowiki> | ||
}} | }} |
Текущая версия на 10:47, 7 августа 2019
Сохраняет датасет в файл.
Синтаксис
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, `UTF-8` включает кодировку UTF-8, `WIN1251` включает кодировку WIN1251
- Separator - строка, разделитель полей в текстовом файле
- Header - строка, первая строка (или несколько строк) в текстовом файле
- Footer - строка, последняя строка (или несколько строк) в текстовом файле
- Unicode - число, значение 1 - сохранять файл в Unicode (UTF-16), работает только для текстовых файлов
Тип результата
- Нет
Примеры
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"`)