Table.SaveToBuffer

From SunFlurry wiki
Revision as of 08:54, 7 February 2021 by Admin (talk | contribs) (1 revision imported)
Jump to: navigation, search
  SaveToBuffer (Сохранение таблицы)
Объект:Электронная таблица
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в строку, число, неверные аргументы
Визуальность:Нет

Функция производит сохранение текущей таблицы в буфер в указанном формате с указанными установками. Внутренний SFT формат все данные хранит в виде строк, поэтому при сохранении в формат, хранящий числа не в текстовом формате (к примеру, в xls), система превращает текст ячейки в число автоматически при отсутствии в строке неверных знаков. Разрешены только знаки -,0..9, . и E, разделителем целой и дробной частей числа всегда принимается точка. Знаки `, пробел и ' также могут принадлежать числам, как разделители разрядов. Если число содержит неверные знаки, оно будет экспортировано как строка, без каких либо изменений. Также если число содержит ведущие нули (к примеру, 000000123456), оно будет экспортировано как строка. Программа экспорта не пытается определять даты и время, даты всегда будут экспортированы как строки.

Синтаксис

Table.SaveToBuffer(<Объект буфера (BUFFER)>,<Начальная позиция буфера (INT)>=0,<Формат (INT,STRING)>=0,<Установки (INT)>=0):<Размер в байтах, добавленный в буфер (INT)>

Аргументы

  • <Объект буфера (BUFFER)> - Аргумент задает объект буфера, куда будет производиться сохранение таблицы.
  • <Начальная позиция буфера (INT)> - (необязательный аргумент) Аргумент задает начальную позицию таблицы в буфере, если аргумент опущен, сохранение будет происходить с начала буфера.
  • <Формат (INT,STRING)> - (необязательный аргумент) Аргумент задает формат загружаемого файла в строковом или числовом виде. Доступны следующие значения:
    • 0 или SFT (по умолчанию) -- файл во внутреннем формате системы (sft)
    • 1 или XLS -- файл в формате Excel (xls)
    • 2 или XLSX -- (планируется к реализации) файл в формате Excel (xlsx)
  • <Установки (INT)> - (необязательный аргумент) Аргумент задает дополнительные установки при сохранении, и является битовой маской. Доступны следующие значения битов:
    • бит 0 -- запрет сохранения вместе с таблицей картинок, которые были загружены в таблицу с диска или из буфера. По умолчанию режим не активен. Режим может пригодиться, например, если сохраняемая таблица может содержать сканируемые картинки, которые не выгодно отправлять по Интернет для печати на удаленной стороне, и картинки будут передаваться отдельно и только в случае, если они уже не присутствуют на удаленной стороне.

Возвращаемое значение

Возвращает число -- размер таблицы, сохраненной в буфер.

Примеры

Т:=Table.Create();
Т.SetSourceName("Продажи");
Т.CopyByX("v1",1);
  
Строк:=0;
While З.Next(1) Do
  зДок:=З.Документ;
  If (зДок.DBName()<>"Реализация")And(зДок.DBName()<>"ВозвратОтПокупателя") Then
    Continue;
  EndIf;

  ...
    
  Т.CopyByX("v2",1);
EndDo;
 
аБуф:=Buffer.Create();
Т.SaveToBuffer(аБуф);

//Отправить буфер по TCP/IP
...