Процедура для программного формирования отчета на СКД, обычные формы
Процедура ДействияФормыСформировать(Кнопка) ДокументРезультат = ЭлементыФормы.Результат; ДокументРезультат.Очистить(); Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных; Компоновщик.ЗагрузитьНастройки(КомпоновщикНастроек.Настройки); Компоновщик.Настройки.ПараметрыДанных.Элементы[0].Значение = Новый СтандартныйПериод(НачалоДня(НачПериода), КонецДня(КонПериода)); Компоновщик.Настройки.ПараметрыДанных.Элементы[1].Значение = Вознаграждение/100; Отб = Компоновщик.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Отб.Использование = Истина; Отб.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; Отб.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация"); Отб.ПравоеЗначение = Организация; Отб = Компоновщик.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Отб.Использование = Истина; Отб.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; Отб.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Номенклатура.[Основной поставщик (свойство)]"); Отб.ПравоеЗначение = Поставщик; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Компоновщик.Настройки, ДанныеРасшифровки); ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина); КонецПроцедуры