Запросы в 1с– это один из базовых механизмов «1С:Предприятия» . Язык запросов вместе со встроенным языком платформы позволяет читать и обрабатывать данные, хранящиеся в базе. Для составления запросов «1С:Предприятие» использует собственный язык, основанный на SQL.

Важно понимать, что прямого доступа к физическим таблицам, в которых хранится информация в базе данных, из «1С:Предприятия» получить нельзя. Поэтому с помощью запросов мы обращаемся к данным не напрямую, а через специальную «прослойку» в виде таблиц языка запросов. Этот процесс можно представить на следующей схеме

Таблицы в запросе 1с
Из представленной схемы видно, что запросы работают с двумя видами таблиц:
1.Реальные таблицы
2.Виртуальные таблицы
Реальные таблицы подразделяются на объектные (ссылочные) и необъектные(нессылочные). В объектных (ссылочных) таблицах представлена информация ссылочных типов данных (справочники, документы, планы видов характеристик). А в необъектных (нессылочных) – всех остальных типов данных (константы, регистры и т. д.).
Язык запросов «1С:Предприятия»
Механизм запросов позволяет получить доступ к разнообразной информации, хранящейся в базе данных «1С:Предприятия». Путем выполнения запроса к информационной базе из всей совокупности информации можно получить различные выборки данных из одной или нескольких взаимосвязанных таблиц, отобранных по определенному условию, отсортированных определенным образом и пр. Далее полученные данные могут быть проанализированы для решения различных прикладных задач, построения отчетов и т. п.
Однако следует иметь в виду, что с помощью запросов можно только прочитать нужную информацию из базы данных, но изменить ее и записать обратно при помощи запроса нельзя – для этого нужно использовать средства встроенного языка.
Запросы в 1с. Общая схема выполнения запроса в 1с
Запрос формируется и выполняется разработчиком из встроенного языка. Для этого предназначены следующие программные объекты:
1. Запрос,
2. РезультатЗапроса,
3. ВыборкаИзРезультатаЗапроса.

Во-первых создается Запрос.
Запрос = Новый Запрос;
Далее печатаем текст запроса на языке запросов. Для этого используем свойство Запроса Текст:
Запрос.Текст="Выбрать *
из РегистраНакопления.ОстаткиНоменклатуры";
Во-вторых Выполняем запрос:
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
или
Выборка=Запрос.Выполнить().Выбрать();
В-третьих выборка обходится с помощью цикла Пока Выборка.Следующий() Цикл, а в теле цикла производятся какие-то действия над данными, полученными с помощью запроса.
Пока Выборка.Следующий() Цикл
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = Выборка.Номенклатура +" в количестве равным "+Выборка.Количество;
Сообщение.Сообщить();
КонецЦикла;
Предварительно создадим по 3 документа каждого вида.
Для изучения запросов будем пользоваться консолью запросов.
Запросы в 1с. Консоль запросов.
Консоль запросов предназначена для проверки созданных вами запросов. Она поставляется в виде отдельной обработка и ее можно скачать на сайте 1с (Ссылка на скачивание).
Открываем файл как внешний отчет или обработка(Файл->Открыть).

Выбираем файл(файл приложенный к уроку необходимо предварительно распаковать). Соглашаемся на сообщение выданное системой. Результатом будет такое окно:

Теперь разберем несколько запросов.
- Создадим запрос выводящий все информацию из РегистраНакопления. Это самый простой запрос:

Результат выполнения запроса будет следующий:

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

Результат запроса

3. Изменим второй запрос применив псевдонимы.
Ключевое слово КАК в 1с
Псевдонимы задаются с помощью ключевого слова КАК, после которого следует имя псевдонима. Имя псевдонима может писаться сразу после имени таблицы (например,Справочник.Контрагенты Контрагенты), но наличие ключевого слова КАК повышает
наглядность и удобочитаемость текста запроса.

Результат запроса будет совпадать с результатом запроса 2.
Ключевое слово СГРУППИРОВАТЬ в 1с
4. Изменим наш запрос таким образом, чтобы каждый товар отображался 1 раз. Данная операция применяется с использованием Группировки.

Результат запроса

Результат данного запроса позволяет нам ответь на вопрос о количестве остатков материалов.
5. Создадим запрос, который выводит информацию об изделиях и сортирует их по популярности. Из Регистра Сведений ИзделияСведения мы выберем 1 Измерение->Изделие и 2 Ресурса->Количество и Сумма. Сгруппируем по Изделию и сделаем УПОРЯДОЧИТЬ ПО Количеству причем убывание(Убыв)

Результат

6. Создадим запрос отвечающий: “Сколько заказов у нас Произведено и сколько Заказано. Для этих целей будем использовать Параметр Статус Заказа. Применим условие в запросе 1с.

Заполняем Окно Параметр следующим образом

Результат запроса

Для получения информации о выполненных заказах нам не надо переписывать весь запрос. Достаточно поменять значение в Параметре.

Результат

7. Создадим запрос о деятельности сотрудников по работе с Материалами. Информацию мы планируем получить из РегистраНакопления ОстаткиНоменклатуры. Будем использовать Параметр Сотрудник.

Окно Параметр заполнено так:

Результат запроса

Мы рассмотрели запросы в 1с и примеры их использования