Табличный документ вывод на печать
Всем доброго времени суток, помогите очень нужно.
Нужно табличный документ вывести на печать в формате mxl, на деле получается 15 листов, когда нужно 2.
Как сделать управляемую форму, т. е. например есть 15 блоков(табличная часть, шапка и т.д.) на печать, из них оставить 5 блоков на первый лист, второй на 8 блоков и т.д.
С контролем области я разобрался, осталось корректное автозаполнение на всю страницу(и в высоту, и в ширину)
Нужно табличный документ вывести на печать в формате mxl, на деле получается 15 листов, когда нужно 2.
Как сделать управляемую форму, т. е. например есть 15 блоков(табличная часть, шапка и т.д.) на печать, из них оставить 5 блоков на первый лист, второй на 8 блоков и т.д.
С контролем области я разобрался, осталось корректное автозаполнение на всю страницу(и в высоту, и в ширину)
По теме из базы знаний
- Вывод печатных форм с запросом данных в форму "Печать документов" из подсистемы БСП "Печать".
- Сложный табличный документ с разной высотой областей (пример, как легко понять принцип формирования макета)
- Полезный код для программистов 1С (часть 3). Подготовка печатных форм + подсистема Управление печатью (БСП)
- Вывод факсимиле в табличные документы (УПД, УКД, счет-фактура и др.) для УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3
- Программный вывод на печать документов с факсимиле в 1С:Бухгалтерии 3.0 на примере акта сверки взаиморасчетов
Найденные решения
Остальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
При выводе на печать есть функция проверки вписывается ли добавленная строка в лист с учетом выбранного принтера и параметров печати, от типа формы не зависит, посмотрите пример в формировании ТОРГ12/УПД в типовых.
Процедура ВывестиДанныеВТабличныйДокументПоОбъектуЧастями(Макет, ПараметрыМакета, ДокументРезультат, ВсегоЧастей)
Для НомерЧасти = 0 По ВсегоЧастей Цикл
ЧастьИмя = "Часть" + Формат(НомерЧасти,"ЧН=; ЧГ=");
Попытка
ОбластьЧасть = Макет.ПолучитьОбласть(ЧастьИмя);
Исключение
СообщениеТекст = "При печати: " + ДокументРезультат.КлючПараметровПечати + " не удалось получить часть № " + НомерЧасти + ". Обратитесь к разработчику!";
СообщитьПриПечати(СообщениеТекст);
Возврат;
КонецПопытки;
ОбластьЧасть.Параметры.Заполнить(ПараметрыМакета);
ДокументРезультат.Вывести(ОбластьЧасть);
Если НомерЧасти + 1 = 5 Тогда
ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц(); // Первые 5 частей на первый лист.
ИначеЕсли НомерЧасти + 1 = 8 Тогда
ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц(); // Первые 5 частей на первый лист. 6, 7, 8 на второй
ИначеЕсли НомерЧасти + 1 = 10 Тогда
ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Показатьмакет разбиваете на части на глазок и проверяете, что блоки верно "разошлись"
Прикрепленные файлы:
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)