Довідковий матеріал

Обмеження при використанні динамічних списків

1.1. Під час розробки інтерфейсу розробник може використовувати групування в динамічних списках (див. Групування у списках). Розробник може:

Абстрактна схема групування записів: невеликий набір карток упорядковано за індексованими рівнями, а глибоке розкриття великої структури обмежено.

1.1. Під час розробки інтерфейсу розробник може використовувати групування в динамічних списках (див. Групування у списках).
Розробник може:

  • установити в налаштуваннях динамічного списку групування за замовчуванням;
  • додати до форми спеціальні елементи керування (команди меню, поля вибору для «швидкого» групування тощо), які надають користувачеві можливість установлювати групування.

У цьому стандарті перелічено умови, яких повинен дотриматися розробник, якщо він тим чи іншим способом керує групуваннями динамічних списків.

1.2. Користувач за допомогою налаштування списку може встановити власні групування – у цьому випадку прикладний розробник не може (і не повинен) гарантувати оптимальну продуктивність.

1.3. Використання групувань рекомендується в тих динамічних списках, у яких свідомо невелика кількість записів (не більше кількох сотень). Невелика кількість записів може забезпечуватися відбором, застосованим у запиті динамічного списку, або відбором, що застосовується до динамічного списку у формі та дію якого користувач не може скасувати.

1.4. У динамічних списках, які відображають таблиці з великою кількістю записів, групування може здійснюватися лише за проіндексованими полями.

Вимога пов'язана з такими особливостями роботи динамічного списку. Для побудови групування динамічному списку необхідно вибрати всі унікальні з таблиці бази даних значення поля, за яким будується групування. Потім виконується сортування та виведення користувачеві. Коли користувач розкриває значення групування, динамічний список вибирає всі записи таблиці із заданим значенням у полі.

1.5. Допускається робити багаторівневі групування в динамічних списках лише за дотримання таких умов:

  • поле, за яким здійснюється перше групування, має бути проіндексоване;
  • поле, за яким здійснюється перше групування, повинно мати хорошу селективність (тобто кожному значенню цього поля має відповідати невелика кількість записів у таблиці бази даних);

Ці вимоги пов'язані з тим, що розкриття користувачем наступних (після першого) групувань динамічний список виконуватиме вже без використання індексів, за всіма елементами, відібраними за першим групуванням.

1.6. Не рекомендується робити групування за полями, які є характеристиками об'єкта метаданих. Це обмеження пов'язане з тим, що під час виведення характеристик виконується ЛІВЕ З'ЄДНАННЯ з таблицею характеристик, тому запит із відбором за однією характеристикою буде неефективним навіть за наявності індексу (у будь-якому разі буде сканування за головною таблицею).

2. Для ієрархічних списків не рекомендується встановлювати властивість НачальноеОтображениеДерева у значення РаскрыватьВсеУровни, оскільки це призведе до критичного зниження швидкості відкриття великих списків. Слід використовувати значення НеРаскрывать або РаскрыватьВерхнийУровень.

Додаткову інформацію про особливості динамічних списків можна отримати в документації щодо платформи (див. Динамічний список)

Записатися телефоном