Основные понятия.
Язык запросов СУБД (система управления базами данных) необходим пользователям для извлечения из базы данных информации об объектах, выбранных в заданном объеме, по заданным критериям, отсортированным в заданном порядке и тп.
База данных — некий набор таблиц с данными, которые могут быть связаны между собой.
Запрос — это одно предложение языка запросов.
Платформа «1С:Предприятие 8» также имеет развитый язык запросов, сравнимый с языками запросов самых мощных СУБД от мировых разработчиков. Однако, при этом язык в 1С содержит дополнительные расширения, необходимые для отражения специфики финансово-экономических задач.
Язык запросов 1С основан на SQL и похож на SQL, вплоть до прямого заимствования лексических конструкций из этих языков. Более того, очень важно знать, что
Платформа «1С:Предприятие 8» интерпретирует код запроса 1С в SQL запрос
Отметим особенности языка запросов платформы «1С:Предприятие 8»:
- в отличие от SQL не может вносить изменения в базу данных (нет операторов INSERT, DELETE и UPDATE).
- ключевые слова запроса могут быть представлены в двух вариантах написания: русском и английском.
- требует соблюдения строгого порядка следования секций запроса.
- является непроцедурным, то есть не имеет операторов цикла и ветвления.
- обращение к подчиненным полям через точку.
Конструктор запросов — основной инструмент визуального программирования запросов 1с, встроенный в систему 1С:Предприятие.
Пример использования языка запросов.
Разберем простейший запрос к базе данных на примере справочника Номенклатура. Конечно же, состав реквизитов справочника весьма условен и может быть далек от реальной практики.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
"ВЫБРАТЬ | Номенклатура.Код, | Номенклатура.Наименование КАК Наименование, | Номенклатура.ВидНоменклатуры, | Номенклатура.МойРодитель, | Номенклатура.Представление |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | НЕ Номенклатура.ЭтоГруппа | |УПОРЯДОЧИТЬ ПО | Наименование" |
Итак, попробуем сформулировать суть нашего 1с запроса к базе: выбрать все элементы справочника Номенклатура с полным составом полей, за исключением групп, и упорядочить их по наименованию номенклатуры.
Выделим обязательные элементы, из которых состоит наш запрос:
- Текст запроса начинается с ключевого слова ВЫБРАТЬ;
- После слова ВЫБРАТЬ обязательно указывается список полей выборки, представляющий собой имена полей таблицы-источника данных, разделенных запятыми;
- Таблица — источник данных задается после ключевого слова ИЗ;
- Синтаксис имени таблицы строится по принципу: <имя класса прикладных объектов в единственном числе(кроме таблиц Констант)>.<имя объекта метаданных>.
- Конструкции ГДЕ и УПОРЯДОЧИТЬ ПО хоть и не обязательны, но должные следовать в строго установленном порядке.
В поле Текст запроса введем наш текст и нажмем кнопку Выполнить:
Поле Результат запроса в консоли запросов заполнится записями из справочника:
Дополнительные особенности языка запросов 1с.
- Во всех таблицах объектов ссылочного типа присутствует поле Ссылка, которое является ссылкой на описываемый объект и поле Представление, содержащее строковое представление объекта.
- В иерархических таблицах объектов есть поле Родитель.
- В подчиненных справочниках наверняка будет добавлено поле Владелец.
- С помощью предварительно указанных символов «//» в запрос можно добавлять комментарии для пояснения различных фрагментов запроса.
- С помощью оператора КАК можно, а иногда и нужно для однозначности выбора поля, присваивать псевдонимы полям и таблицам запроса.
В одной статье невозможно охватить все стороны целого языка запросов. Отдельного рассмотрения требуют такие темы как:
- Использование встроенных функций получения значения и манипулирования значениями.
- Соединение данных из нескольких таблиц
- Вложенные запросы
- Виртуальные таблицы
- Запросы из таблицы значений
- Пакетный запрос.
Оставить комментарий
Ваш электронный адрес не будет опубликован. Обязательные поля с пометкой - необходимо