сумм
Функция сумм вычисляет сумму числовых значений элементов списка.
Синтаксис
сумм(элемент из список, выражение)
Параметры:
элемент— имя текущего элемента списка. Задаётся непосредственно в функции и используется в выражении;список— идентификатор спискового поля;выражение— числовое значение или выражение, результаты которого необходимо сложить.
Имя текущего элемента можно выбрать самостоятельно. Оно используется только внутри функции.
Список с простыми элементами
Если список содержит числовые значения, в выражении используется текущий элемент.
Например:
сумм(число из списокЧисел, число)
Здесь:
списокЧисел— идентификатор спискового поля;число— имя текущего элемента списка;- второе
число— значение, которое участвует в расчёте суммы.
Список с составными элементами
Если элементы списка являются составными полями, в выражении указывается нужное числовое поле.
Например:
сумм(товар из товары, товар.количество)
Здесь:
товары— идентификатор спискового поля;товар— имя текущего элемента;количество— идентификатор вложенного числового поля;товар.количество— значение, которое участвует в расчёте суммы.
Возвращаемое значение
Функция возвращает сумму результатов выражения для всех элементов списка.
Примеры
Общее количество товаров
Допустим, в шаблоне есть списковое поле:
товары
Каждый элемент списка является составным полем и содержит:
наименование— название товара;количество— количество товара.
Исходные данные:
наименование |
количество |
|---|---|
| Монитор | 2 |
| Клавиатура | 5 |
| Принтер | 1 |
| Мышь | 10 |
Чтобы определить общее количество товаров, используйте:
сумм(товар из товары, товар.количество)
Здесь:
товары— идентификатор спискового поля;товар— имя текущего элемента внутри функциисумм;количество— идентификатор вложенного поля;товар.количество— значение, которое прибавляется к общей сумме.
Функция сложит значения:
2 + 5 + 1 + 10
и вернёт:
18
Расчёт общей стоимости товаров
В качестве второго параметра можно использовать вычисляемое выражение.
Допустим, список товары содержит поля:
наименование— название товара;стоимость— стоимость одной единицы;количество— количество товара.
Исходные данные:
наименование |
стоимость |
количество |
|---|---|---|
| Монитор | 15000 | 2 |
| Клавиатура | 800 | 5 |
| Принтер | 12000 | 1 |
| Мышь | 600 | 10 |
Чтобы рассчитать общую стоимость всех товаров:
сумм(товар из товары, товар.стоимость * товар.количество)
Для каждого элемента сначала вычисляется стоимость позиции:
наименование |
Расчёт | Результат |
|---|---|---|
| Монитор | 15000 × 2 |
30000 |
| Клавиатура | 800 × 5 |
4000 |
| Принтер | 12000 × 1 |
12000 |
| Мышь | 600 × 10 |
6000 |
После этого функция складывает полученные значения:
30000 + 4000 + 12000 + 6000
Результат:
52000