Иллюстрированный самоучитель по языку системы 1С:Предприятие

Примеры использования Запросов

Печать каталога товаров

Далее приведена процедура, выполняющая печать всего справочника товаров с использованием формирования запроса. Для простого перебора справочника использование запросов оправдано только в том случае, если мы либо используем полученный временный набор данных многократно, или вычисляем функции, или производим нестандартное упорядочивание объектов. В данном примере запрос используется для сортировки справочника по некоторому реквизиту товара.

//--------------------------------

Процедура ПечатьСправочника()

// Процедура печати полного справочника товаров

Перем Запрос, ТекстЗапроса, Таб;

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

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса = "//{{ЗАПРОС(Печать)

|Товар = Справочник.Товары.ТекущийЭлемент;

|Группировка Товар Упорядочить по Товар.МинЗапас;

|"//}}ЗАПРОС

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Возврат;

КонецЕсли;

// Заполнение выходных форм данными запроса

// Создание Таблицы для выходного отчета

Таб = СоздатьОбъект("Таблица");

Таб.ВывестиСекцию("Отчет");

Пока Запрос.Группировка("Товар") = 1 Цикл

// Заполнение полей Товар

Если Запрос.Товар.ЭтоГруппа() = 1 Тогда

Таб.ВывестиСекцию("Группа");

Иначе

Таб.ВывестиСекцию("Товар");

КонецЕсли;

КонецЦикла;

//Отображение выходного отчета

Таб.ТолькоПросмотр(1);

Таб.Опции(0, 0, 4, 0);

Таб.Показать("Список товаров по каталогу", "");

КонецПроцедуры
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.