目前,我的自定义事务处理表单中有一个值/属性表。我想编写一个高级PDF模板,因此当我将表单打印为PDF时,一些值将分组到不同的部分。
例如,我的表单有四个属性,分别称为Store、Product ID、Prices和NumOfSales,如下所示。
- AA、123、2.89、10
- AA、123、2.89、12
- BB、123、1.99、29
- BB、124、4.00、9
我想写一个先进的pdf模板,使打印的结果看起来像下面。 - AA、123、2.89、22
- BB、123、1.99、29
124、4.00、9
我想知道高级PDF模板- Freemaker是否有group_by()和sum()函数,或者我是否需要使用SuiteScript来实现这一点。如果我需要使用SuiteScript,如何将高级PDF模板和脚本结合在一起。谢谢您的帮助。
2条答案
按热度按时间dwbf0jvd1#
完整的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
模块。hkmswyz62#
如果你能在将数据传递给freemarker之前进行处理/分组,那你就更好了。但是,如果你要做一些像扩展标准交易表单这样的事情,那就不是一个简单的选择。
您可以使用序列运算模拟分组。(请参阅http://freemarker.org/docs/ref_builtins_sequence.html)
然后道: