Автор: Batchir 09.02.09, 23:03
У набора данных - запрос в схеме компоновки данных есть свойство АвтоЗаполнениеДоступныхПолей. В данной статье мы рассмотрим, что происходит, если данное свойство установлено.
Свойство АвтоЗаполнениеДоступныхПолей указывает, что система должна самостоятельно сделать доступными поля, описанные в запросе.
При автоматическом заполнении:
- Поля списка выборки запроса верхнего уровня становятся доступными для отбора, порядка, выбора, группировки. Заметим, что доступность поля будет определяться по его типу. Например, поле неограниченной длины не может быть использовано в качестве поля группировки.
- Поля виртуальных таблиц, на которые можно наложить условия в параметрах этих таблиц становятся доступными для отбора.
- Параметры виртуальных таблиц становятся доступными параметрами.
Разберем примеры. Примеры будем рассматривать на регистре РегистрНакопления.УчетНоменклатуры из демонстрационной базы "Примеры 8.1", у которого есть два измерения: Номенклатура и Склад и один ресурс: Количество.
Рассмотрим, какие поля и параметры будут доступны при автоматическом заполнении для следующего запроса:
ВЫБРАТЬ
УчетНоменклатурыОбороты.Номенклатура,
УчетНоменклатурыОбороты.КоличествоОборот,
УчетНоменклатурыОбороты.КоличествоПриход,
УчетНоменклатурыОбороты.КоличествоРасход
ИЗ
РегистрНакопления.УчетНоменклатуры.Обороты КАК УчетНоменклатурыОбороты
Поля Номенклатура, КоличествоОборот, КоличествоПриход, КоличествоРасход будут доступны для отбора, порядка, группировки, выбора.
Поле Склад, хотя явно не присутствует в запросе, будет доступно для отбора, т.к. на него можно наложить отбор в параметрах виртуальной таблицы.
В доступные параметры из данного запроса попадут параметры НачалоПериода и КонецПериода, т.к. их можно указывать в виртуальной таблице.
В случае если в запросе в виртуальной таблице указаны имена параметров, то доступны будут параметры именно с указанными именами. Например, в следующем запросе, доступными будут параметры Начало и Конец вместо НачалоПериода и КонецПериода:
ВЫБРАТЬ
УчетНоменклатурыОбороты.Номенклатура,
УчетНоменклатурыОбороты.КоличествоОборот,
УчетНоменклатурыОбороты.КоличествоПриход,
УчетНоменклатурыОбороты.КоличествоРасход
ИЗ
РегистрНакопления.УчетНоменклатуры.Обороты({&Начало}, {&Конец}) КАК УчетНоменклатурыОбороты