Query.PostprocessLinear

From SunFlurry wiki
Jump to: navigation, search
  PostprocessLinear (Выполнение второго этапа запроса в линейном режиме)
Объект:Запрос базы данных
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в строку, неверные параметры
Визуальность:Нет

Функция запускает второй этап выполнения запроса, и должна выполняться после функции Execute с параметром Режим запроса равным нулю. Функция отдает таблицу результата запроса, если это необходимо. Если в процессе выполнения будет найдена ошибка, функция вызовет исключение. Второй этап будет выполнен в линейном режиме, для выполнения второго этапа запроса в обычном режиме, см. Postprocess.

Синтаксис

Query.PostprocessLinear(<Столбцы с объектами, загружаемыми в режиме заголовка (STRING)>=""):<Таблица результата запроса (TAB)>

Аргументы

  • <Столбцы с объектами, загружаемыми в режиме заголовка (STRING)> - (необязательный аргумент) Аргумент задает наименования столбцов через запятую, для которых загрузка объектов перед сортировкой объектов будет проходить в режиме только заголовков (экономия памяти), для всех объектов столбцов, которые не перечислены в данном аргументе, будет происходить полная загрузка. Режим загрузки объектов перед началом сортировки, во время выполнения второго этапа запроса, можно отменить, если во втором аргументе функции указан режим 0, либо с помощью опции постобработки DoNotMassLoadBeforeAggregation.

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

Возвращает таблицу значений -- результат выполнения запроса.

Примеры

//Заполним переменные в таблице запроса на основании средних за период формирования отчета, когда
// в накопителе фигурирует только количество
З:=Query.Create();
З.Execute(ТЗ,0);
aTab:=З.ResultTable;
aTab.Select();
While aTab.Next() Do
  зЦ0:=ПолучитьЦену(aTab.зН,НачДата);
  зЦ1:=ПолучитьЦену(aTab.зН,КонДата);
  aTab.зСмРасход:=aTab.зКлРасход*(зЦ1+зЦ0)/2;
  aTab.зСмНачОст:=aTab.зКлНачОст*(зЦ1+зЦ0)/2;
  aTab.зСмКонОст:=aTab.зКлКонОст*(зЦ1+зЦ0)/2;
  aTab.зСмПриход:=aTab.зКлПриход*(зЦ1+зЦ0)/2;
EndDo;
//Выполним загрузку объектов и сортировку, а затем вывод отчета в печатную форму
З.PostprocessLinear();