Oracle NetSuite 高级 PDF 模板是否具有 "Group by" 和 "SUM" 功能?
Does Oracle NetSuite Advanced PDF Template have "Group by" and "SUM" Functions?
重复问题,抱歉......
完整的 Freemarker 文档可用 here。
没有 group_by()
或 sum()
等内置函数,虽然您可以使用 <#list>
指令等将某些东西放在一起,但您会更轻松使用像 lodash.
这样的库在 JavaScript 中执行此操作
有关如何组合 SuiteScript 和高级 PDF/HTML 模板的详细信息,请参阅帮助部分主题 Using SuiteScript to Apply Advanced Templates to Non-Transaction Records, or if you are using SS2.0 see the N/render
模块。
如果您可以在将数据传递给 freemarker 之前执行 processing/grouping,那么您会过得更好。但是,如果您正在做一些事情,例如扩展标准交易表格,那不是一个简单的选择。
您可以使用序列操作来模拟分组。 (参见 http://freemarker.org/docs/ref_builtins_sequence.html)
然后:
<#assign seen_style = []>
<#list record.item?sort_by('custcol_style') as lineitem>
<#assign lineStyle = lineitem.custcol_style>
<#if seen_style?seq_contains(lineStyle)>
<#else>
<#assign seen_style = seen_style + [lineStyle]>
<#assign styleTotal = 0>
<#list record.item?sort_by('custcol_size') as styleItem>
<#if lineStyle == styleItem.custcol_style>
<#assign styleTotal = styleTotal + styleItem.quantity>
</if>
</#list>
<div>${lineStyle} has ${styleTotal}</div>
</#if>
</#list>
重复问题,抱歉......
完整的 Freemarker 文档可用 here。
没有 group_by()
或 sum()
等内置函数,虽然您可以使用 <#list>
指令等将某些东西放在一起,但您会更轻松使用像 lodash.
有关如何组合 SuiteScript 和高级 PDF/HTML 模板的详细信息,请参阅帮助部分主题 Using SuiteScript to Apply Advanced Templates to Non-Transaction Records, or if you are using SS2.0 see the N/render
模块。
如果您可以在将数据传递给 freemarker 之前执行 processing/grouping,那么您会过得更好。但是,如果您正在做一些事情,例如扩展标准交易表格,那不是一个简单的选择。
您可以使用序列操作来模拟分组。 (参见 http://freemarker.org/docs/ref_builtins_sequence.html)
然后:
<#assign seen_style = []>
<#list record.item?sort_by('custcol_style') as lineitem>
<#assign lineStyle = lineitem.custcol_style>
<#if seen_style?seq_contains(lineStyle)>
<#else>
<#assign seen_style = seen_style + [lineStyle]>
<#assign styleTotal = 0>
<#list record.item?sort_by('custcol_size') as styleItem>
<#if lineStyle == styleItem.custcol_style>
<#assign styleTotal = styleTotal + styleItem.quantity>
</if>
</#list>
<div>${lineStyle} has ${styleTotal}</div>
</#if>
</#list>