Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Вывод области превышающей размер страницы

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

Пока НомерСтроки <= СтрЧислоСтрок(ТекстРаздела) Цикл
            
    ОбластьТекстРаздела = Макет.ПолучитьОбласть("РазделТекст");
    
    ТекстСтроки = СтрПолучитьСтроку(ТекстРаздела, НомерСтроки);
    
    ОбластьТекстРаздела.Параметры.ТекстРаздела = ТекстСтроки;
    
    Если НЕ НомерСтроки = СтрЧислоСтрок(ТекстРаздела) Тогда
        ОбластьТекстРаздела.Области.РазделТекст.ГраницаСнизу = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.НетЛинии);                
    КонецЕсли; 
    
    ВыводСПроверкой(ТабличныйДокумент, ОбластьТекстРаздела);
    
    НомерСтроки = НомерСтроки + 1;
                
КонецЦикла; 


Здесь ТекстРаздела в теории может превышать размер листа. Я бью его на строки и каждую строку отдельно вывожу.

Если текст без переносов строк - то конечно не взлетит.

Тогда можно попробовать пихать в таб. док количество символов порциями (штук по 20ть) и проверять вывод. Когда выводиться перестает - делаешь шаг назад и выводишь в фактический док то что влазит.
   gidilica_alexandr
 
23 - 20.09.16 - 09:56
(22) Спасибо, вчера решил вопрос по-другому, но по схожей схеме
получил массив разделителей (символы которыми мы разделяем слова и т.п.) ну и ищу их в тексте, вывожу постепенно в табличный документ и проверяю через проверитьвывод().. думал что при одной области проверитьвывод закосячит, но нет - отработал..
у меня просто странный макет, там и шапка фиксированная есть, и колонтитулы снизу.. и ширина страницы не стандартная


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует