1С, Макет, секция, область, группировка, итоги, обход результатов запроса, ОбходРезультатаЗапроса, вывод секций, параметры секций, отчет, табличный документ, ТабДок, формат
//ВидПродукции, ПериодС, ПериодПо, Номенклатура, НачОст, Приход, Расход, КонОст - параметры областей макета
//Результат - результат запроса
Макет = ПолучитьМакет("МакетОтчета");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.ВидПродукции = ВидПродукции;
ОбластьШапка.Параметры.ПериодС = Формат(ПериодС, "ДФ = dd.MM.yy");
ОбластьШапка.Параметры.ПериодПо = Формат(ПериодПо, "ДФ = dd.MM.yy");
ТабДок.Вывести(ОбластьШапка);
ОбластьЗаголовок = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
ОбластьЗаголовок.Параметры.ПериодС = Формат(ПериодС, "ДФ = dd.MM.yy");
ОбластьЗаголовок.Параметры.ПериодПо = Формат(ПериодПо, "ДФ = dd.MM.yy");
ТабДок.Вывести(ОбластьЗаголовок);
//Секция "Итог"
Выборка1 = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, );
Пока Выборка1.Следующий() Цикл
//Секция "Данные"
Выборка2 = Выборка1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, );
Пока Выборка2.Следующий() Цикл
//Вывод секции "Данные"
ОбластьДанные = Макет.ПолучитьОбласть("Данные");
ОбластьДанные.Параметры.Номенклатура = Выборка2.Номенклатура;
ОбластьДанные.Параметры.НачОст = Выборка2.НачОст;
ОбластьДанные.Параметры.Приход = Выборка2.Приход;
ОбластьДанные.Параметры.Расход = Выборка2.Расход;
ОбластьДанные.Параметры.КонОст = Выборка2.КонОст;
ТабДок.Вывести(ОбластьДанные);
КонецЦикла;
//Вывод секции "Итог"
ОбластьИтог = Макет.ПолучитьОбласть("Итог");
ОбластьИтог.Параметры.НачОст = Выборка1.НачОст;
ОбластьИтог.Параметры.Приход = Выборка1.Приход;
ОбластьИтог.Параметры.Расход = Выборка1.Расход;
ОбластьИтог.Параметры.КонОст = Выборка1.КонОст;
ТабДок.Вывести(ОбластьИтог);
КонецЦикла;
//Результат - результат запроса
Макет = ПолучитьМакет("МакетОтчета");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.ВидПродукции = ВидПродукции;
ОбластьШапка.Параметры.ПериодС = Формат(ПериодС, "ДФ = dd.MM.yy");
ОбластьШапка.Параметры.ПериодПо = Формат(ПериодПо, "ДФ = dd.MM.yy");
ТабДок.Вывести(ОбластьШапка);
ОбластьЗаголовок = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
ОбластьЗаголовок.Параметры.ПериодС = Формат(ПериодС, "ДФ = dd.MM.yy");
ОбластьЗаголовок.Параметры.ПериодПо = Формат(ПериодПо, "ДФ = dd.MM.yy");
ТабДок.Вывести(ОбластьЗаголовок);
//Секция "Итог"
Выборка1 = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, );
Пока Выборка1.Следующий() Цикл
//Секция "Данные"
Выборка2 = Выборка1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, );
Пока Выборка2.Следующий() Цикл
//Вывод секции "Данные"
ОбластьДанные = Макет.ПолучитьОбласть("Данные");
ОбластьДанные.Параметры.Номенклатура = Выборка2.Номенклатура;
ОбластьДанные.Параметры.НачОст = Выборка2.НачОст;
ОбластьДанные.Параметры.Приход = Выборка2.Приход;
ОбластьДанные.Параметры.Расход = Выборка2.Расход;
ОбластьДанные.Параметры.КонОст = Выборка2.КонОст;
ТабДок.Вывести(ОбластьДанные);
КонецЦикла;
//Вывод секции "Итог"
ОбластьИтог = Макет.ПолучитьОбласть("Итог");
ОбластьИтог.Параметры.НачОст = Выборка1.НачОст;
ОбластьИтог.Параметры.Приход = Выборка1.Приход;
ОбластьИтог.Параметры.Расход = Выборка1.Расход;
ОбластьИтог.Параметры.КонОст = Выборка1.КонОст;
ТабДок.Вывести(ОбластьИтог);
КонецЦикла;