Difference between revisions of "Query.CreateFromTable"
(Created page with "{{infobox function |name=CreateFromTable |object=Запрос базы данных |caption=Создание запрос...") |
m (1 revision imported) |
(No difference)
|
Latest revision as of 07:52, 7 February 2021
CreateFromTable (Создание запроса из таблицы значений) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция создает объект запроса из существующей линейной таблицы значений. Таким образом полностью будет пропущен первый этап выполнения запроса. Запрос создается с заданными группировками и столбцами агрегации.
Синтаксис
Query.CreateFromTable(<Таблица для создания результата запроса (TAB)>,<Столбцы группировки с настройками (STRING)>,<Столбцы агрегации с операциями (STRING)>,<Режим запроса (INT)>=1):<Новый объект запроса (QUERY)>
Аргументы
<Таблица для создания результата запроса (TAB)>
- Аргумент, имеющий тип таблица значений, служащий для создания запроса. Внимание: таблица будет использована, как основа запроса, она не будет скопирована. Дальнейшие изменения в таблице будут равнозначны изменениям таблицы результата обычного запроса.<Столбцы группировки с настройками (STRING)>
- Список столбцов группировки запроса через запятую с дополнительными суффиксами. Формат записи информации о столбце следующий:<Наименование столбца>[[ Horizontal][ With Folders Ref.<Наименование справочника>]]
. Суффикс Horizontal создает горизонтальную группировку (по умолчанию все группировки вертикальные), Суффикс With Folders создает дополнительную группировку по папкам справочника. Необходимо также указать справочник, по папкам которого происходит группировка.<Столбцы агрегации с операциями (STRING)>
- Список столбцов для выполнения агрегации с дополнительными суффиксами операций. (планируется к реализации) В текущей реализации суффиксы не принимаются и будет выполняться только агрегация суммированием.<Режим запроса (INT)>
- (необязательный аргумент) Задает режим выполнения запроса, возможны следующие значения:- 1 (по умолчанию) -- Выполнить постобработку в режиме обычного запроса.
- 2 -- Выполнить постобработку в линейном режиме
Возвращаемое значение
Возвращает новый объект запроса, созданный на основе таблицы.
Примеры
//Пример выполняет простой запрос к логам базы данных за период с НачДата по КонДата и превращает результат в объект запроса Var З Export; //Функция обхода группировок на основе рекурсии Function ОбходГруппировок(Уровень) If Уровень>З.GroupCount Then Exit; EndIf; While З.Next(Уровень) Do //Получить значение текущей группировки зЭл:=З.Get(З.Groups(Уровень)); //Вывод информации в печатную форму отчета ... //Перейти к следующей группировке ОбходГруппировок(Уровень+1); EndDo; EndFunction //Стр1 -- список переменных фильтра //Стр2 -- их значения (список переменных со значениями фильтров) //СтрГруппы -- список группировок запроса, выбранных оператором Стр1:=... Стр2:=... СтрГруппы:=... aTab:=Eval("Logs.Query(НачДата,КонДата,,"""+Стр1+""","+Стр2+")"); З:=Query.CreateFromTable(aTab,СтрГруппы,""); //Вывести заголовок в печатную форму отчета ... //Вывод строк группировок ОбходГруппировок(1); //Вывод строки итого ...