2017-01-03 7 views
0

У нас есть требование в отчетах издателя XML, в которых у шаблона RTF есть поле в нижней части страницы. Позиция поля снизу основывается на многих атрибутах (количество слов по всем указанным выше полям)Как динамически отображать поле в шаблоне RTF на основе позиции другого поля

Поле будет отображаться на первой или второй странице, если шаблон не может разместить поле на первой странице ,

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

Предпосылкой является, если это поле отображается на второй странице мы должны динамически отображать некоторое значение (как значение будет показано на второй странице) на первой странице.

В любом случае мы можем достичь этого?

ответ

0

Я думаю, вам нужно будет установить условие if, чтобы проверить длину данных в поле, которое вы печатаете, и условно распечатать жесткий текст в качестве последнего текста на стр. 1. Вам нужно будет пройти пробную версию и ошибку, чтобы найти нужную длину, где BIP решит нажать на страницу2.

<?xdofx:length(char)?> returns the length of char. 
+0

Да, но текст, перемещаемый на следующую страницу, зависит не только от длины этого поля. Есть много полей поверх этого, если длина этого поля становится высокой, это поле будет перемещено вниз в стр. 1. Как если бы поля поверх них были большего размера, это поле будет перемещено на вторую страницу, даже если оно имеет две строки, и если поля сверху этих размеров меньше, это поле будет на странице 1, даже если оно из 3-4 линий. Итак, есть ли способ определить, есть ли какое-либо поле на той же странице или нет в шаблоне RTF? – Farish

+0

Если его сложнее, вам нужно будет использовать команды [xsl: fo] [1] в BIP. Используйте функции pagenumber, чтобы получить, на какой странице вы находитесь, и используйте это, чтобы решить, печатать ли сообщение наполнитель. [1]: https://docs.oracle.com/cd/E10091_01/doc/bip.1013/b40017/T114602T418798.htm#3629942 –