Здравствуйте, дорогие читатели.
Сегодня хочу поговорить об одной мелочи в СКД, которая может уменьшить время формирования отчета в зависимости от настроек пользователя, причем сам часто о ней забываю.
Пример.
Необходимо вывести остаток, резерв и количество заказанного товара в конфигурации УТ 11.1
В нашем примере получается простой запрос с выбором из нескольких таблиц с левым соединением.
Сделаем самую простую настройку: вывод детальных записей.
При настройке, которая указана на рисунке, будут выводится все поля. Когда выбираются все поля, то будут задействованы все таблицы запроса. Но допустим пользователю не нужен вывод колонки «Заказано».
При настройках по умолчанию также будет выполняться соединение с таблицей «ЗаказыПоставщикаОстатки», хотя нам этого не нужна. Чтобы СКД помочь выбросить из запроса лишнюю таблицу, необходимо дополнительная настройка. Данная настройка выполняется на закладке «Компоновка данных» в конструкторе запроса.
На закладке «Таблицы» необходимо в колонке «Обязательная» снять флажки на против таблиц, выводом данных которых, может управлять пользователь. Номер группы ВСЕГДА ДОЛЖЕН БЫТЬ РАЗНЫМ.
После такой настройки запрос примет следующий вид:
Все левые соединения будут заключены в фигурные скобки.
Вот при такой настройки СКД будет формировать запрос только с теми таблицами, данные которых захотел видеть пользователь, т.е. если поле «Заказано» не выбрано, то и левого соединения с таблицей «ЗаказыПоставщикамОстатки» не будет.
Популярность: 12%
Спасибо, немного прояснило.
Пожалуйста, рад что статья оказалось полезной
Спасибо, про «номер группы» таблиц в настройках компоновки не рассказывают даже на всем известном платном курсе по СКД