Задача:

Имеется тестовая конфигурация. Из формы документа «Заказы покупателей план» необходимо распечатать печатную форму в виде отчета на СКД. Наша печатная форма представляет собой список заказов покупателей с отборами по дате и наименованию контрагента.

Порядок действий:

  • Создадим форму документа:

Рис. 1 — Форма документа «Заказы покупателей план»

  • К документу прикрепим макет на СКД;
  • В СКД имеются следующие отборы и параметры (рис. 2, рис. 3)

Рис. 2 — Параметры СКД

Рис. 3 — Отборы СКД

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

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

	ТабДокСКД.Показать();

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