使用 Netsuite 高级 PDF/HTML 模板进行条件打印(零值)
Posted
技术标签:
【中文标题】使用 Netsuite 高级 PDF/HTML 模板进行条件打印(零值)【英文标题】:Conditional Printing with Netsuite Advanced PDF/HTML Template (Zero Value) 【发布时间】:2020-10-23 08:18:24 【问题描述】:我继承了一个自定义的 NetSuite 高级 PDF/html 模板,这是我们大多数发票的主要默认设置。
我们希望在价值为 0.00 美元时不打印费用行。在线搜索和 Stack Overflow 都没有提供明确的方向。看来#if/#else 可能是解决方案,但我不清楚如何集成到现有代码中。我有一些 HTML/CSS 经验,但对 Freemarker 很陌生。
当前代码看起来包装了打印行项目的指令,这些指令不是作为费用在可计费费用指令中输入的?
<#if record.item?has_content>
<#assign totalBillableExpense = 0>
<table class="itemtable" style="width: 100%; margin-top: 10px;"><!-- start items -->
<#list record.item as item>
<#if item_index==0>
<thead>
<tr>
<th colspan="20" align="left">$item.description@label</th>
<!--th align="center" colspan="3">$item.quantity@label</th-->
<!--th align="right" colspan="4">$item.rate@label</th-->
<th align="right" colspan="4">$item.amount@label</th>
</tr>
</thead>
</#if>
<tr>
<#if item.custcol_ns_print_pdf?string == "Yes">
<td colspan="20">
<!--#if item.itemtype?contains("Description") || item.itemtype?contains("Subtotal")-->
<!--/#if-->
$item.description</td>
<!--td align="center" colspan="3" line->$item.quantity</td-->
<!--td align="right" colspan="4">$item.rate</td-->
<td align="right" colspan="4">$item.amount</td>
</#if>
<#if item.description?contains("Total Billable Expenses")>
<#assign totalBillableExpense = totalBillableExpense + item.amount>
</#if>
</tr>
</#list><!-- end items -->
<tr>
<td colspan="20">Billable Expenses </td>
<td align="right" colspan="4">$totalBillableExpense?string.currency</td>
</tr>
【问题讨论】:
你的问题不是很清楚。你能用 cmets 标出你想排除的部分吗?你的意思是如果它的数量为0就不要打印一行还是不打印整个部分?或者抑制所有潜在的空<tr/>
部分?
【参考方案1】:
这可能是你要问的:
<#if totalBillableExpense gt 0>
<tr>
<td colspan="20">Billable Expenses </td>
<td align="right" colspan="4">$totalBillableExpense?string.currency</td>
</tr>
</#if>
另外,为了避免空 <tr/>
标记的潜在问题,您应该重新表述:
<tr>
<#if item.custcol_ns_print_pdf?string == "Yes">
....
</#if>
<#if item.description?contains("Total Billable Expenses")>
<#assign totalBillableExpense = totalBillableExpense + item.amount>
</#if>
</tr>
类似于:
<#if item.description?contains("Total Billable Expenses")>
<#assign totalBillableExpense = totalBillableExpense + item.amount>
</#if>
<#if item.custcol_ns_print_pdf?string == "Yes">
<tr>
....
</tr>
</#if>
【讨论】:
非常感谢您在不清楚问题时提供了答案。再加上你在钱上击中了它,让我看起来像一个奇才,而不是我的笨手笨脚。也感谢您指出潜在的空标签问题。以上是关于使用 Netsuite 高级 PDF/HTML 模板进行条件打印(零值)的主要内容,如果未能解决你的问题,请参考以下文章
如何使用高级 PDF/HTML 模板工具在 NetSuite 保存的搜索中打印多个公式字段?
Netsuite 高级 PDF/HTML 代码 ifelse 语句