Найти в Дзене
1С заметки

1С вывести отчет СКД в макет печатной формы, табличный документ

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

оригинал : https://infofront.su/1c-pechatnaya-forma-na-skd/

Задача:

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

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

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

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

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

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

-3

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

  • Для команды «Вывести макет» добавим запуск процедуры:

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