0

こんにちは、xsl-fo を使用した PDF 生成に問題があります。各ページの pdf 印刷請求書行。そのため、最後のページに見出しを印刷するかどうかを決定する条件付きチェックが最後のページにあります。最後のページに 1 行以上ある場合は、見出しが必要です。そうでなければそうではありません。

現在、以下のロジックを使用して行われています

if(total number of invoice lines== preceding::number of invoice lines+1)
{
 call an empty marker
}
else
{
call a marker which prints the heading
}

前の請求明細行数 + 1 が請求明細行の合計数と等しい場合、見出しは表示されません。最後のページに表示される行がもうない場合、または最後のページの行数が 1 より大きい場合、ロジックは true になります。

今問題は、

最後のページに 1 行しかない場合、上記のロジックは失敗します。

条件 if(合計請求明細数==先行::請求明細数+1) が真になり、見出しを表示しない空のマーカーが呼び出されます。最後のページに請求書の行が 1 つしかない場合でも、見出しを表示する必要があります。

この問題を解決する方法はありますか?

どんな助けでも大歓迎です。

-アルン

スクリーンショット:

次のスクリーン ショットは、2 ページの請求書を示しています。

次のスクリーン ショットは、2 つの請求明細行を含む最後のページを示しています。最後のページに 2 行しかない場合、ロジックは成り立ちます。

http://img97.imageshack.us/i/85089628.jpg

しかし、最終ページが1行しかない場合、条件チェックif(総請求書行数==先行::請求書行数+1)が真となり、見出しが表示されません。

http://img222.imageshack.us/i/49057497.jpg

4

1 に答える 1

0

OR 条件を使用して if 条件を拡張できます。正確な構文は今はわかりませんが、おそらく次のようなものです

if(total number of invoice lines != 1 ||
   total number of invoice lines== preceding::number of invoice lines+1)
{
 call an empty marker
} ...

動作する可能性があります。

于 2011-03-15T07:01:57.933 に答える