1С индексирование таблицы значений

1С индексирование таблицы значений

Возвращает индекс строки таблицы значений

Синтаксис

Метод Индекс() имеет следующий синтаксис:

А также альтернативный англоязычный синтаксис:

Параметры

Описание параметров метода Индекс() :

Имя параметра Тип Описание
Строка СтрокаТаблицыЗначений Строка таблицы значений, для которой нужно определить индекс.
Жирным шрифтом выделены обязательные параметры

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

Число
Индекс указанной строки таблицы значений.

Описание

Метод Индекс() возвращает индекс указанной строки в коллекции строк таблицы значений. Если строка не найдена, возвращается -1.

Доступность

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).

Пример использования

Пример кода с использованием метода Индекс() :

Для ситуации вида:

будут созданы два простых индекса. Для создания составного индекса его поля следует перечислить через запятую. Платформа не использует левую часть индекса, следовательно для быстрого поиска по разным комбинациям полей надо создавать свои индексы.

Для более быстрого поиска в базах данных было придумано свойство индекс. При использовании таблиц значений мы также можем создавать индексы для произвольных колонок.
Например, у нас есть таблица с колонками «Номенклатура, Цена, ЕдиницаИзмерения». И если мы часто ищем в таблице строки с какой-то номенклатурой, то лучше эту колонку проиндексировать и тогда программа не будет каждый раз перебирать все строки, а будет использовать индекс.
Чтобы создать индекс применяется метод «Индекс», в параметрах которого передается строка в которой перечисляются индексируемые колонки.
Код 1C v 8.х
Т.к. индексируемых колонок может быть несколько, то возможна и такая запись:
Код 1C v 8.х
Когда индекс создан, то при использовании методов таблицы значений «Найти» или «НайтиСтроки» будет использоваться созданный нами индекс.

А для поиска в таблице значений существует два специальных метода: первый Найти
Код 1C v 8.х
Данный метод возвращает первую найденную строку с искомым значением или Неопределено, если не находит. Поэтому его удобно использовать для поиска уникальных значений, т.к. иначе придется при нахождении значения удалять его из таблицы, чтобы найти следующее.
Чтобы так не мучиться существует следующий метод, который позволяет находить массив подходящих строк НайтиСтроки
Код 1C v 8.х
Этот метод всегда возвращает массив, но он может быть и пустой, если ничего не найдено. И ещё этот метод также как и предыдущий возвращает сами строки таблицы значений, а не сами значения в отдельном массиве. Поэтому изменив значения в строке массива или как в предыдущем методе у найденной строки, Вы поменяете значение в обрабатываемой таблице значений.

Читайте также:  Xiaomi mi router r2d

Чем ещё хорош этот метод, так это то, что он может искать сразу по нескольким колонкам таблицы значений одновременно:
Код 1C v 8.х
Единственный минус, как видно, нельзя применять другие виды сравнения кроме как "равно"

Ссылка на основную публикацию
Adblock detector