|
Вывод области превышающей размер страницы | ☑ | ||
---|---|---|---|---|
0
gidilica_
alexandr 08.09.16
✎
16:50
|
Столкнулся с проблемой: есть область макета с установленным свойством "Переносить" в нее загоняем какой-то текст.. так вот нарвались на случай, когда размер получившейся области с текстом превышает высоту страницы! 1С то что не влезает на страницу обрезает при печати. Кто с сталкивался?
|
|||
1
gidilica_
alexandr 08.09.16
✎
17:20
|
версия платформы 8.3.6.2299
|
|||
2
vicof
08.09.16
✎
17:25
|
Я сталкивался
|
|||
3
vicof
08.09.16
✎
17:26
|
Запили голосовалку
|
|||
4
gidilica_
alexandr 08.09.16
✎
17:28
|
(2) Проблему решил обычным макетом? или переписывали через, например, шаблоны ворда?
(3) не понял для чего |
|||
5
Defender aka LINN
08.09.16
✎
17:39
|
(0) У тебя одна строка получается больше страницы?
|
|||
6
Vladal
08.09.16
✎
17:41
|
Попробуй метод табличного документа ПроверитьВывод().
Если, например, не помещается, обрезай строку. Можно сделать рекурсивно. |
|||
7
Vladal
08.09.16
✎
17:42
|
(2) Сталкивался - расскажи, как решил.
Тут же не тупо ответ в булевой логике, а вопрос как решить. |
|||
8
vicof
08.09.16
✎
17:45
|
(7) Вопрос был "Кто сталкивался?", а не "Как решить?"
|
|||
9
aleks_default
08.09.16
✎
17:53
|
(0)Было дело. У ячейки свойство "Размещение текста" стоит "Переносить", но при формировании печ. формы текст обрезается. Автовысота строки не помогает. Никак не решил.
|
|||
10
vicof
08.09.16
✎
17:55
|
(9) Надо было еще высоту в 0 поставить
|
|||
11
aleks_default
08.09.16
✎
17:58
|
(10) В смысле и галку "Максимальная высота строк" тоже?
|
|||
12
vicof
08.09.16
✎
18:40
|
(11) когда высоту ячейки редактируешь, там галка и поле. Их надо вместе менять. Если высота есть, автовысота не действует
|
|||
13
aleks_default
09.09.16
✎
09:13
|
(12)Не, не то. Текст в ячейке формируется программно(Параметр), соответственно высоту строки я заранее не знаю и установить конкретное значение не могу.
Я просто галку Автовысота строки ставил/снимал, при этом галка "Максимальная высота строк" не стоит и значение высоты = 0. Но это не помогло. Все равно текст обрезается. |
|||
14
vicof
09.09.16
✎
09:22
|
(13) Пичалька( Тогда надо на примере смотреть.
|
|||
15
Vladal
модератор
09.09.16
✎
09:32
|
(8) Тогда я лично прошу тебя от имени автора - поделись своим способом решения этой проблемы.
|
|||
16
gidilica_
alexandr 19.09.16
✎
12:29
|
тут проблема именно в том, что при печати данные просто режутся.. на экране, если не стоит разделитель страниц - то все нормально
|
|||
17
gidilica_
alexandr 19.09.16
✎
12:31
|
(5) Да, именно так, одна строка превышает размер страницы.. никак делить я ее не могу, ну разве что чисто теоретически, но ваще хз как, ибо у меня и автопереносы строк есть, и перенос строки и ширина символа разная, разве что какнибудь посимвольно выводить текст и в этот момент разделять текст на отдельные строки, которые выводит как разные области, но это ппц геморно
|
|||
18
ifso
19.09.16
✎
12:49
|
(17)
> разве что какнибудь посимвольно выводить текст ждем "спасите!символ превышает размер страницы!", не?) или разделить суперпуперную строку и вывести в разные ячейки с соответствующим оформлением ячеячных границ не предлагать? |
|||
19
aleks_default
19.09.16
✎
13:25
|
(17) Автомасштаб поставить не?
|
|||
20
gidilica_
alexandr 19.09.16
✎
14:10
|
(19) уважаемый, автомасштаб выравнивает размер страницы по ширине, а у меня по высоте область не вмещается.. и все равно хотелось бы перенос на следующую страницу, а не тупое уменьшение масштаба
(18) к чему передергивания? ну и то что вы предлагаете, вы хоть имеете представление как это реализовать и что за франкенштейн будет на выходе?? у меня шрифт не моноширный чтоб ячейками баловаться.. по этой же причине я не могу тупо символы в строчке считать и выводить |
|||
21
ifso
19.09.16
✎
16:39
|
(20) к чему стоны? обрезая безразмернонемоноширинного франкенштейна вендор какбэ намЯкивает про подобное нетупое баловство, не?
|
|||
22
patria0muerte
20.09.16
✎
05:31
|
Выводи построчно. Я делал подобное примерно так:
Пока НомерСтроки <= СтрЧислоСтрок(ТекстРаздела) Цикл ОбластьТекстРаздела = Макет.ПолучитьОбласть("РазделТекст"); ТекстСтроки = СтрПолучитьСтроку(ТекстРаздела, НомерСтроки); ОбластьТекстРаздела.Параметры.ТекстРаздела = ТекстСтроки; Если НЕ НомерСтроки = СтрЧислоСтрок(ТекстРаздела) Тогда ОбластьТекстРаздела.Области.РазделТекст.ГраницаСнизу = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.НетЛинии); КонецЕсли; ВыводСПроверкой(ТабличныйДокумент, ОбластьТекстРаздела); НомерСтроки = НомерСтроки + 1; КонецЦикла; Здесь ТекстРаздела в теории может превышать размер листа. Я бью его на строки и каждую строку отдельно вывожу. Если текст без переносов строк - то конечно не взлетит. Тогда можно попробовать пихать в таб. док количество символов порциями (штук по 20ть) и проверять вывод. Когда выводиться перестает - делаешь шаг назад и выводишь в фактический док то что влазит. |
|||
23
gidilica_
alexandr 20.09.16
✎
09:56
|
(22) Спасибо, вчера решил вопрос по-другому, но по схожей схеме
получил массив разделителей (символы которыми мы разделяем слова и т.п.) ну и ищу их в тексте, вывожу постепенно в табличный документ и проверяю через проверитьвывод().. думал что при одной области проверитьвывод закосячит, но нет - отработал.. у меня просто странный макет, там и шапка фиксированная есть, и колонтитулы снизу.. и ширина страницы не стандартная |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |