Введение в язык запросов 1С

Курс

Объектная и табличная модели

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

С помощью объектной модели можно как записывать данные, так и читать. Но для чтения есть множество ограничений. Отборы можно накладывать только на код, наименование или индексированные реквизиты, за один раз можно обратиться только к одному источнику.

С помощью табличной модели можно только читать данные, но зато можно применять различные отборы, использовать несколько источников данных, группировать данные, выполнять различные манипуляции с выбранными реквизитами и т.п. Для этого используется Язык запросов 1С.

Язык запросов 1С и SQL

Язык запросов 1С очень сильно похож на язык SQL, если вы уже знакомы с языком SQL, то вам легко будет разобраться в языке запросов 1С.

Рассмотрим основные отличия:

  • В языке запросов 1С можно только выбирать данные из базы. Грубо говоря из SQL реализована только конструкция SELECT
  • В 1С в качестве выходного поля нельзя использовать другой запрос, зато можно выбрать табличную часть (будет представлена в виде вложенной таблицы)
  • Из языка запросов 1С нельзя обращаться к хранимым процедурам (stored procedure) и представлениям (view) СУБД
  • Зато в языке запросов 1С можно разыменовывать поля, например: Оплата.Контрагент.Наименование
  • В 1С добавлена конструкция ИТОГИ
  • Из языка запросов 1С нет доступа к таблицам СУБД. Есть только доступ к таблицам, которые предоставляет платформа 1С. А уже платформа транслирует запрос на языке запросов 1С в запрос на языке SQL.
  • В языке запросов 1С можно использовать как русский язык, так и английский.

Консоль запросов

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

Консоль запросов выглядит так:

В поле Текст запроса пишется сам запрос. В поле Результат запроса будет результат выполнения запроса. В верхнем поле указываются параметры запроса, к ним мы вернемся позже.

Если щелкнуть правой кнопкой в поле Текст запроса и выбрать Конструктор запроса… , то откроется окно конструктора запроса для визуального формирования текста запроса.

Мы не будем им пользоваться, чтобы лучше разобраться в языке запросов. Хотя на практике им очень удобно пользоваться. Но выучив язык запросов вы без труда разберетесь с ним сами.

Ссылки на консоль запросов:

Привет мир

Для начала напишем простой запрос, который выведет «Привет, мир»:

После ключевого слова ВЫБРАТЬ мы указали какое поле нужно выбрать. В данном случае это строковый литерал «Привет, мир». После ключевого слова КАК указали псевдоним поля. Результат выполнения:

Теперь напишем запрос посложнее и выберем дату, номер и сумму из документов оплаты:

Имя таблицы было указано после ключевого слова ИЗ. Оно формируется как <Вид объекта метаданных>.<Имя объекта метаданных>. Например, для справочника Товары имя таблицы выглядело бы следующим образом: Справочник.Товары. Для документа ПриходТовара так: Документ.ПриходТовара. Для таблицы после ключевого слова КАК был указан псевдоним ОплатаНаСчет, что позволило в полях выборки писать ОплатаНаСчет.Номер, ОплатаНаСчет.Дата, а не Документ.ОплатаНаСчет.Номер, Документ.ОплатаНаСчет.Дата.

Структура запроса

Запрос в 1С состоит из следующих частей:

  • Описание запроса
  • Объединение запросов
  • Упорядочивание результатов
  • Автоупорядочивание
  • Описание итогов

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

В свою очередь секция описания запроса включает в себя:

  • Поля выборки
  • Используемые таблицы и соединения
  • Условия
  • Группировки

Комментарии в запросе

Как видно из примеров выше, в запросе тоже можно использовать комментарии. Как и во встроенном языке 1С комментарии указываются после двойного слэша «//». При компиляции запроса комментарии не учитываются.


Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Здесь может быть Ваша реклама
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

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