有没有办法在 Netsuite 高级 PDF 装箱单(freemarker)上显示延期交货的商品?
Is there a way of displaying backordered items on a Netsuite advanced PDF Packing Slip (freemarker)?
基本上我们有一个用于装箱单的 freemarker 表格(netsuite 称之为 Advanced PDF)。它显示已发货的物品、订购数量、发货数量和延期交货数量 - 很简单。
请记住,它需要尊重以前的发货,所以它不会显示已经完成的项目。
问题是,在排除之前发货的过程中,它排除了尚未发货的延期交货商品,我们希望这些商品显示为 X 已订购,0 已发货,X 延期交货。
看看下面的部分 - 到目前为止,我已经尝试为 when quantitybackorder+quantitycommitted gt 0 添加 #elseif,但这实际上是按照订单上的行数重复履行中的每一行,这很奇怪(即订购了 8 行,完成了 2 行 - 这 2 行将重复 8 次,每组数据在其自己的行上)
<#if record.item?has_content>
<table class="itemtable"><!-- start items -->
<#list record.item as item>
<#if item_index==0>
<thead>
<tr>
<th colspan="5" style="align: left;"><span style="font-size:12px;">Item Number</span></th>
<th colspan="12" style="align: left;"><span style="font-size:12px;">Item Description</span></th>
<th colspan="3"><span style="font-size:12px;">Ordered</span></th>
<th colspan="3"><span style="font-size:12px;">Backorder</span></th>
<th colspan="3"><span style="font-size:12px;">Shipped</span></th>
<th colspan="2"><span style="font-size:12px;">Unit</span></th>
</tr>
</thead>
</#if>
<#list salesorder.item as tranline>
<#if tranline.custcol_item_code==item.item>
<tr>
<td colspan="5"><p style="text-align: left;">${item.item}</p></td>
<td colspan="12"><p style="text-align: left;"><span style="font-weight: bold; line-height: 18px;">${item.description}</span><br /><em>${tranline.custcol_extra_details}</em></p></td>
<td colspan="3" style="align: center;">${tranline.quantity}</td>
<td colspan="3" style="align: center;">${tranline.quantitybackordered+tranline.quantitycommitted}</td>
<td colspan="3" style="align: center;">${item.quantity}</td>
<td colspan="2" style="align: center;">${tranline.units}</td>
</tr>
</#if>
</#list>
</#list>
<!-- end items --></table>
</#if>
有谁知道我如何在此处允许延期交货的商品,或者从另一个角度来看,只排除已履行的商品而留下当前履行和延期交货?
非常感谢您的帮助!
我认为这是一个无法解决的问题,您提供的解决方案可以解决它。我实际上已经放弃了,因为出于某种原因,这对列表使所有行都加倍了。我最终得到的是:
<#list salesorder.item as tranline>
<#list record.item as item>
<#if tranline.custcol_item_code==item.custcol_item_code><#assign shippednow=item.quantity ><#else><#assign shippednow=0 ></#if>
</#list>
<tr>
<td colspan="5"><p style="text-align: left;">${tranline.custcol_item_code}</p></td>
<td colspan="12"><p style="text-align: left;"><span style="font-weight: bold; line-height: 18px;">${tranline.description}</span><br /><em>${tranline.custcol_extra_details}</em></p></td>
<td colspan="3" style="align: center;"><#if tranline.quantity gt 0>${tranline.quantity}<#else>0</#if></td>
<td colspan="3" style="align: center;">${tranline.quantitybackordered+tranline.quantitycommitted}</td>
<td colspan="3" style="align: center;">${shippednow}</td>
<td colspan="2" style="align: center;">${tranline.units}</td>
</tr>
</#list>
除了我之前的回答之外,更好的方法是在开始之前将 shippednow 定义为 0,然后绘制数据而不给它选项为零。这避免了在第一行出现索引问题。
<#list salesorder.item as tranline><#assign shippednow=0 >
<#list record.item as item><#if item.orderline==tranline.line><#assign shippednow=item.quantity ></#if></#list><#assign prevship=tranline.quantityfulfilled-shippednow>
<#if tranline.quantity==(prevship!0)><#else>
<tr>
<td colspan="5"><p style="text-align: left;">${tranline.custcol_item_code}</p></td>
<td colspan="12"><p style="text-align: left;"><span style="font-weight: bold; line-height: 18px;">${tranline.description}</span><br /><em>${tranline.custcol_extra_details}</em></p></td>
<td colspan="3" style="align: center;"><#if tranline.quantity gt 0>${tranline.quantity}<#else>0</#if></td>
<td colspan="3" style="align: center;">${(tranline.quantitybackordered+tranline.quantitycommitted)?string.number}</td>
<td colspan="3" style="align: center;">${shippednow!"0"}</td>
<td colspan="2" style="align: center;">${tranline.units}</td>
</tr></#if>
</#list>
基本上我们有一个用于装箱单的 freemarker 表格(netsuite 称之为 Advanced PDF)。它显示已发货的物品、订购数量、发货数量和延期交货数量 - 很简单。 请记住,它需要尊重以前的发货,所以它不会显示已经完成的项目。 问题是,在排除之前发货的过程中,它排除了尚未发货的延期交货商品,我们希望这些商品显示为 X 已订购,0 已发货,X 延期交货。
看看下面的部分 - 到目前为止,我已经尝试为 when quantitybackorder+quantitycommitted gt 0 添加 #elseif,但这实际上是按照订单上的行数重复履行中的每一行,这很奇怪(即订购了 8 行,完成了 2 行 - 这 2 行将重复 8 次,每组数据在其自己的行上)
<#if record.item?has_content>
<table class="itemtable"><!-- start items -->
<#list record.item as item>
<#if item_index==0>
<thead>
<tr>
<th colspan="5" style="align: left;"><span style="font-size:12px;">Item Number</span></th>
<th colspan="12" style="align: left;"><span style="font-size:12px;">Item Description</span></th>
<th colspan="3"><span style="font-size:12px;">Ordered</span></th>
<th colspan="3"><span style="font-size:12px;">Backorder</span></th>
<th colspan="3"><span style="font-size:12px;">Shipped</span></th>
<th colspan="2"><span style="font-size:12px;">Unit</span></th>
</tr>
</thead>
</#if>
<#list salesorder.item as tranline>
<#if tranline.custcol_item_code==item.item>
<tr>
<td colspan="5"><p style="text-align: left;">${item.item}</p></td>
<td colspan="12"><p style="text-align: left;"><span style="font-weight: bold; line-height: 18px;">${item.description}</span><br /><em>${tranline.custcol_extra_details}</em></p></td>
<td colspan="3" style="align: center;">${tranline.quantity}</td>
<td colspan="3" style="align: center;">${tranline.quantitybackordered+tranline.quantitycommitted}</td>
<td colspan="3" style="align: center;">${item.quantity}</td>
<td colspan="2" style="align: center;">${tranline.units}</td>
</tr>
</#if>
</#list>
</#list>
<!-- end items --></table>
</#if>
有谁知道我如何在此处允许延期交货的商品,或者从另一个角度来看,只排除已履行的商品而留下当前履行和延期交货? 非常感谢您的帮助!
我认为这是一个无法解决的问题,您提供的解决方案可以解决它。我实际上已经放弃了,因为出于某种原因,这对列表使所有行都加倍了。我最终得到的是:
<#list salesorder.item as tranline>
<#list record.item as item>
<#if tranline.custcol_item_code==item.custcol_item_code><#assign shippednow=item.quantity ><#else><#assign shippednow=0 ></#if>
</#list>
<tr>
<td colspan="5"><p style="text-align: left;">${tranline.custcol_item_code}</p></td>
<td colspan="12"><p style="text-align: left;"><span style="font-weight: bold; line-height: 18px;">${tranline.description}</span><br /><em>${tranline.custcol_extra_details}</em></p></td>
<td colspan="3" style="align: center;"><#if tranline.quantity gt 0>${tranline.quantity}<#else>0</#if></td>
<td colspan="3" style="align: center;">${tranline.quantitybackordered+tranline.quantitycommitted}</td>
<td colspan="3" style="align: center;">${shippednow}</td>
<td colspan="2" style="align: center;">${tranline.units}</td>
</tr>
</#list>
除了我之前的回答之外,更好的方法是在开始之前将 shippednow 定义为 0,然后绘制数据而不给它选项为零。这避免了在第一行出现索引问题。
<#list salesorder.item as tranline><#assign shippednow=0 >
<#list record.item as item><#if item.orderline==tranline.line><#assign shippednow=item.quantity ></#if></#list><#assign prevship=tranline.quantityfulfilled-shippednow>
<#if tranline.quantity==(prevship!0)><#else>
<tr>
<td colspan="5"><p style="text-align: left;">${tranline.custcol_item_code}</p></td>
<td colspan="12"><p style="text-align: left;"><span style="font-weight: bold; line-height: 18px;">${tranline.description}</span><br /><em>${tranline.custcol_extra_details}</em></p></td>
<td colspan="3" style="align: center;"><#if tranline.quantity gt 0>${tranline.quantity}<#else>0</#if></td>
<td colspan="3" style="align: center;">${(tranline.quantitybackordered+tranline.quantitycommitted)?string.number}</td>
<td colspan="3" style="align: center;">${shippednow!"0"}</td>
<td colspan="2" style="align: center;">${tranline.units}</td>
</tr></#if>
</#list>