简体   繁体   中英

Does Oracle NetSuite Advanced PDF Template have “Group by” and “SUM” Functions?

重复的问题,对不起……

The full Freemarker documentation is available here .

There are no built-in functions such as group_by() or sum() , and though you could put something together using <#list> directives etc., you would have a much easier time doing this in JavaScript using a library like lodash .

For more information in how to combined SuiteScript and Advanced PDF/HTML Templates, see the help section topic Using SuiteScript to Apply Advanced Templates to Non-Transaction Records , or if you are using SS2.0 see the N/render module.

If you can do the processing/grouping prior to passing data to freemarker you are better off. However if you are doing something like extending the standard transaction forms that isn't a simple option.

You can simulate grouping by using sequence operations. (see http://freemarker.org/docs/ref_builtins_sequence.html )

Then:

<#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>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM