Система компоновки данных
15.07.2009

Особенности работы с параметрами виртуальных таблиц

Параметр запроса

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

Пример:

Копировать в буфер обмена
РегистрНакопления.Продажи.Обороты(&Начало)

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

Параметр компоновки данных

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

Пример:

Копировать в буфер обмена
РегистрНакопления.Продажи.Обороты({&НачалоПериода})

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

Совместное использование параметра запроса и параметра компоновки данных

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

Пример:

Копировать в буфер обмена
РегистрНакопления.Продажи.Обороты(&Начало {&НачалоПериода})

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

Параметры при автоматическом заполнении полей набора данных

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

Таким образом, запись:

Копировать в буфер обмена
РегистрНакопления.Продажи.Обороты(&Начало)

соответствует следующей:

Копировать в буфер обмена
РегистрНакопления.Продажи.Обороты(&Начало {&НачалоПериода}, {&КонецПериода})

И значение параметра &Начало используется только в случае если в настройках не установлено значение параметра &НачалоПериода.