Печать каталога товаров
Далее приведена процедура, выполняющая печать всего справочника товаров с использованием формирования запроса. Для простого перебора справочника использование запросов оправдано только в том случае, если мы либо используем полученный временный набор данных многократно, или вычисляем функции, или производим нестандартное упорядочивание объектов. В данном примере запрос используется для сортировки справочника по некоторому реквизиту товара.
//--------------------------------
Процедура ПечатьСправочника()
// Процедура печати полного справочника товаров
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "//{{ЗАПРОС(Печать)
|Товар = Справочник.Товары.ТекущийЭлемент;
|Группировка Товар Упорядочить по Товар.МинЗапас;
|"//}}ЗАПРОС
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Заполнение выходных форм данными запроса
// Создание Таблицы для выходного отчета
Таб = СоздатьОбъект("Таблица");
Таб.ВывестиСекцию("Отчет");
Пока Запрос.Группировка("Товар") = 1 Цикл
// Заполнение полей Товар
Если Запрос.Товар.ЭтоГруппа() = 1 Тогда
Таб.ВывестиСекцию("Группа");
Иначе
Таб.ВывестиСекцию("Товар");
КонецЕсли;
КонецЦикла;
//Отображение выходного отчета
Таб.ТолькоПросмотр(1);
Таб.Опции(0, 0, 4, 0);
Таб.Показать("Список товаров по каталогу", "");
КонецПроцедуры