584 документа
← К списку

Общая схема выполнения запросов

страница

Общая схема выполнения запросов

Запрос формируется вами и выполняется из встроенного языка. Для этого предназначены следующие программные объекты:

  • Запрос,
  • РезультатЗапроса,
  • ВыборкаИзРезультатаЗапроса.

Не углубляясь в детали, рассмотрите самую распространенную и простейшую схему выполнения запроса.

  1. Сначала во встроенном языке создается объект Запрос (листинг 11.1).

Листинг 11.1. Создание запроса

Запрос = Новый Запрос;

  • У объекта Запрос есть свойство Текст, в которое нужно поместить текст запроса, написанный на языке запросов. В тексте запроса описывается, какие данные из каких таблиц нужно получить и как эти данные представить (листинг 11.2).

Листинг 11.2. Заполнение текста запроса

Запрос.Текст =

"ВЫБРАТЬ

|    Наименование

|ИЗ

|    Справочник.Номенклатура";

  • Далее запрос выполняется с помощью метода Выполнить() объекта Запрос. Именно в этот момент и происходит чтение данных из базы данных. Прочитанные данные возвращаются в виде объекта РезультатЗапроса, содержащего выбранные данные из базы данных (листинг 11.3).

Листинг 11.3. Выполнение запроса

РезультатЗапроса = Запрос.Выполнить();

  • Чтобы обработать данные, содержащиеся в объекте РезультатЗапроса, из результата запроса получается выборка с помощью метода Выбрать(), который возвращает новый объект ВыборкаИзРезультатаЗапроса, то есть коллекцию данных, предназначенную для последовательного обхода ее элементов (листинг 11.4).

Листинг 11.4. Получение выборки из результата запроса

ВыборкаЗапроса = РезультатЗапроса.Выбрать();

  • Далее выборка обходится с помощью цикла Пока Выборка.Следующий() Цикл, а в теле цикла производятся какие-то действия над данными, полученными с помощью запроса (листинг 11.5).

Листинг 11.5. Обход выборки

Пока ВыборкаЗапроса.Следующий() Цикл

Сообщить(ВыборкаЗапроса.Наименование);

 

КонецЦикла;

В результате, если соединить вместе тексты листингов 11.1–11.5, вы получите процедуру встроенного языка, в которой создается и выполняется запрос, в данном примере выводящий наименования всей номенклатуры из справочника Номенклатура в окно сообщений (листинг 11.6).

Листинг 11.6. Вывод наименований всей номенклатуры в окно сообщений

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

|    Наименование

|ИЗ

|    Справочник.Номенклатура";

 

РезультатЗапроса = Запрос.Выполнить();

ВыборкаЗапроса   = РезультатЗапроса.Выбрать();

 

Пока ВыборкаЗапроса.Следующий() Цикл

Сообщить(ВыборкаЗапроса.Наименование);

 

КонецЦикла;

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

Для выполнения запросов и просмотра результатов вы будете использовать специальную обработку Консоль запросов (КонсольЗапросов.epf). Данная обработка помогает отлаживать и просматривать результаты выполнения запросов в прикладном решении.