Код:
//создание объекта Запрос
Запрос = Новый Запрос("
|ВЫБРАТЬ Код, Наименование
|ИЗ Справочник.Номенклатура");
//выполнение запроса и получение результата
РезультатЗапроса = Запрос .Выполнить();
//получение выборки из результата запроса
Выборка = РезультатЗапроса.Выбрать();
//обход записей в выборке
Пока Выборка.Следующий() Цикл
| |
| //обращение к полям |
| Сообщить(Выборка.Наименование); |
| Два основных элемента механизма запросов ? это язык запросов и обход выборки из результата запроса. Именно в них заключена основная мощь механизма запросов, поэтому ниже они будут рассмотрены более подробно. Но прежде, чем мы перейдем к написанию запросов «с чистого листа», познакомимся с Конструктором запросов, который значительно упрощает освоение языка запросов. |
| |
ВЫБРАТЬНаименование, ДатаПриема
| ПОДСТРОКА(Наименование,1,2) КАК Сокращение, |
| ДЕНЬ(ДатаПриема) КАК Число, |
| МЕСЯЦ(ДатаПриема) КАК Месяц, |
| ГОД(ДатаПриема) КАК Год |

ВЫБРАТЬ
| Наименование, |
| ЗакупочнаяЦена КАК Цена, |
| Когда ЭтоГруппа = Истина Тогда "Это группа" |
| Когда ЗакупочнаяЦена >= 1000 Тогда "1000 и выше" |
| Когда ЗакупочнаяЦена >= 100 Тогда "100 - 1000" |
| Когда ЗакупочнаяЦена >= 10 Тогда "10 - 100" |
| Когда ЗакупочнаяЦена > 0 Тогда "0 - 10" |
| Иначе "Не задана" |
ИЗ Справочник.Номенклатура

Запрос= Новый Запрос("ВЫБРАТЬ * ИЗ Документ.ПриходнаяНакладная
|ГДЕ Дата МЕЖДУ &НачДата и &КонДата");
Запрос.УстановитьПараметр("НачДата",ВыбНачалоПериода);
Запрос.УстановитьПараметр("КонДата",ВыбКонецПериода);
Результат = Запрос.Выполнить();
| В качестве параметра может быть передано любое значение, например, значение одного из примитивных типов (число, строка, дата, булево), ДокументСсылка, СправочникСсылка, список значений и т.д. |
| |
| Группы справочника и список значений часто применяются с ключевым словом В. Если передается группа справочника (или родительский элемент для справочников из одних элементов), то можно применить конструкцию В ИЕРАРХИИ. |
| |
| Например, покажем цены на товары из указанного списка: |

//1-й пример: отбор по списку товаров
Запрос = Новый Запрос("
|ВЫБРАТЬ * ИЗ Справочник.Номенклатура
|ГДЕ Ссылка В &СписокТоваров");
Запрос.УстановитьПараметр("СписокТоваров",СписокВыбранныхТоваров);
//2-й пример: отбор по группе товаров
Запрос = Новый Запрос("
| ВЫБРАТЬ * ИЗ Справочник.Номенклатура
| ГДЕ Ссылка В ИЕРАРХИИ &ГруппаТоваров");
Запрос.УстановитьПараметр("ГруппаТоваров",ВыбГруппа);
ВЫБРАТЬ
| Док.Номенклатура,Док.Номенклатура.Услуга КАК Услуга, |
| Док.Номенклатура.ЗакупочнаяЦена КАК ЗакупочнаяЦена, |
| Док.Количество, Док.Сумма, |
| ОстаткиСкл.КоличествоОстаток КАК КоличествоСкл, |
| Остатки.КоличествоОстаток, Остатки.СуммаОстаток |
| Документ.РасходнаяНакладная.Состав КАК Док |
| РегистрНакопления.УчетНоменклатуры.Остатки(, |
| Номенклатура В (&ПарНоменклатура) И |
| Склад = &ПарСклад) КАК ОстаткиСкл |
| Док.Номенклатура = ОстаткиСкл.Номенклатура |
| ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ |
| РегистрНакопления.СтоимостнойУчетНоменклатуры.Остатки(&Момент, |
| Номенклатура В (&ПарНоменклатура)) КАК Остатки |
| ПО Док.Номенклатура = Остатки.Номенклатура |