Difference between revisions of "Query.PostprocessLinear"
(Created page with "{{infobox function |name=PostprocessLinear |object=Запрос базы данных |caption=Выполнение вто...") |
m (1 revision imported) |
(No difference)
|
Latest revision as of 07:52, 7 February 2021
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();