Netsuite PDF/HTML 模板中的子列表

Sublist in Netsuite PDF/HTML Template

我有一个贷项通知单模板,我想在其中包含已应用此贷项的发票(此信息位于 ITEM > 应用下记录的子列表中)

我目前在模板中有以下代码,它似乎只显示了子列表中的第一张发票??我不明白为什么。

    <#if record.apply?has_content>

<table>
<thead><tr><th>Applied to:</th></tr></thead></table>
<table><#list record.apply as apply><#if apply_index==3>
<thead>
    <tr>
    <th style="align: center;">Date</th>
    <th style="align: center;">Invoice</th>
    <th style="align: center;">Original Amount</th>
    <th style="align: center;">Payment</th>
    <th style="align: center;">Due</th>
    </tr>
</thead><tr>
    <td style="align: center;">${apply.duedate}</td>
    <td style="align: center;">${apply.refnum}</td>
    <td style="align: center;">${apply.total}</td>
    <td style="align: center;">${apply.amount}</td>
    <td style="align: center;"><#assign remaining=(apply.total)-(apply.amount)>${remaining?string.currency}</td>
    </tr></#if></#list>
    </table></#if>

我无权访问任何 suitescript 或 serverscript 或类似的东西,所以我需要 PDF/HTML 模板中的源代码的解决方案(如果可能)

您有<#if apply_index==3>,这只会出现一次。它应该是 <#if apply_index==0> 并且应该在定义 thead 之后结束。

列表循环的其余部分应该保持原样。问题是你的 if 语句。它通常用于仅在索引 0 处创建 header。tbody 的其余部分在 if 语句之外和列表循环内生成。

因为您的 header 是 100% 静态类型的,您根本不需要 if 语句。您应该只在列表循环中的 TBODY 中包含 TR 部分。

<#if record.apply?has_content>
    <table>
        <thead><tr><th>Applied to:</th></tr></thead></table>
        <table>
            <thead>
            <tr>
                <th style="align: center;">Date</th>
                <th style="align: center;">Invoice</th>
                <th style="align: center;">Original Amount</th>
                <th style="align: center;">Payment</th>
                <th style="align: center;">Due</th>
            </tr>
        </thead>
        <tbody>
            <#list record.apply as apply>
            <tr>
                <td style="align: center;">${apply.duedate}</td>
                <td style="align: center;">${apply.refnum}</td>
                <td style="align: center;">${apply.total}</td>
                <td style="align: center;">${apply.amount}</td>
                <td style="align: center;"><#assign remaining=(apply.total)-(apply.amount)>${remaining?string.currency}</td>
            </tr>
            </#list>
        </tbody>
    </table>
</#if>