Текущее время: Пт, апр 19 2024, 15:28

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Баг с переносом страниц при Conditional Break / Pagination PDF
СообщениеДобавлено: Пт, июл 16 2021, 20:13 
Специалист
Специалист

Зарегистрирован:
Пн, авг 27 2012, 13:27
Сообщения: 139
Добрый день всем.

Есть таблица на PDF-формуляре. Количество row не ограничено. Каждый новый row - это новая глава в документе. Она состоит из двух колонок: первая - это набор картинок, а вторая - это длинный текст. Есть условие, что Table Row (вся глава) должен полностью помещаться на странице. Если не помещается, то выводить в начале следующей страницы, а если помещается, то оставлять. Т.е. на одну страницу можно поместить сколько угодно глав, если они туда влезают. Но если места не хватает, то нужно переместить на следующую всю главу целиком.

Для того, чтобы глава не обрывалась, я поставил опцию allow page break within content "пусто". И это помогло: если глава не влезала целиком, то переносилась на начало другой страницы. Но почему-то иногда проскакивает такой баг: содержимое главы не влезает на текущую страницу, но и не переносится на следующую, а вместо этого часть данных "слезает" куда-то вниз за ограничительные рамки и куда-то под страницу.

На данном форуме мно нечто подобного - например тут
https://sapboard.ru/forum/viewtopic.php?f=13&t=80296&p=473156&hilit=pdf+allow+page+break#p473156 описано как переносить сабформу. Но конкретного скрипта нет.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Conditional Break/ Pagination PDF  Тема решена
СообщениеДобавлено: Вт, июл 27 2021, 15:43 
Специалист
Специалист

Зарегистрирован:
Пн, авг 27 2012, 13:27
Сообщения: 139
Code:
var mvar1 = xfa.layout.page(this);
   var mvar2 = xfa.layout.page(this.parent.parent);
   if ( mvar1 > mvar2 ){
      this.parent.parent.parent.parent.parent.parent.SubFormName.break.after = "contentArea";
      xfa.layout.relayout();
     
   }
     
   }

Решил своими силами. Вот скрипт - может, кому-то пригодится.
Конечно, количество операторов parent для каждого случая свой.
Суть скрипта в том, что если какая-то сабформа охватывает не одну страницу, а две, то это отлавливается, и тогда вся сабформа переходит на новую область (страницу).


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB