25.03.2021 Айдар Фархутдинов 28577
ИНДЕКСИРОВАТЬ ПО в запросе в системе 1С Предп...

Содержание:

1.       Что значит «индексировать»?

2.       В каких случаях используется индексированные данные?

3.       Работа с методом индексирования  


1.    Что значит «индексировать»?


В данной статье будет рассмотрена конструкция «ИНДЕКСИРОВАТЬ ПО» в запросах системы 1С:Предприятие 8.3, варианты её использования, ошибки разработчиков и методы индексирования. Все вышеперечисленное будет проиллюстрировано на реальных примерах.


Вначале для качественного понимания конструкции стоит заложить общие понятия. Итак, что значит «индексировать» в 1С? Индекс – это некоторый объект внутри базы данных, который создаётся ради увеличения эффективности отбора (поиска) данных. В базах данных встречаются довольно большие таблицы с тысячами, а то и миллионами строк, которые находятся в случайном порядке. Чтобы осуществить запрос по какому-то критерию и найти нужную строку нужно прождать немало времени, пока строки одна за другой будут перебираться. Формирование индекса происходит по нумерации столбцов в таблице, а также благодаря указателям. Повышение скорости в работе через индексы производится из-за его структуры, которая имеет оптимизацию для поиска (например, сбалансированное дерево (АВЛ-дерево – сбалансированное дерево, балансировка ведётся по высоте и дерево является двоичным, для любой из его вершин высота двух нижестоящих деревьев отличается на 1 или меньше, показано на рисунке ниже). Таким образом имеем, что индексация – это процесс поиска элемента по индексу, который существенно сокращает время запроса.


Сбалансированное дерево

Рис. 1 Сбалансированное дерево  


2.    В каких случаях используется индексированные данные?


Разработчики в 1С довольно редко используют конструкцию «ИНДЕКСИРОВАТЬ ПО». Возможно, это связано с тем, что большинство не знает её точного механизма работы. Принцип поиска «ИНДЕКСИРОВАТЬ ПО» стоит начинать использовать именно внутри полей временных таблиц, по этим полям раннее указанная таблица будет искать соединение с другими таблицами из различных баз данных. Как раз такая схема и повысит эффективность и скорость выполнения операции по соединению двух таблиц.


Примечание: стоит учитывать, что построение и написание участка кода, который включает индексированные данные – это тоже затрата времени, поэтому нецелесообразно использовать процедуру «ИНДЕКСАЦИЯ ПО», если строк большое количество (как минимум, должно быть тысяч 5 строк). В случае, когда эта конструкция была использована на маленькое количество строк, то временной эффект будет обратным – время для построения индекса окажется существенно больше, чем последующее быстродействие конструкции.  


3.    Работа с методом индексирования


Вначале система 1С:Предприятие 8.3 формирует для временной таблицы индекс как и обычно, только именно для временной таблицы.


Приведём пример, как выглядит данная конструкция в коде программы 1С. В нашем случае идёт поиск по базе с физическими лицами, где нас интересует их доход, смотреть скриншот ниже:


Конструкция метода индексирования в коде

Рис. 2 Конструкция метода индексирования в коде


Как видим, требования соблюдены: база с физическими лицами – это временная таблица, при этом база довольно большая, так что время будет сэкономлено.


В данной статье была рассмотрена конструкция «ИНДЕКСИРОВАТЬ ПО» в системе 1С:Предприятие 8.3, принцип индексации, случаи её необходимости и достаточности, а также пример написания данной процедуры внутри кода программы 1С, обоснована её уместность там.


Специалист компании «Кодерлайн»

Айдар Фархутдинов

Наши проекты

ООО "Смена"
ООО "Смена"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Комплексная автоматизация

Банк и касса
Расчеты с контрагентами
Торговые операции
Взаиморасчеты с...

ООО "СЖД"
ООО "СЖД"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Расчет зарплаты
Подбор кадров
Кадровый учет
Анализ кадрового состава...

ООО "АСК ИНЖИНИРИНГ"
ООО "АСК ИНЖИНИРИНГ"

Отрасль:
Машиностроение, приборостроение

Внедренное типовое решение:
1С:Документооборот ПРОФ

Делопроизводство
Учет и хранение документов
Ведение номенклатуры дел
...

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

Отрасль:
Фармацевтическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

ООО «ПраксисКом»
ООО «ПраксисКом»

Отрасль:
Аутсорсинг бухгалтерских услуг

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

- Взаиморасчеты с поставщиками
- Учет прихода ТМЦ
- Взаиморасчеты с поку...

Московский филиал ООО «Авиакомпания «Икар»
Московский филиал ООО «Авиакомпания «Икар»

Отрасль:
Авиаперевозки

Внедренное типовое решение:
1С:Зарплата и управление персоналом

Управление персоналом и кадровый учет (HRM) Кадровый учет Расчет зарплаты Рег...

Госкорпорация «Ростех»
Госкорпорация «Ростех»

Отрасль:
Производство, ТЭК >> Машиностроение, приборостроение

Внедренное типовое решение:
1С:Управление холдингом 1.3.

Специалисты «Кодерлайн» помогли разработать и внедрить автоматизированную...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в ООО «Шокостайл»
ООО «Шокостайл»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Планирование п...

Фирма 1С
Фирма 1С

Отрасль:

Внедренное типовое решение:
1С:Документооборот

- Подготовка функциональной модели прикладного решения «1С:Документооборот...

ООО "АСТАРМЕДИКА КЛИНИКА МИКРОХИРУРГИИ ГЛАЗА"
ООО "АСТАРМЕДИКА КЛИНИКА МИКРОХИРУРГИИ ГЛАЗА"

Отрасль:
Деятельность больничных организаций

Внедренное типовое решение:
БИТ:Управление медицинским центром 8

- Управление отношениями с клиентами (CRM)
- Делопроизводство
- Ведение но...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в
ИП Любо Виктория Александровна (ООО «Рекреация»)

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Осуществлены разработки:
– отчета по спецификации Заказа;
– загрузки сп...

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение