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