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