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>
我有一个贷项通知单模板,我想在其中包含已应用此贷项的发票(此信息位于 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>