2017-01-03 10 views
0

Nous avons besoin d'un rapport XML Publisher dans lequel le modèle RTF contient un champ en bas de la page. La position du champ à partir du bas est basée sur de nombreux attributs (nombre de mots de tous les champs ci-dessus)Comment afficher dynamiquement un champ dans un modèle RTF en fonction de la position d'un autre champ

Le champ sera affiché dans la première page ou sur la deuxième page si le modèle ne peut pas accueillir le champ dans la première page .

Lorsque le champ est trop grand, il passe à la deuxième page laissant derrière lui une grande quantité d'espace vide dans la première page. (nous avons décoché Permettre la ligne de plusieurs pages que ce domaine ne doit pas diviser en deux pages)

L'exigence est si ce champ apparaît sur la deuxième page, nous devons montrer dynamiquement une certaine valeur (comme valeur sera montré dans la deuxième page) dans la première page.

Y at-il de toute façon nous pouvons y parvenir?

Répondre

0

Je pense que vous devrez mettre une condition if, pour vérifier la longueur des données dans le champ que vous imprimez, et imprimer conditionnellement le texte codé en dur comme le dernier texte de la page1. Vous devrez passer par essais et erreurs pour trouver la bonne longueur où BIP décide de pousser à la page2.

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

Oui, mais le texte déplacé vers la page suivante dépend non seulement de la longueur de ce champ. Il y a beaucoup de champs en plus, si la longueur de ce champ devient élevée, ce champ sera déplacé vers le bas dans la page1. Comme si les champs au-dessus de ceux-ci sont de plus grande taille ce champ sera déplacé à la deuxième page même s'il est de deux lignes et si les champs au-dessus sont plus petits, ce champ sera dans la page 1 même s'il est de 3-4 lignes. Donc, est-il possible d'identifier si un champ est présent sur la même page ou non dans un modèle RTF? – Farish

+0

Si c'est plus compliqué, vous devrez utiliser les commandes [xsl: fo] [1] dans BIP. Utilisez les fonctions pagenumber pour obtenir la page sur laquelle vous vous trouvez et utilisez-la pour décider d'imprimer un message de remplissage. [1]: https://docs.oracle.com/cd/E10091_01/doc/bip.1013/b40017/T114602T418798.htm#3629942 –