Предполагается, что кнопку для вызова прилагаемой процедуры сумеете встроить сами :)
// Обработчик события "Действие" кнопки "ВаловаяПрибыльПоДокументу"
// командной панели формы. Вызывает одноименный отчет .
//
Процедура ДействияФормыВаловаяПрибыльПоДокументу(Кнопка)
Попытка
ИмяОтчета = "ВаловаяПрибыль";
ОтчетОбъект = Отчеты[ИмяОтчета].Создать();
ФормаОтчета = ОтчетОбъект.ПолучитьФорму();
Попытка
ФормаОтчета.СпособОтображенияОкна = ВариантСпособаОтображенияОкна.Максимизированное;
Исключение
КонецПопытки;
ФормаОтчета.УниверсальныйОтчет.ВариантОформления = СтандартноеОформление.Камень;
ОтчетОбъект.УстановитьНачальныеНастройки();
ОтчетОбъект.УниверсальныйОтчет.мВосстанавливатьНастройкиПриОткрытии = Ложь;
ФормаОтчета.УниверсальныйОтчет.ДатаНач = Дата;
ФормаОтчета.УниверсальныйОтчет.ДатаКон = Дата;
ФормаОтчета.УниверсальныйОтчет.ОтрицательноеКрасным = Истина;
ФормаОтчета.УниверсальныйОтчет.ВыводитьДетальныеЗаписи = Ложь;
ФормаОтчета.УниверсальныйОтчет.ВыводитьОбщиеИтоги = Истина;
//Если СтандартныеНастройки Тогда
// ОтчетОбъект.УниверсальныйОтчет.мВосстанавливатьНастройкиПриОткрытии = Истина;
// ФормаОтчета.Открыть();
// ФормаОтчета.УниверсальныйОтчет.ДатаНач = НачалоДня(НачалоПериода);
// ФормаОтчета.УниверсальныйОтчет.ДатаКон = КонецДня(КонецПериода);
// ФормаОтчета.ОбновитьОтчет();
// Возврат;
//КонецЕсли;
Исключение
Предупреждение("Отчет не обнаружен. Возможно у Вас его нет или он не включен в состав программы.");
Возврат;
КонецПопытки;
//Если ИмяОтчета = "ВаловаяПрибыль" тогда
ФормаОтчета.Открыть();
Отборы = ФормаОтчета.ЭтотОбъект.УниверсальныйОтчет.ПостроительОтчета.Отбор;
Сч = 0;
Пока Сч < Отборы.Количество() Цикл
Отборы[Сч].Использование = Ложь;
Сч = Сч+1;
КонецЦикла;
ПостроительОтчета = ФормаОтчета.УниверсальныйОтчет.ПостроительОтчета;
УниверсальныйОтчет = ФормаОтчета.УниверсальныйОтчет;
ПостроительОтчета.ВыбранныеПоля.Очистить();
ПостроительОтчета.Порядок.Очистить();
ПостроительОтчета.ИзмеренияСтроки.Очистить();
ПостроительОтчета.ИзмеренияКолонки.Очистить();
// Добавление показателей
// Необходимо вызывать для каждого добавляемого показателя.
ВалютаУпр = глЗначениеПеременной("ВалютаУправленческогоУчета");
// УниверсальныйОтчет.ДобавитьПоказатель(<ИмяПоказателя>, <ПредставлениеПоказателя>, <ВключенПоУмолчанию>, <Формат>, <ИмяГруппы>, <ПредставлениеГруппы>);
УниверсальныйОтчет.ДобавитьПоказатель("Количество", "Ед. хранения", Ложь, "ЧЦ=15; ЧДЦ=3", "Количество", "Количество");
УниверсальныйОтчет.ДобавитьПоказатель("КоличествоБазовыхЕдиниц", "Базовых ед.", Истина, "ЧЦ=15; ЧДЦ=3", "Количество", "Количество");
УниверсальныйОтчет.ДобавитьПоказатель("КоличествоЕдиницОтчетов", "Ед. отчетов", Истина, "ЧЦ=15; ЧДЦ=3", "Количество", "Количество");
УниверсальныйОтчет.ДобавитьПоказатель("СтоимостьБезНДС", "Без НДС", Ложь, "ЧЦ=15; ЧДЦ=2", "СтоимостьПродажи", "Стоимость продажи (" + ВалютаУпр + ")");
УниверсальныйОтчет.ДобавитьПоказатель("НДС", "НДС", Ложь, "ЧЦ=15; ЧДЦ=2", "СтоимостьПродажи");
УниверсальныйОтчет.ДобавитьПоказатель("Стоимость", "С НДС", Истина, "ЧЦ=15; ЧДЦ=2", "СтоимостьПродажи");
УниверсальныйОтчет.ДобавитьПоказатель("Себестоимость", "Себестоимость (" + ВалютаУпр + ")", Ложь, "ЧЦ=15; ЧДЦ=2");
УниверсальныйОтчет.ДобавитьПоказатель("ВаловаяПрибыль", "Валовая прибыль (" + ВалютаУпр + ")", Истина, "ЧЦ=15; ЧДЦ=2");
УниверсальныйОтчет.ДобавитьПоказатель("Эффективность", "Эффективность, %", Истина, "ЧЦ=15; ЧДЦ=2");
УниверсальныйОтчет.ДобавитьПоказатель("Рентабельность", "Рентабельность, %", Ложь, "ЧЦ=15; ЧДЦ=2");
// Добавление предопределенных группировок строк отчета.
// Необходимо вызывать для каждой добавляемой группировки строки.
// УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>);
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Регистратор");
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ЗаказПокупателя");
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Номенклатура");
Если ПостроительОтчета.Отбор.Найти("Регистратор")=неопределено тогда
ПостроительОтчета.Отбор.Добавить(ПостроительОтчета.ДоступныеПоля.Регистратор.ПутьКДанным);
КонецЕсли;
ПостроительОтчета.Отбор.Регистратор.Использование = Истина;
ПостроительОтчета.Отбор.Регистратор.ВидСравнения = ВидСравнения.Равно;
ПостроительОтчета.Отбор.Регистратор.Значение = ЭтотОбъект.Ссылка;
ФормаОтчета.ОбновитьОтчет();
//ФормаОтчета.ЭлементыФормы.ПолеТабличногоДокументаРезультат.ПоказатьУровеньГруппировокСтрок(0);
//КонецЕсли;
КонецПроцедуры