Код
Процедура Сформировать1()
Перем Запрос, ТекстЗапроса, Таб;
Если ВыбКонПериода > ПолучитьДатуТА() Тогда
ВыбКонПериода = ПолучитьДатуТА();
КонецЕсли;
Если ВыбНачПериода > ПолучитьДатуТА() Тогда
ВыбНачПериода = ПолучитьДатуТА();
КонецЕсли;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|ВидыПродавцов = Документ.Заявка2.ВидыПродавцов;
|НЕТТО = Документ.Заявка2.НЕТТО;
|Продавец = Документ.Заявка2.Продавец;
|Красный = Документ.Заявка2.Красный;
|Синий = Документ.Заявка2.Синий;
|Функция НЕТТОСумма = Сумма(НЕТТО);
|Функция КрасныйСумма = Сумма(Красный);
|Функция СинийСумма = Сумма(Синий);
|Группировка ВидыПродавцов;
|Группировка Продавец без групп;
|Группировка Красный;
|Группировка Синий;
|Группировка НЕТТО;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей ВидыПродавцов
Таб.ВывестиСекцию("ВидыПродавцов");
Пока Запрос.Группировка(2) = 1 Цикл
Пока Запрос.Группировка(3) = 1 Цикл
Пока Запрос.Группировка(4) = 1 Цикл
Пока Запрос.Группировка(5) = 1 Цикл
// Заполнение полей НЕТТО
Таб.ВывестиСекцию("НЕТТО");
КонецЦикла;
КонецЦикла;
КонецЦикла;
// КонецЦикла;
КонецЦикла;
КонецЦикла;
// Заполнение полей "Итого"
Таб.ВывестиСекцию("Итого");
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры
При выборе интервала выводит
СвояФирма 6107 330 150567.67
Абоймова М.В. 5 0 121.35
Абоймова М.В. 8 0 183.8
Аверина Л. 2 0 56
Аверина Л. 4 0 63.3
Александрова 2 0 46.5
Александрова 3 0 56.45
Александрова 5 0 115.95
Александрова О.С. 4 0 102.7
Александрова О.С. 6 0 145.8