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