счет фактура из нескольких листов разбивает неправильно на листы почему? #674298


#0 by Cerera
В типовой БП2.0 при печати Счет фактур с большим числом строк, неравномерно распределяется по страницам. На первой страницы много строк, на следующей странице остаток - несколько, на третьей снова много строк, а потом опять. Вот как с этим бороться? Скорее всего это из-за того, что часть названий номенклатуры слишком длинные и переносятся на другую строчку и по этой причине задуманное количество строк не умещается на страницу. Но как с этим бороться то? Это же у всех такое возникает.
#1 by Aleksey
да у всех
#2 by Широкий
Переписать обработку печати?
#3 by Aleksey
собственно на соседнем форуме мы уже ковырялись с этой проблемой. Только переписывать обработку печати. Для этого в модуле объекта счет-фактуры выданной ищем функцию ПечатьСчетаФактуры1137 и в третей строкой вставляем... Ну и в конце функции после "// Устанавливаем параметры печати и колонтитулы" удаляем И всё проблема решена.
#4 by Aleksey
Собственно там это косяк типовой. Как я это понимаю - 1С в начале процедуры инициализирует макет, далее в процессе вывода она проверяет а помещается ли наша строка на страницу, и если не помещается, то создает новую страницу, и на новой страницы выводит заголовок и очередную строку И всё бы хорошо, до того момента пока не доходим до конца вывода, где мы говорим, что "а теперь нужно отсупить сверху 13 строк (ТабДокумент.ПолеСверху = 13;)", НО (!) у нас же уже создана своя разбивка под старые границы, вот и получается что с новыми параметрами у нас строки "съезжают" на следующую страницу. Вот для этого в самом начале мы говорим 1С какие поля должны быть у нашего документа, и после этого 1С уже корректно сделает разбивку по страницам. Собственно чем полнее и точнее мы зададим параметры страницы тем правильнее будет отрабатывать функция проверитьВывод, вот поэтому мы и добавили размер колонтитула и автомасштаб
#5 by Aleksey
Заодно спрошу тут у знающих как пользоваться ИмяПараметровПечати (КлючПараметровПечати), а точнее как корректно заставить её работать. Ибо сейчас ему пофиг на мои параметры, как только я пишу ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СчетФактураВыданный_СчетФактура1137", то он удаляет все мои настройки печати и "восстанавливает" свои сохраненые, из за этого несмотря на то что разбивка идет по другому, но на экран в параметры страницы записываются совсем уж левые параметры, которые сохранены в ПАРАМЕТРЫ_ПЕЧАТИ_СчетФактураВыданный_СчетФактура1137" и как их там программно менять я не нашел (меняются только при интерактивном изменении параметров страницы). Поэтому для достижения стабильного результата и удаляем эту строку от греха подальше. Это приведет лишь к тому что он не будет сохранять изменения параметров заданных вручную пользователем, а всегда будет выводить новую печатную форму исходя из тех параметров которые мы задали в начале процедуры.
#6 by Cerera
достойный ответ.
#7 by dkonakov
Спасибо, очень помогло!
#8 by Ненавижу 1С
а КОГДА уже это исправят?
#9 by ptiz
Т.е. они меняют параметры страницы после использования .ПроверитьВывод? Ну и олени :)
#10 by dkonakov
вроде такая элементарщина, а похоже, что тянется уже давно.
#11 by Масянька
Я в ТиС'е переписала и счет-фактуру и Торг-12: наименование номенклатуры - разбивается на строки заданной длины, кол-во строк на странице - зашито четко. Короче, долбилась долго.
#12 by Aleksey
В 7-ке нет функции ПроверитьВывод. Вот и приходится извращаться с фиксированным макетом
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С