TempDB.Gross1
| Gross1, Compute1 (Простой подсчет в таблице) | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
Функция вычисляет значение агрегации указанного столбца таблицы среди записей, входящих в указанный фильтр.
Синтаксис
TempDB.Gross1(<Наименование столбца (STRING)>,<Тип операции агрегации (STRING)>="SUM",<Стандартные фильтры>...):<Результат агрегации (NUMBER)>
Аргументы
<Наименование столбца (STRING)>- Аргумент задает наименование столбца, для которого необходимо выполнить операцию подсчета.<Тип операции агрегации (STRING)>- (необязательный аргумент) Аргумент задает тип операции, который необходимо выполнить над столбцом. Доступны следующие значения операций:- SUM (по умолчанию) -- будет найдена сумма указанного столбца по строкам, входящим в фильтр. Значения столбца должны иметь числовой тип данных.
- AVG -- будет найдено среднее значение указанного столбца из строк, входящим в фильтр. Значения столбца должны иметь числовой тип данных.
- MAX -- из всех значений столбца, входящих в фильтр, будет возвращено максимальное. Значения столбца могут иметь произвольный тип, в т.ч. тип базы данных, однако, максимальным будет не значение, наименование которого (или дата которого) имеют максимальное значение, а значение с максимальным внутренним кодом.
- MIN -- из всех значений столбца,входящих в фильтр, будет возвращено минимальное. Значения столбца могут иметь произвольный тип, в т.ч. тип базы данных, однако, минимальным будет не значение, наименование которого (или дата которого) имеют минимальное значение, а значение с минимальным внутренним кодом.
- COUNT -- будет возвращено количество строк, входящих в фильтр (равнозначно функции Size).
Примеры
//Фрагмент загружает во временную таблицу движения накопителя с определенными фильтрами и добавляет их сумму к переменной СмБухИтого
аТемп:=TempDB.Create("Сумма:NUMBER.15.2");
аТемп.LoadFrom("Stor.БухгалтерскиеСчета","?(@Expense=1,-Сумма,Сумма)->Сумма",
"@Date>=НачДата",
"@Date<КонДата",
"IsType(@LINK,Doc.РегистрацияВыпускаПродукции)",
"@LINK IN спРегистрации",
"(Счет=Сч20)And(Субконто1=сбПроизводство)And(Субконто2=сбЗатраты)And(isEmpty(Субконто3))");
СмБухИтого:=Round(СмБухИтого+аТемп.Gross1("Сумма"),2);