TempDB.Gross1

From SunFlurry wiki
Jump to: navigation, search
  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);