如何在netsuite/freemarker中对高级pdf/html工作表中的列表进行分组?

如何在netsuite/freemarker中对高级pdf/html工作表中的列表进行分组?,netsuite,freemarker,Netsuite,Freemarker,我想将每个部门分组,创建一个摘要 例如,如果我在发票行级别上有以下数据: 部门/金额/船舶/税费/总额: A1/15/0/0/15 A1/30/0/0/30 A1/5/0/0/5 A2/45/0/0/45 A3/50/0/0/50 A4/45/0/0/45 我希望它像这样打印: 部门/金额/船舶/税费/总额: A1/50/0/0/50 A2/45/0/0/45 A3/50/0/0/50 A4/45/0/0/45 总计/190/0/0/190 以下是我到目前为止得到的信息,但它没有对它们进

我想将每个部门分组,创建一个摘要

例如,如果我在发票行级别上有以下数据:

  • 部门/金额/船舶/税费/总额:
  • A1/15/0/0/15
  • A1/30/0/0/30
  • A1/5/0/0/5
  • A2/45/0/0/45
  • A3/50/0/0/50
  • A4/45/0/0/45
我希望它像这样打印:

  • 部门/金额/船舶/税费/总额:
  • A1/50/0/0/50
  • A2/45/0/0/45
  • A3/50/0/0/50
  • A4/45/0/0/45
  • 总计/190/0/0/190
以下是我到目前为止得到的信息,但它没有对它们进行分组:

`<table style="width: 100%; margin-top: 10px;">
    <thead>
    <tr>
        <td border-bottom="1px solid black" width="32%">Department</td>
        <td border-bottom="1px solid black" width="20%">Merchandise Amount</td>
        <td border-bottom="1px solid black" width="17%">Del./Sve. Amount</td>
        <td border-bottom="1px solid black" width="14%">Tax Amount</td>
        <td border-bottom="1px solid black" width="17%">Total Inv. Amount</td>
    </tr>
    </thead>
<#list record.line?sort as item><#assign i = 0>
<#assign memo_check = ["A1", "A2", "A3", "A4", "A5", "A6", "A7"]/>
<#if memo_check[i] != item.memo>
    <!--DO NOTHING-->
</#if>
<#assign i += 1>
    <tr>
        <td width="32%">${item.memo}</td>
        <td width="20%">${item.amount}</td>
        <td width="17%">0.00</td>
        <td width="14%">0.00</td>
        <td width="17%">${item.amount}</td>
    </tr>
</#list>
</table>`
`
部门
商品数量
Del./Sve。数量
税额
存货总额
${item.memo}
${item.amount}
0
0
${item.amount}
`

基本上,您可以通过循环每个部门的所有项目来实现这一点

关于这一点的一些讨论,以及“使用${groupId}做点什么”的地方,您可以这样做:

<#assign dept_total = 0>

<#list record.item as dept_item>
    <#assign line_dept = dept_item.memo>
    <#if line_dept == groupId>
    <#assign dept_total = dept_total + dept_item.amount>
    ... // any other calculations
</#list>
... // use the dept_total etc
// then the outer loop will find the next unique dept.

... // 还有其他计算吗
... // 使用部门总数等
//然后外部循环将找到下一个唯一的部门。

进行此类计算不是模板引擎的功能。我不知道Netsuite,但它不能在项目暴露于模板之前对其进行分组吗?似乎部门总数不起作用,因为它返回“0”-初始分配。你知道什么会让它变成那样吗?这是我使用上述帮助编写的代码的一部分:
${item.memo}${dept\u total}$0.00$0.00${dept\u total}
根据您发布的内容,您有
=+
而不是
+=
。不过,我希望这会带来一个错误。