#std489¶
Ограничения при использовании динамических списков¶
1.1.¶
При разработке интерфейса можно использовать группировки в динамических списках (см. #std609: Группировки в списках).
Разработчик может:
- задать группировки по умолчанию в настройках динамического списка;
- добавить на форму специальные элементы управления (команды меню, поля выбора для «быстрой» группировки и т.п.), которые позволяют пользователю устанавливать группировки.
Ниже перечислены условия, которые нужно соблюдать, если разработчик управляет группировками динамических списков.
1.2.¶
Пользователь может установить свои группировки через настройку списка. В этом случае прикладной разработчик не может и не должен гарантировать оптимальную производительность.
1.3.¶
Группировки рекомендуется использовать в динамических списках, где заведомо небольшое количество записей (не более нескольких сотен).
Небольшой объем может обеспечиваться:
- отбором в запросе динамического списка;
- отбором в форме, который пользователь не может отменить.
1.4.¶
В динамических списках, которые показывают большие таблицы, группировку выполняйте только по индексированным полям.
Причина: для построения группировки динамический список получает все уникальные значения поля, сортирует их и выводит пользователю. При раскрытии группы выбираются все записи с соответствующим значением поля.
1.5.¶
Многоуровневые группировки допустимы только если:
- поле первой группировки индексировано;
- поле первой группировки достаточно селективно (каждому значению соответствует небольшое число записей).
Иначе раскрытие следующих уровней группировки будет выполняться без индексов по всем записям, отобранным первым уровнем.
1.6.¶
Не рекомендуется делать группировки по полям, которые являются характеристиками объекта метаданных.
При выводе характеристик используется ЛЕВОЕ СОЕДИНЕНИЕ
с таблицей характеристик,
поэтому отбор по одной характеристике
будет неэффективен даже при наличии индекса
(все равно выполняется сканирование основной таблицы).
2.¶
Для иерархических списков
не рекомендуется устанавливать
НачальноеОтображениеДерева = РаскрыватьВсеУровни.
Это критично снижает скорость открытия больших списков. Используйте значения:
НеРаскрывать;РаскрыватьВерхнийУровень.
Дополнительная информация по особенностям динамических списков: Документация платформы. Динамический список.
3.¶
Строку поиска в командной панели динамического списка допустимо отключать, если она не используется в основных сценариях поиска. См. Строку поиска в командной панели динамического списка.
Например, в списке номенклатуры важен поиск по части артикула, а механизм строки поиска этого не поддерживает.
Это ограничение связано с тем, что почти всегда поиск (когда используется полнотекстовый поиск) работает только с начала слов.
В версиях платформы 1С:Предприятие 8.3.7 и ниже
у механизма были дополнительные ограничения
(например, в выдачу не попадали еще не проиндексированные элементы).
Чтобы отключить строку поиска в командной панели, установите для динамического списка:
ПоложениеСтрокиПоиска = Нет;ПоложениеУправленияПоиском = Нет.
Для форм, созданных в более старых версиях платформы,
значение Нет уже установлено по умолчанию.