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

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

страница

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

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

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

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

Запрос.Текст = "ВЫБРАТЬ

|    ПриходнаяНакладнаяМатериалы.Материал,

|    ПриходнаяНакладнаяМатериалы.Ссылка.Дата,

|    ПриходнаяНакладнаяМатериалы.Ссылка.Номер

|ИЗ

|    Документ.ПриходнаяНакладная.Материалы КАК ПриходнаяНакладнаяМатериалы

|ГДЕ

|    ПриходнаяНакладнаяМатериалы.Ссылка.Номер = &НомерНакладной";

 

Запрос.УстановитьПараметр("НомерНакладной", "000000001");

 

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

Таким образом, происходит третий этап выполнения запроса, показанный на схеме (рис. 11.64).

Результат выполнения запроса может не содержать строк. Проверку этого следует выполнять с помощью метода Пустой() объекта РезультатЗапроса (листинг 11.49).

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

…

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

 

Если РезультатЗапроса.Пустой(****) Тогда

Сообщить("Записей по условию не найдено");

Возврат;

КонецЕсли;

 

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

…

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

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

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

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

Запрос.Текст = "ВЫБРАТЬ

|    ПриходнаяНакладнаяМатериалы.Материал,

|    ПриходнаяНакладнаяМатериалы.Ссылка.Дата,

|    ПриходнаяНакладнаяМатериалы.Ссылка.Номер

|ИЗ

|    Документ.ПриходнаяНакладная.Материалы КАК ПриходнаяНакладнаяМатериалы

|ГДЕ

|    ПриходнаяНакладнаяМатериалы.Ссылка.Номер = &НомерНакладной";

Запрос.УстановитьПараметр("НомерНакладной", "000000001");

 

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

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

Таким образом, происходит четвертый этап выполнения запроса, показанный на схеме (рис. 11.64).