Разработка в 1С 8.0
29361359

Код:


//создание объекта Запрос

Запрос = Новый Запрос("

|ВЫБРАТЬ Код, Наименование

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

 

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

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

 

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

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

 

//обход записей в выборке

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



   

//обращение к полям  

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

КонецЦикла;

Два основных элемента механизма запросов ? это язык запросов и обход выборки из результата запроса. Именно в них заключена основная мощь механизма запросов, поэтому ниже они будут рассмотрены более подробно. Но прежде, чем мы перейдем к написанию запросов «с чистого листа», познакомимся с Конструктором запросов, который значительно упрощает освоение языка запросов.  

 


ВЫБРАТЬНаименование, ДатаПриема

ПОДСТРОКА(Наименование,1,2) КАК Сокращение,  

ДЕНЬ(ДатаПриема) КАК Число,  

МЕСЯЦ(ДатаПриема) КАК Месяц,  

ГОД(ДатаПриема) КАК Год  

ИЗ Справочник.Сотрудники




ВЫБРАТЬ

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

ЗакупочнаяЦена КАК Цена,  

ВЫБОР

Когда ЭтоГруппа = Истина Тогда "Это группа"  

Когда ЗакупочнаяЦена >= 1000 Тогда "1000 и выше"  

Когда ЗакупочнаяЦена >= 100 Тогда "100 - 1000"  

Когда ЗакупочнаяЦена >= 10 Тогда "10 - 100"  

Когда ЗакупочнаяЦена > 0 Тогда "0 - 10"  

Иначе "Не задана"  

КОНЕЦ КАК Диапазон

 

ИЗ Справочник.Номенклатура




Запрос= Новый Запрос("ВЫБРАТЬ * ИЗ Документ.ПриходнаяНакладная 

|ГДЕ Дата МЕЖДУ &НачДата и &КонДата");

 

Запрос.УстановитьПараметр("НачДата",ВыбНачалоПериода);

Запрос.УстановитьПараметр("КонДата",ВыбКонецПериода);

 

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

В качестве параметра может быть передано любое значение, например, значение одного из примитивных типов (число, строка, дата, булево), ДокументСсылка, СправочникСсылка, список значений и т.д.  

 

Группы справочника и список значений часто применяются с ключевым словом В. Если передается группа справочника (или родительский элемент для справочников из одних элементов), то можно применить конструкцию В ИЕРАРХИИ.  

 

Например, покажем цены на товары из указанного списка:  




//1-й пример: отбор по списку товаров

Запрос = Новый Запрос("

|ВЫБРАТЬ * ИЗ Справочник.Номенклатура

|ГДЕ Ссылка В &СписокТоваров");

 

Запрос.УстановитьПараметр("СписокТоваров",СписокВыбранныхТоваров);

 

//2-й пример: отбор по группе товаров

Запрос = Новый Запрос("

| ВЫБРАТЬ * ИЗ Справочник.Номенклатура

| ГДЕ Ссылка В ИЕРАРХИИ &ГруппаТоваров");

Запрос.УстановитьПараметр("ГруппаТоваров",ВыбГруппа);




ВЫБРАТЬ

Док.Номенклатура,Док.Номенклатура.Услуга КАК Услуга,  

Док.Номенклатура.ЗакупочнаяЦена КАК ЗакупочнаяЦена,  

Док.Количество, Док.Сумма,  

ОстаткиСкл.КоличествоОстаток КАК КоличествоСкл,  

Остатки.КоличествоОстаток, Остатки.СуммаОстаток  

ИЗ

Документ.РасходнаяНакладная.Состав КАК Док  

ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ

РегистрНакопления.УчетНоменклатуры.Остатки(,  

Номенклатура В (&ПарНоменклатура) И  

Склад = &ПарСклад) КАК ОстаткиСкл  

ПО

Док.Номенклатура = ОстаткиСкл.Номенклатура  

ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ  

РегистрНакопления.СтоимостнойУчетНоменклатуры.Остатки(&Момент,  

Номенклатура В (&ПарНоменклатура)) КАК Остатки  

ПО Док.Номенклатура = Остатки.Номенклатура  

ГДЕ Док.Ссылка = &Ссылка



Содержание раздела