Переменная запроса — это короткий идентификатор, который связывается с данными, получаемыми из базы. Если представить выборку данных в табличном виде, то переменные будут колонками таблицы, а выбранные данные — строками.
Переменные запроса могут использоваться в других местах запроса: группировках, условиях и агрегатных функциях.
В общем случае синтаксис определения переменной выглядит так:
ИмяПеременной = ПутьКДанным[, ПутьКДанным, ...]
где: ИмяПеременной
— любой строковый идентификатор, удовлетворяющий правилам написания идентификаторов встроенного языка. В качестве имени переменно нельзя использовать зарезервированные ключевые слова языка запросов:
Без | Год | Групп |
Группировка | День | Документ |
И | Или | Квартал |
Когда | Месяц | Неделя |
НомерСтроки | Обрабатывать | ОбрабатыватьДокументы |
Период | ПериодЖурнала | ОбрабатыватьОперации |
По | С | СтрокаДокумента |
Упорядочить | Условие | Функция |
ПутьКДанным
— полный путь к данным, включающий тип объекта встроенного языка, вид объекта конфигурации и имя реквизита. Запрос можно построить только к объектам конфигурации табличного типа: Справочники, Документы и т.п. С подробным перечнем типов объектов встроенного языка можно ознакомиться в Приложении Б. Имена типов данных встроенного языка.
Пример переменных запроса:
Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура; Количество = Регистр.ОстаткиТМЦ.Количество;
Тип переменной (тип колонки результата запроса) определяется ее содержимым. Например, переменная Номенклатура
имеет тип «Справочник.Номенклатура», на который ссылается измерение регистра «Номенклатура».
Наверное, Вы обратили внимание, что в описании переменной можно указать сразу несколько объектов. Это не случайно: язык запросов 1С 7.7 позволяет объединять однотипные данные из разных таблиц. Например, переменная вида:
Номенклатура = Документ.Поступление.Товар, Документ.Продажа.Товар;
позволяет выбрать все товары, встречающиеся в документах поступления и продажи.
Внимание! Переменная должна указывать на объекты одного типа. Нельзя присваивать одной переменной, например, Справочник и Документ. Но, можно присваивать справочники разных видов или документы разных видов. В этом случае тип переменной будет неопределенного вида (справочник неопределенного вида, документ неопределенного вида).
Кроме имен реквизитов объектов в пути к данными можно использовать следующие предопределенные реквизиты таблиц:
Имя реквизита | Англ. синоним | Описание |
---|---|---|
Справочники | ||
Код | Code | Код элемента или группы |
Наименование | Name | Наименование элемента или группы |
Родитель | Parent | Родитель элемента или группы иерархического справочника |
Владелец | Owner | Владелец элемента |
ТекущийЭлемент | CurItem | Текущий элемент справочника как объект |
Документы | ||
ДатаДок | DocDate | Дата документа |
ВремяДок | DocTime | Время документа |
НомерДок | DocNum | Номер документа |
НомерСтроки | LineNum | Номер строки табличной части документа |
ТекущийДокумент | CurDocument | Текущий документ как объект |
Регистры | ||
НомерСтроки | LineNum | Числовой номер строки документа, к которому привязана запись регистра |
ТекущийДокумент | CurDocument | Документ, который выполнил движение по регистру |
Читайте также:
Работа со справочником в запросе