11. Механизмы построения отчетности
#7

Готовишься к экзамену?

Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.

Перейти в бота

При настройке наборов данных в схеме компоновки данных установленный флаг "Автозаполнение" означает:

поля списка выборки запроса верхнего уровня становятся доступными для отбора, порядка, выбора, группировки (за исключением полей ряда типов)
Неправильно: Это описание верно, но оно отражает только одну часть поведения автозаполнения. В реальности при включенном флажке СКД также добавляет доступные поля/параметры виртуальных таблиц, поэтому одним пунктом смысл не исчерпывается.
поля виртуальных таблиц не вошедшие в список выбранных, но на которые можно наложить условия в параметрах этих таблиц, становятся доступными для отбора
Неправильно: Такой эффект действительно появляется: автозаполнение «поднимает» в доступные поля то, что можно передавать в параметры виртуальных таблиц и использовать как ограничение. Однако это лишь один из результатов автозаполнения и сам по себе не является полным ответом на вопрос.
параметры периодов виртуальных таблиц становятся доступными параметрами
Неправильно: Это справедливо для запросов с виртуальными таблицами регистров (остатки/обороты и т.п.): при автозаполнении параметры периода появляются в списке параметров схемы. Но автозаполнение не сводится только к параметрам периода - оно еще формирует доступные поля для настроек отчета.
Верны варианты 1 и 2
Неправильно: Пункты 1 и 2 описывают часть поведения, но они не учитывают автоматическое появление параметров виртуальных таблиц (в том числе периодов) в параметрах СКД. Поэтому вариант 4 неполный и не может считаться единственно правильным.
Верны все варианты
Правильно: При включенном «Автозаполнении» СКД автоматически формирует доступные поля на основе запроса: поля списка выборки становятся доступными для настроек (отбор/сортировка/группировки и т.д.), добавляются доступные поля/ограничения виртуальных таблиц, а параметры виртуальных таблиц (включая период) становятся параметрами схемы.

Пояснение

Флажок «Автозаполнение» у набора данных в СКД означает, что платформа сама «собирает» список доступных полей и параметров, исходя из текста запроса, чтобы их можно было использовать в настройках отчета без ручного добавления. Что именно происходит при автозаполнении: 1) Поля из SELECT (верхнего уровня) автоматически попадают в доступные поля схемы и могут использоваться в пользовательских настройках: отбор, сортировка, группировки, вывод в колонки. При этом некоторые типы полей могут иметь ограничения (например, поля, которые нельзя корректно группировать/сортировать или которые не предназначены для вывода). 2) Если в запросе используются виртуальные таблицы (например, остатки/обороты регистров), то автозаполнение делает доступными для отбора не только то, что вы явно выбрали в SELECT, но и те поля, которые можно передавать как параметры виртуальной таблицы (например, «Организация», «Склад», «Номенклатура»), даже если вы их не выводите в список выбранных. 3) Параметры виртуальных таблиц (особенно периодические) при автозаполнении становятся параметрами СКД. Типовой эффект: в параметрах схемы появляются значения вроде «НачалоПериода/КонецПериода» (или «Период» - в зависимости от виртуальной таблицы), которые затем можно связать с параметрами отчета и дать пользователю управлять периодом. Практический пример: Вы строите отчет по виртуальной таблице «ОстаткиИОбороты» регистра. В запросе выбираете только Номенклатуру и КоличествоОборот, но в параметрах виртуальной таблицы задаете Организацию и Период. При включенном «Автозаполнении»: - «Номенклатура» и «КоличествоОборот» автоматически появятся в доступных полях (их можно выводить, группировать, сортировать); - «Организация» станет доступной для отбора как ограничение виртуальной таблицы (даже если ее не выводить в колонках); - параметры периода виртуальной таблицы появятся на вкладке параметров СКД, и их можно вынести пользователю как «Период отчета». Лучшие практики: - Держите автозаполнение включенным на этапе разработки, когда запрос часто меняется: это экономит время и снижает риск забыть добавить поле/параметр. - Если схема «обросла» лишними полями и настройки отчета стали перегруженными, автозаполнение можно отключить и оставить только нужные поля вручную. - После изменения текста запроса полезно обновить автозаполненные поля (в конструкторе СКД), чтобы доступные поля/параметры соответствовали актуальной версии запроса.