在SuiteBuilder Customisation Guide的第176/177页上,Oracle解释了如何向模板内的表添加分页符。
给出的示例是:
<!-- start of item table in transaction -->
<#list record.item as item>
<#if item_index==0> <!-- Header Definition -->
<tr>
<th>${item.field1@label}</th>
<th>${item.long_text_field@label}</th>
<th>${item.field2@label}</th>
<!-- ... -->
</tr>
</#if>
<#list item.long_text_field?split("<br />") as paragraph>
<#if desc_index==0>
<tr>
<td>${item.field1}</td>
<td>${paragraph}</td>
<td>${item.field2}</td>
<!-- ... -->
</tr>
<#else>
<tr>
<td></td>
<td>${paragraph}</td>
<td></td>
<!-- ... -->
</tr>
</#if>
</#list>
</#list>
<!-- end of item table in transaction -->
但这会导致以下错误:
似乎无法评估术语desc_index
,此外,该术语除这里以外没有出现与NETSuite相关的任何其他文档。
这是错误/错误/已弃用的代码吗?
答案 0 :(得分:2)
这是示例中的错字。
通过将列表名称与“ _index”串联来引用Freemarker中的列表索引。因此,在此示例中,desc_index
应该替换为paragraph_index
。
看来他们是从另一个清单名称为“ desc”(可能是“ description”)的代码段改编了此示例,却忽略了更新索引引用以使其匹配。
当然,您需要将long_text_field
,field1
和field2
更改为模板可用的真实字段,以使其起作用。
答案 1 :(得分:1)
解决您的问题的标题...
您可以使用<pbr>
标签添加实际的分页符。您还可以设置新的页面布局。请参阅BFO文档以获取更多信息。但是,除非您有逻辑关闭并重新创建表数据的延续,否则您可能不希望使用此方法直接拆分表。
https://bfo.com/products/pdf/docs/userguide.pdf
切片表时,您想要使用page-break-inside: avoid;
之类的CSS
https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-inside