Заметки о СКД. Оптимизация выбора данных

Здравствуйте, дорогие читатели.

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

Пример.
Необходимо вывести остаток, резерв и количество заказанного товара в конфигурации УТ 11.1

В нашем примере получается простой запрос с выбором из нескольких таблиц с левым соединением.

Заметки о СКД.Запрос

Сделаем самую простую настройку: вывод детальных записей.

Заметки о СКД.Настройка

При настройке, которая указана на рисунке, будут выводится все поля. Когда выбираются все поля, то будут задействованы все таблицы запроса. Но допустим пользователю не нужен вывод колонки «Заказано».

Заметки о СКД.Настройка пользователя

При настройках по умолчанию также будет выполняться соединение с таблицей «ЗаказыПоставщикаОстатки», хотя нам этого не нужна. Чтобы СКД помочь выбросить из запроса лишнюю таблицу, необходимо дополнительная настройка. Данная настройка выполняется на закладке «Компоновка данных» в конструкторе запроса.

Заметки о СКД.Настройка оптимизация

На закладке «Таблицы» необходимо в колонке «Обязательная» снять флажки на против таблиц, выводом данных которых, может управлять пользователь. Номер группы ВСЕГДА ДОЛЖЕН БЫТЬ РАЗНЫМ.

После такой настройки запрос примет следующий вид:

Заметки о СКД.Запрос оптимизация

Все левые соединения будут заключены в фигурные скобки.

Вот при такой настройки СКД будет формировать запрос только с теми таблицами, данные которых захотел видеть пользователь, т.е. если поле «Заказано» не выбрано, то и левого соединения с таблицей «ЗаказыПоставщикамОстатки» не будет.

Популярность: 16%

Запись опубликована в рубрике Отчеты (работа СКД) с метками . Добавьте в закладки постоянную ссылку.

2 комментария на «Заметки о СКД. Оптимизация выбора данных»

  1. Gorus говорит:

    Спасибо, немного прояснило.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *