&НаСервере Процедура ТабличныйДокументНаСервере(ТабДок) //Макет = ВнешниеОбработки.Запросы.ПолучитьМакет("Макет"); Макет = РеквизитФормыВЗначение(Объект).ПолучитьМакет("Макет"); //строка выше позволит пользоваться отчетом не только из внеш.обработки, но и встроить отчет в меню Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РасходТовараТовары.Товар КАК Товар, | ПРЕДСТАВЛЕНИЕ(РасходТовараТовары.Товар), | РасходТовараТовары.Ссылка.Покупатель КАК Покупатель, | ПРЕДСТАВЛЕНИЕ(РасходТовараТовары.Ссылка.Покупатель), | РасходТовараТовары.Количество КАК Количество, | РасходТовараТовары.Сумма КАК Сумма |ИЗ | Документ.РасходТовара.Товары КАК РасходТовараТовары |ИТОГИ | СУММА(Количество), | СУММА(Сумма) |ПО | ОБЩИЕ, | Покупатель, | Товар"; РезультатЗапроса = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги"); ОбластьПокупатель = Макет.ПолучитьОбласть("Покупатель"); ОбластьТовар = Макет.ПолучитьОбласть("Товар"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаОбщийИтог = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ВыборкаОбщийИтог.Следующий(); // Общий итог ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог); ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень()); ВыборкаПокупатель = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаПокупатель.Следующий() Цикл ОбластьПокупатель.Параметры.Заполнить(ВыборкаПокупатель); ТабДок.Вывести(ОбластьПокупатель, ВыборкаПокупатель.Уровень()); ВыборкаТовар = ВыборкаПокупатель.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаТовар.Следующий() Цикл ОбластьТовар.Параметры.Заполнить(ВыборкаТовар); ТабДок.Вывести(ОбластьТовар, ВыборкаТовар.Уровень()); КонецЦикла; КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Вывести(ОбластьПодвал); //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА КонецПроцедуры &НаКлиенте Процедура ТабличныйДокумент(Команда) ТабДок = Новый ТабличныйДокумент; ТабличныйДокументНаСервере(ТабДок); ТабДок.Показать(); КонецПроцедуры