Oracle NetSuite高级PDF模板是否具有" Group by"和" SUM"功能?

时间:2017-05-16 23:54:29

标签: oracle freemarker netsuite

重复的问题,对不起......

2 个答案:

答案 0 :(得分:2)

完整的Freemarker文档可用here

没有内置函数,例如group_by()sum(),虽然您可以使用<#list>指令等将某些内容放在一起,但您可以更轻松地执行此操作在JavaScript中使用像lodash这样的库。

有关如何组合SuiteScript和高级PDF / HTML模板的详细信息,请参阅帮助部分主题Using SuiteScript to Apply Advanced Templates to Non-Transaction Records,或者如果您使用的是SS2.0,请参阅N/render模块。

答案 1 :(得分:1)

如果您可以在将数据传递给freemarker之前进行处理/分组,那么您最好离开。但是,如果你正在做一些像扩展标准交易形式这样的事情,那不是一个简单的选择。

您可以使用序列操作来模拟分组。 (见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>