Программное формирование отчета 1с82

Процедура для программного формирования отчета на СКД, обычные формы

Процедура ДействияФормыСформировать(Кнопка)

    ДокументРезультат = ЭлементыФормы.Результат;
    ДокументРезультат.Очистить();

    Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных;
    Компоновщик.ЗагрузитьНастройки(КомпоновщикНастроек.Настройки);

    Компоновщик.Настройки.ПараметрыДанных.Элементы[0].Значение = Новый СтандартныйПериод(НачалоДня(НачПериода), КонецДня(КонПериода));
    Компоновщик.Настройки.ПараметрыДанных.Элементы[1].Значение = Вознаграждение/100;

    Отб = Компоновщик.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    Отб.Использование = Истина;
    Отб.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    Отб.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
    Отб.ПравоеЗначение = Организация;

    Отб = Компоновщик.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    Отб.Использование = Истина;
    Отб.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    Отб.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Номенклатура.[Основной поставщик (свойство)]");
    Отб.ПравоеЗначение = Поставщик;

    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Компоновщик.Настройки, ДанныеРасшифровки);

    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки);

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);

КонецПроцедуры

Добавить комментарий