Перейти к содержанию

счет

Функция счет определяет количество элементов в списке.

Синтаксис

счет(элемент из список)

Параметры:

  • элемент — имя текущего элемента списка. Задаётся непосредственно в функции;
  • список — идентификатор спискового поля, количество элементов которого необходимо определить.

Например:

счет(товар из товары)

Здесь:

  • товары — идентификатор спискового поля в шаблоне;
  • товар — имя элемента списка, заданное непосредственно в функции.

Имя элемента можно выбрать самостоятельно. Оно используется только внутри выражения функции.

Возвращаемое значение

Функция возвращает целое число — количество элементов в списке.

Примеры

Подсчёт количества элементов списка

Допустим, в шаблоне есть списковое поле с идентификатором:

товары

Список содержит:

Позиция Наименование
1 Монитор
2 Клавиатура
3 Принтер
4 Мышь

Выражение:

счет(товар из товары)

вернёт:

4

Здесь:

  • товары — идентификатор спискового поля;
  • товар — имя элемента списка, заданное внутри функции счет.

Подсчёт элементов, соответствующих условию

Функцию счет можно применить к списку, полученному с помощью функции фильтровать.

Допустим, список товары содержит:

наименование стоимость
Монитор 15000
Клавиатура 800
Принтер 12000
Мышь 600

Нужно определить количество товаров стоимостью больше 5000.

Выражение:

счет(товар из фильтровать(позиция из товары, позиция.стоимость > 5000))

Здесь:

  • товары — идентификатор исходного спискового поля;
  • позиция — имя текущего элемента внутри функции фильтровать;
  • позиция.стоимость > 5000 — условие отбора элементов;
  • фильтровать(...) — возвращает новый список только с подходящими товарами;
  • товар — имя элемента отфильтрованного списка внутри функции счет.

После фильтрации останутся:

Монитор — 15000
Принтер — 12000

Поэтому функция счет вернёт:

2

Получение последнего элемента списка

Результат функции счет можно использовать как позицию элемента в функции индекс.

Допустим, в шаблоне есть списковое поле:

платежи

Каждый элемент списка содержит поле:

остаток

Нужно получить значение остаток из последнего элемента списка, при этом количество элементов заранее неизвестно.

Выражение:

индекс(платежи, счет(платеж из платежи)).остаток

Здесь:

  • платежи — идентификатор спискового поля;
  • платеж — имя элемента списка внутри функции счет;
  • счет(...) — возвращает количество элементов списка;
  • полученное число используется функцией индекс как позиция последнего элемента;
  • остаток — идентификатор вложенного поля, значение которого необходимо получить.

Например, если список содержит четыре элемента:

счет(платеж из платежи)

вернёт:

4

После этого выражение фактически будет соответствовать:

индекс(платежи, 4).остаток

и вернёт значение поля остаток из последнего элемента списка.