Табличный документ вывод на печать

1. Satoshi_Nakamoto 09.08.21 12:19 Сейчас в теме
Всем доброго времени суток, помогите очень нужно.

Нужно табличный документ вывести на печать в формате mxl, на деле получается 15 листов, когда нужно 2.
Как сделать управляемую форму, т. е. например есть 15 блоков(табличная часть, шапка и т.д.) на печать, из них оставить 5 блоков на первый лист, второй на 8 блоков и т.д.

С контролем области я разобрался, осталось корректное автозаполнение на всю страницу(и в высоту, и в ширину)
По теме из базы знаний
Найденные решения
10. Satoshi_Nakamoto 09.08.21 13:34 Сейчас в теме
С контролю области разобрался, просто ставишь код где хочешь разделить ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); и он автоматически выводит на другую страницу;
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. malikov_pro 1325 09.08.21 12:49 Сейчас в теме
При выводе на печать есть функция проверки вписывается ли добавленная строка в лист с учетом выбранного принтера и параметров печати, от типа формы не зависит, посмотрите пример в формировании ТОРГ12/УПД в типовых.
3. Satoshi_Nakamoto 09.08.21 12:53 Сейчас в теме
Как называется это функция в общем модуле(и как называется общий модуль) или я вас не правильно понял?
4. Dимыч 09.08.21 12:56 Сейчас в теме
(3)
В ЗКГУ 3.1 проверял так
ВывестиПодвалЛиста =  ОбщегоНазначения.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, ВыводимыеОбласти);
5. Satoshi_Nakamoto 09.08.21 12:58 Сейчас в теме
Интересно в разных конфигурациях совпадают модули и функции, я работаю на 1С:ERP
6. VmvLer 09.08.21 13:06 Сейчас в теме
Процедура ВывестиДанныеВТабличныйДокументПоОбъектуЧастями(Макет, ПараметрыМакета, ДокументРезультат, ВсегоЧастей)
	
	Для НомерЧасти = 0 По ВсегоЧастей Цикл
		ЧастьИмя = "Часть" + Формат(НомерЧасти,"ЧН=; ЧГ=");
		Попытка
			ОбластьЧасть = Макет.ПолучитьОбласть(ЧастьИмя);
		Исключение
			СообщениеТекст = "При печати: " + ДокументРезультат.КлючПараметровПечати + " не удалось получить часть № " + НомерЧасти + ". Обратитесь к разработчику!";
			СообщитьПриПечати(СообщениеТекст);
			Возврат;
		КонецПопытки;
		ОбластьЧасть.Параметры.Заполнить(ПараметрыМакета);
		ДокументРезультат.Вывести(ОбластьЧасть);
		Если НомерЧасти + 1 = 5 Тогда
			ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц(); // Первые 5 частей на первый лист.
		ИначеЕсли НомерЧасти + 1 = 8 Тогда	
			ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц(); // Первые 5 частей на первый лист. 6, 7, 8 на второй
		ИначеЕсли НомерЧасти + 1 = 10 Тогда	
			ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
	КонецЦикла;
	
КонецПроцедуры
Показать


макет разбиваете на части на глазок и проверяете, что блоки верно "разошлись"
Прикрепленные файлы:
Satoshi_Nakamoto; +1 Ответить
7. Satoshi_Nakamoto 09.08.21 13:14 Сейчас в теме
А что делать если у меня области не подогнаны под нумерацию часть0,часть1..., а шапка, основное, подвал(там их не три а много, очень много)
10. Satoshi_Nakamoto 09.08.21 13:34 Сейчас в теме
С контролю области разобрался, просто ставишь код где хочешь разделить ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); и он автоматически выводит на другую страницу;
8. FatPanzer 09.08.21 13:19 Сейчас в теме
Автомасштаб и ГоризонтальныйРазделитель.
9. Satoshi_Nakamoto 09.08.21 13:21 Сейчас в теме
Я ставлю ТабДок.Автомасштаб = Истина;, и ни чего не происходит почему?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот