2

我想在 OpenERP 中的一些报告中添加侧边栏或标题。ReportLab用户手册 (PDF)描述了<frame><nextFrame>标签。OpenERP 是否完全支持它们?我已经完成了一些工作,但一帧只是流入下一帧,因此占用一页以上的报告最终会出现重叠的文本。

4

1 回答 1

1

经过大量的代码挖掘,我有框架在 OpenERP 5.0 中工作。我必须找到的关键特征是last="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的距离。您可以在两个位置指定页面模板:在报表本身内,或在公司配置中定义的标题内。如果使用页眉,则报表的第一页模板将替换为页眉的页面模板,因此报表模板可以只是一个标签,其中包含一个空标签。公司表头只能使用一个页面模板,但每个报表可以定义多个页面模板。pageTemplateframe

当您想在其他框架之一中放置某些东西时,请使用setNextFrameand nextFrame

<setNextFrame name="upper_right"/>
<nextFrame/>

您不必按顺序使用框架。您可以切换到列表中较早的帧,它不会开始新页面。

有关更改标头的更多详细信息,请参阅文档或有关用户定义标头的问题。

于 2012-10-02T22:33:51.730 回答