OpenERPの一部のレポートにサイドバーまたはヘッダーを追加したいと思います。ReportLabユーザーマニュアル(PDF)<frame>
には、および<nextFrame>
タグが記載されています。それらはOpenERPで完全にサポートされていますか?動作するものがいくつかありますが、1つのフレームが次のフレームに流れ込むだけなので、複数のページを含むレポートではテキストが重複してしまいます。
1 に答える
コードをたくさん掘り下げた後、OpenERP5.0で動作するフレームができました。私が見つけなければならなかった重要な機能はlast="true"
、フレーム定義の属性でした。つまり、フレームはページの最後のフレームであると想定する必要があります。オーバーフローしたテキストは、現在のページの次のフレームではなく、新しいページの最初のフレームに流れます。結局、すべてのフレームでtrueに設定しました。フレームの例を見るには、貸借対照表レポートの抜粋を次に示します。
<template
pageSize="(8.5in,11in)"
title="Test"
author="Zaber Technologies Inc."
allowSplitting="20">
<pageTemplate id="first">
<frame
id="first"
x1="1.3cm"
y1="0.2cm"
height="27.5cm"
width="14.0cm"
last="true"/>
<frame
id="upper_right"
x1="14.1cm"
y1="21.53cm"
height="5.2cm"
width="5.0cm"
last="true"/>
</pageTemplate>
</template>
このセクションでは、ページレイアウトを指定します。デフォルトでは、テキストはリストの最初のフレームから始まります。ページ下部y1
からの距離です。ページテンプレートは、レポート自体内、または会社の構成で定義されたヘッダー内の2か所で指定できます。ヘッダーを使用する場合、レポートの最初のページテンプレートはヘッダーのページテンプレートに置き換えられるため、レポートのテンプレートは、空のタグが含まれるタグにすることができます。会社のヘッダーは1つのページテンプレートのみを使用できますが、各レポートは複数のページテンプレートを定義できます。pageTemplate
frame
他のフレームの1つに何かを入れたい場合は、とを使用setNextFrame
しnextFrame
ます。
<setNextFrame name="upper_right"/>
<nextFrame/>
フレームを順番に使用する必要はありません。リスト内の前のフレームに切り替えることができますが、新しいページは開始されません。
ヘッダーの変更の詳細については、ドキュメントまたはユーザー定義のヘッダーに関する質問を参照してください。