![]() |
![]() |
|
Печать Таблицы на нескольких страницах | ☑ | ||
---|---|---|---|---|
0
Csar
05.03.13
✎
14:02
|
Всем привет.
Подскажите, пожалуйста, как организовать корректную печать табличного документа на нескольких страниц? Дело в том, что если таблица больше чем на страницу, то при печати она обрезается не по границе строки, а где попало и на следующей странице продолжается с этого момента. В итоге получается не красиво, бухгалтер бракует такую печать. |
|||
1
RomaH
naïve
05.03.13
✎
14:04
|
проверить вывод?
|
|||
2
Csar
05.03.13
✎
14:06
|
(1) Так?
Если Не ТабДок.ПроверитьВывод(МассивВыводимыхОбластей) Тогда
В таком случае существенно усложнится заполнение ТабДок. Нет ли чего то более просто, типа задания свойства документа или что то в этом духе? |
|||
3
palpetrovich
05.03.13
✎
14:08
|
(2) ну если существенно усложнится , считай строки :)
|
|||
4
Юный 1С
05.03.13
✎
14:08
|
Вот пример из УПП при печати ТОРГ 12
МассивВыводимыхОбластей.Очистить(); МассивВыводимыхОбластей.Добавить(ОбластьМакета); МассивВыводимыхОбластей.Добавить(ОбластьИтоговПоСтранице); Если НомерСтроки = КоличествоСтрок Тогда МассивВыводимыхОбластей.Добавить(ОбластьПодвала); МассивВыводимыхОбластей.Добавить(ОбластьМакетаВсего); КонецЕсли; Если НомерСтроки <> 1 И НЕ ФормированиеПечатныхФормСервер.ПроверитьВыводТабличногоДокумента(ТабДокумент, МассивВыводимыхОбластей) Тогда ... КонецЕсли; |
|||
5
Csar
05.03.13
✎
14:16
|
Спасибо!
Видимо не избежать доп. наворота для проверки. |
|||
6
RomaH
naïve
05.03.13
✎
14:18
|
(5) это фигня, вот когда "ПроверитьВывод" будет безбожно врать на пару строк, вот тогда - да
|
|||
7
Csar
05.03.13
✎
14:24
|
(6) а что тогда делать? Вручную рассчитывать высоты всех областей?
|
|||
8
RomaH
naïve
05.03.13
✎
14:26
|
(7) ну может и не встретиться
я просто вычитал пару строк |
|||
9
Csar
05.03.13
✎
14:49
|
такой еще момент. 1С проверяет умещается ли текст на ланшафтной ориентации, хотя надо на портретной. Как ее pfcndfnbm проверять на портретной?
Я испробовал уже все предварительные свойства, но не работает как надо. Мой код ТабДок = ЭлементыФормы.ПолеТабличногоДокумента1;
После этого делаю проверку вывода. В итоге разделительная полоса появляется, но на том месте, где она нужна была бы при альбомной ориентации. |
|||
10
Csar
05.03.13
✎
15:11
|
Почему то ПроверитьВывод врет в меньшую сторону, т.е. в печатной форме ТабДок разделительные полосы встречаются раньше чем надо. Где же тут корявость моих рук?
|
|||
11
Юный 1С
05.03.13
✎
15:50
|
Либо в МассивВыводимыхОбластей что-то не то добавил. А может быть (если я не прав, то поправьте меня) это связано с параметром вывода, а точнее с ориентацией (ланшафт или портрет) выводимого таб. документа. Т.е. в самом начале не задана конкретно ориентация страницы, он проверяет помешается или нет (допустим при портретном выводи), а потом в самом конце явно задаете ориентация (ландшафт) и там начинает отображать некорректно
|
|||
12
Csar
05.03.13
✎
16:06
|
(11) Нет, условия задаю в начале (см. (9)).
Ориентация смотрю отладчиком как у ТабДок, так и у областей Портретная. Как я понял дело не в ориентации, а из принципа формирования высоты областей и высоты страницы. Как то неправильно считается высота областей. Ниже вырезка параметров одной из области. Может это то что то подскажет? Свойство Значение Тип МассивОбластей[4] ТабличныйДокумент ТабличныйДокумент АвтоМасштаб Ложь Булево ВерхнийКолонтитул КолонтитулТабличногоДокумента КолонтитулТабличногоДокумента ВстроенныеТаблицы КоллекцияВстроенныхТаблиц КоллекцияВстроенныхТаблиц Вывод Авто ИспользованиеВывода ВыделенныеОбласти ВыделенныеОбластиТабличногоДокумента ВыделенныеОбластиТабличногоДокумента ВысотаСтраницы 297 Число ВысотаТаблицы 1 Число Защита Ложь Булево ИмяПараметровПечати "" Строка ИмяПринтера Неопределено ИмяСохраненияПоложенияОкна "" Строка ИспользуемоеИмяФайла "" Строка ИтогиСнизу Ложь Булево ИтогиСправа Ложь Булево КлючПараметровПечати "" Строка КлючСохраненияПоложенияОкна "" Строка КодЯзыкаМакета Неопределено КоличествоЭкземпляров 1 Число МасштабПечати Неопределено НаправлениеПерехода По колонкам ТипНаправленияПереходаТабличногоДокумента НижнийКолонтитул КолонтитулТабличногоДокумента КолонтитулТабличногоДокумента Области КоллекцияОбластейТабличногоДокумента КоллекцияОбластейТабличногоДокумента ОбластьПечати Неопределено ОриентацияСтраницы Портрет ОриентацияСтраницы ОтображатьГруппировки Истина Булево ОтображатьЗаголовки Истина Булево ОтображатьСетку Истина Булево Параметры ПараметрыМакетаТабличногоДокумента ПараметрыМакетаТабличногоДокумента ПовторятьПриПечатиКолонки Неопределено ПовторятьПриПечатиСтроки Неопределено ПолеСверху 0 Число ПолеСлева 10 Число ПолеСнизу 0 Число ПолеСправа 10 Число РазборПоКопиям Неопределено РазмерКолонтитулаСверху 10 Число РазмерКолонтитулаСнизу 10 Число РазмерСтраницы Неопределено Рисунки КоллекцияРисунковТабличногоДокумента КоллекцияРисунковТабличногоДокумента СохранятьСвойстваОтображения Ложь Булево ТекущаяОбласть ОбластьЯчеекТабличногоДокумента ОбластьЯчеекТабличногоДокумента ТолькоПросмотр Ложь Булево ТочностьПечати Авто ТочностьПечати ФиксацияСверху 0 Число ФиксацияСлева 0 Число ФиксированныйФон Ложь Булево ФоноваяКартинка Картинка Картинка ЦветТекстаГруппировки Недоступно для чтения ЦветТекстаЗаголовков Недоступно для чтения ЦветФонаГруппировки Недоступно для чтения ЦветФонаЗаголовков Недоступно для чтения ЧерноБелаяПечать Ложь Булево ЧерноБелыйПросмотр Ложь Булево ШиринаСтраницы 210 Число ШиринаТаблицы 8 Число ЭкземпляровНаСтранице Неопределено |
|||
13
Csar
05.03.13
✎
16:08
|
(12) Таких областей 20 шт, плюс 4 области с высотойТаблицы 4, 3, 2 и 12 (остальные параметры те же).
Вот параметры к ТабДоку Свойство Значение Тип
|
|||
14
Csar
05.03.13
✎
16:11
|
Я также пробовал обнулять поля сверху и снизу для областей. Думал, что они влияют. Не помогло.
|
|||
15
Csar
05.03.13
✎
16:39
|
Выяснил, что Параметр ВысотаТаблицы - это не высота таблицы в мм, а реально количество строк области. При этом реальную высоту этой области я не знаю как получить
|
|||
16
Reset
05.03.13
✎
16:47
|
Про ВместеСоСледующим еще почитай
|
|||
17
Csar
05.03.13
✎
16:54
|
(16) А причем тут "ВместеСоСледующим"? Это свойство вроде бы для склеивания соседних областей? Это мне не поможет.
В макете установлено по-умолчанию авторазмер высоты. Вот, думаю из-за этого и коряво работает "ПроверитьВывод"? |
|||
18
Reset
05.03.13
✎
16:57
|
(17) А ты почитал? Или вроде?
|
|||
19
Reset
05.03.13
✎
16:59
|
(17) Ты: "то при печати она обрезается ... где попало "
СП про (16): "Объединяет строки или колонки области таким образом, чтобы при разделении на страницы они всегда оказывались на одной странице" Ты: "Это мне не поможет" Что мне сказать тебе в ответ? :) |
|||
20
Reset
05.03.13
✎
17:02
|
Ты пожаловался просто, дескать "ПроверитьВывод" слишком сложно. Это альтернатива. Как хочешь :)
|
|||
21
Csar
05.03.13
✎
17:12
|
(20) Спасибо за помощь, но задача не сгруппировать области вместе, а сделать так, что бы весь ТабДок делился по страницам максимально плотно забивая страницы. А у меня сейчас ТабДок поделился на 2 страницы, причем первая страница занята на 2/3 объема и туда спокойно поместится еще десяток строк(областей).
А свойство "ВместеСоСледующим" необходимо для того, что бы избежать случаем, когда на второй странице остается лишь подвал, как пример. |
|||
22
Reset
05.03.13
✎
17:14
|
(21) В (0) об этом ни слова
|
|||
23
Csar
05.03.13
✎
17:24
|
(22) Проблема появилась, когда посоветовали через проверятьВывод вносить разделители страниц. В (0) еще не было не полного заполнения страницы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |