У набора данных - запрос в схеме компоновки данных есть свойство АвтоЗаполнениеДоступныхПолей. В данной статье мы рассмотрим, что происходит, если данное свойство установлено.

Свойство АвтоЗаполнениеДоступныхПолей указывает, что система должна самостоятельно сделать доступными поля, описанные в запросе.

При автоматическом заполнении:
  • Поля списка выборки запроса верхнего уровня становятся доступными для отбора, порядка, выбора, группировки. Заметим, что доступность поля будет определяться по его типу. Например, поле неограниченной длины не может быть использовано в качестве поля группировки.
  • Поля виртуальных таблиц, на которые можно наложить условия в параметрах этих таблиц становятся доступными для отбора.
  • Параметры виртуальных таблиц становятся доступными параметрами.
Разберем примеры. Примеры будем рассматривать на регистре РегистрНакопления.УчетНоменклатуры из демонстрационной базы "Примеры 8.1", у которого есть два измерения: Номенклатура и Склад и один ресурс: Количество.

Рассмотрим, какие поля и параметры будут доступны при автоматическом заполнении для следующего запроса:



ВЫБРАТЬ
УчетНоменклатурыОбороты.Номенклатура,
УчетНоменклатурыОбороты.КоличествоОборот,
УчетНоменклатурыОбороты.КоличествоПриход,
УчетНоменклатурыОбороты.КоличествоРасход
ИЗ
РегистрНакопления.УчетНоменклатуры.Обороты КАК УчетНоменклатурыОбороты


Поля Номенклатура, КоличествоОборот, КоличествоПриход, КоличествоРасход будут доступны для отбора, порядка, группировки, выбора.
Поле Склад, хотя явно не присутствует в запросе, будет доступно для отбора, т.к. на него можно наложить отбор в параметрах виртуальной таблицы.
В доступные параметры из данного запроса попадут параметры НачалоПериода и КонецПериода, т.к. их можно указывать в виртуальной таблице.

В случае если в запросе в виртуальной таблице указаны имена параметров, то доступны будут параметры именно с указанными именами. Например, в следующем запросе, доступными будут параметры Начало и Конец вместо НачалоПериода и КонецПериода:



ВЫБРАТЬ
УчетНоменклатурыОбороты.Номенклатура,
УчетНоменклатурыОбороты.КоличествоОборот,
УчетНоменклатурыОбороты.КоличествоПриход,
УчетНоменклатурыОбороты.КоличествоРасход
ИЗ
РегистрНакопления.УчетНоменклатуры.Обороты({&Начало}, {&Конец}) КАК УчетНоменклатурыОбороты