поискпоз
Функция поискпоз
используется для поиска первого подходящего элемента в списке и возвращает его порядковый номер.
📌 Применяется, когда нужно определить, в какой строке списка впервые встречается значение, удовлетворяющее условию.
Принцип работы:
-
Функция перебирает элементы указанного списка сверху вниз.
-
Для каждого проверяет выполнение условия.
-
Как только условие выполняется — возвращается номер строки.
-
Если подходящих элементов нет, ничего не возвращает.
Синтаксис
Общий синтаксис:
поискпоз(элемент из список, любое_условие)
Что это значит:
-
элемент
— имя текущей записи списка (можете назвать как угодно:элемент
,x
,_1
и т. п.). -
список
— поле-список, по которому идёт обход. -
любое_условие
— произвольная формула, которая выполняется для каждого элемента и должна возвращать число (позицию первой строки, которая удовлетворяет условию).
Элемент списка может быть двух видов:
-
СОСТАВНОЕ ПОЛЕ:
В качестве названия элемента списка передаётся временное имя текущего элемента списка (чаще всего — идентификатор самого составного поля).
-
Название элемента списка — это имя, через которое происходит обращение к каждому элементу. Вместо него можно использовать любое допустимое имя, например:
элемент1
,_2
,_элемент
и т.п.Соответственно, к полям, находящимся внутри составного поля, нужно обращаться с указанием этого имени. Например, если заменить
элемент
на_2
, то обращение к полю будет выглядеть так:_2.поле
-
Список — передается идентификатор списка, в котором находятся данные.
-
Условие — произвольное условие, которое будет выполнено для каждого элемента списка, например:
элемент.поле = "Комбинатор"
-
-
НЕ СОСТАВНОЕ ПОЛЕ
Когда элемент несоставной (десятичное или целое число, текст и т.д.), у него нет внутренних полей. Поэтому в название элемента списка программе нужен конкретный идентификатор поля.
-
Список — передается идентификатор списка, в котором находятся данные.
-
Название элемента списка — передается идентификатор поля, которое вы выбрали в качестве элемента списка. Всегда передаётся точный идентификатор.
-
Условие — произвольное условие, которое будет выполнено для каждого элемента списка, например:
элемент >= 5
-
Пример:
Задача: определить позицию первого товара, стоимость которого превышает 5 000 рублей.
Шаги:
-
Создайте поле типа «Список».
-
В качестве элемента списка выберите «Составное поле».
-
Добавьте в составное поле:
-
Текстовое поле —
наименование
-
Десятичное число —
стоимость
-
-
Вставьте метку в шаблон.
- В теле шаблона щёлкните правой кнопкой мыши и выберите: «Вставить метку» → «Значение».
-
Настройте функцию.
- Нажмите кнопку
f(x)
и выберите: «Работа со списками» → «поискПозиции».
- Нажмите кнопку
-
Укажите параметры:
-
Список:
список
. -
Название элемента списка:
данные
. -
Условие:
данные.стоимость > 5000
.
-
Результат
Функция возвращает целое число — номер строки, которая первой удовлетворяет заданному условию.