Внешние переменные — это переменные из области видимости процедуры или функции программного модуля, в теле которого используется данный запрос. Внешние переменные в тексте описания запроса могут использоваться в операторах Период С и Условие.
Пример:
Перем ДатаНач, ДатаКон;
Процедура Сформировать()
Если (Число(ДатаНач) = 0) ИЛИ (Число(ДатаКон) = 0) Тогда
Предупреждение("Не задан период!");
Возврат;
КонецЕсли;
// Создание объекта типа "Запрос"
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
| // используем внешние переменные ДатаНач и ДатаКон
|с ДатаНач по ДатаКон;
|Рез = ЖурналРасчетов.Зарплата.Результат;
|Сотр = ЖурналРасчетов.Зарплата.Объект;
|Группировка Сотр без групп;
|Группировка ПериодЖурнала;
|Функция Сум = Сумма(Рез);
|"//}}ЗАПРОС
;
// используем внешнюю переменную ВыбСотр
Если ВыбСотр.Выбран() = 1 Тогда
// используем в запросе внешнюю переменную ВыбСотр
ТекстЗапроса = ТекстЗапроса + "Условие(Сотр = ВыбСотр);";
КонецЕсли;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапр) = 0 Тогда
Возврат;
КонецЕсли;
...
КонецПроцедуры // ВыбСотр — это реквизит диалога