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>