В начало

Программный вывод макета отчета

            Есть отчет «Поступление и продажа», у которого имеется два макета. Необходимо организовать программный вывод каждого макета.

Рис. Отчет «Поступление и продажа» в дереве конфигурации

            Открываем отчет, переходим к его свойствам на закладку «Формы» и создаем форму отчета.

            Далее на форму отчета размещаем две кнопки, назовем их просто, а именно так же как и называются макеты, которые необходимо выводить. При этом у стандартной кнопки вывода отчета «Сформировать» можно удалить.

Рис. Добавление кнопок для вывода макетов

            После этого в модуле формы нужно создать три процедуры, две из которых являются действиями на нажатие кнопок «ОбъединениеТаблиц» и «ОбъединениеНаборов». Листинг процедур в модуле формы идет ниже.

 

Листинг. Процедуры модуля формы отчета «Поступление и продажа»

Процедура ПрограммныйВыводОтчета(стрНазваниеМакета)

                //1.СКД

                СхемаКомпоновкиДанных = ПолучитьМакет(стрНазваниеМакета);

                //2.Настройки СКД

                Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

                //3.Компоновщик макета

                КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

                //4.Макет компоновки данных

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

                //5.Процессор компоновки данных

                ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;

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

                //6.Результат компоновки

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

                ДокументРезультат = ЭлементыФормы.Результат;

                //7.Процессор вывода

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

                ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

                ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

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

 

Процедура ДействияФормыОбъединениеТаблиц(Кнопка)

                ПрограммныйВыводОтчета("ОбъединениеТаблиц");

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

 

Процедура ДействияФормыОбъединениеНаборов(Кнопка)

                ПрограммныйВыводОтчета("ОбъединениеНаборов");

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

 

            Затем обновляем конфигурацию, запускаем режим «1С:Предприятие» и проверяем.

            При нажатии на кнопку «Объединение таблиц» будет выведен макет «ОбъединениеТаблиц».

Рис. Вывод первого макета «ОбъединениеТаблиц»

 

            Аналогично, если нажать на кнопку «Объединение наборов» будет выведен макет с названием «ОбъединениеНаборов».

Рис. Вывод второго макета «ОбъединениеНаборов»

 

            Таким образом, был организован  программный вывод двух различных макетов.