Примеры индексирования таблицы значений

Примеры индексирования таблицы значений на языке программирования 1С:Предприятие. Примеры позволяют быстро разобраться в вопросе и использовать код в своих разработках

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

<!— создание таблицы значений —>
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить(«Код»);
Таблица.Колонки.Добавить(«Наименование»);

// добавление индекса по полю «Код»
Таблица.Индексировать(«ИндексКод», Таблица.Колонки.Найти(«Код»));

// проверка наличия индекса
Если Таблица.Индексы.Найти(«ИндексКод») <> Неопределено Тогда
Сообщить(«Индекс по полю ‘Код’ успешно создан»);
КонецЕсли;

Индексация по нескольким полям

Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить(«Код»);
Таблица.Колонки.Добавить(«Наименование»);
Таблица.Колонки.Добавить(«Дата»);

// создание индекса по двум полям
Таблица.Индексировать(«ИндексДатаКод», Таблица.Колонки.Найти(«Дата»), Таблица.Колонки.Найти(«Код»));

// проверка наличия индекса
Если Таблица.Индексы.Найти(«ИндексДатаКод») <> Неопределено Тогда
Сообщить(«Индекс по полям ‘Дата’ и ‘Код’ успешно создан»);
КонецЕсли;

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

Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить(«Код»);
Таблица.Колонки.Добавить(«Наименование»);

// создание индекса с сортировкой по возрастанию
Таблица.Индексировать(«ИндексКод», Таблица.Колонки.Найти(«Код»), Истина);

// проверка наличия индекса
Если Таблица.Индексы.Найти(«ИндексКод») <> Неопределено Тогда
Сообщить(«Индекс по полю ‘Код’ с сортировкой успешно создан»);
КонецЕсли;

Индексация с учетом регистра

Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить(«Код»);
Таблица.Колонки.Добавить(«Наименование»);

// создание индекса с учетом регистра символов
Таблица.Индексировать(«ИндексНаименование», Таблица.Колонки.Найти(«Наименование»), Истина, Истина);

// проверка наличия индекса
Если Таблица.Индексы.Найти(«ИндексНаименование») <> Неопределено Тогда
Сообщить(«Индекс по полю ‘Наименование’ с учетом регистра успешно создан»);
КонецЕсли;

Индексация с фильтром значений

Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить(«Код»);
Таблица.Колонки.Добавить(«Наименование»);

// создание индекса с фильтром
Таблица.Индексировать(«ИндексКод», Таблица.Колонки.Найти(«Код»), Фильтр = Таблица.Колонки.Найти(«Код») >= «100»);

// проверка наличия индекса
Если Таблица.Индексы.Найти(«ИндексКод») <> Неопределено Тогда
Сообщить(«Индекс по полю ‘Код’ с фильтром успешно создан»);
КонецЕсли

Поделиться с друзьями
Smirnov code
Добавить комментарий