2016-03-04 115 views
0

使用Pick,Pack和Ship以及高級PDF HTML模板,NetSuite不能顯示剩餘的數量。所以如果我們做一個部分選擇,我們不能顯示倉庫剩餘的餘額。數學很簡單,這裏是我希望看到的腳本和功能(基於論壇反饋)。這是否可行,以及部署此腳本的最佳方式是如何將結果存儲在自定義列中,直到發生另一次選擇?該值將在更改時計算,但可用於所有相關交易記錄。suitescript設置自定義列值netsuite

function SetQtytoPick(type){ 
    if(type == 'item'){ 
    var qtyordered = nlapiGetCurrentLineItemValue('item', 'quantity'); 
    var qtypicked = nlapiGetCurrentLineItemValue('item', 'quantitypicked'); 
    var qtytopick = qtyordered-qtypicked 
    nlapiSetCurrentLineItemValue('item', 'custcol_qty_to_pick', qtytopick); 
    } 
} 

回答

2

其實關於高級HTML/PDF模板真正有趣的事情之一是你不需要你的代碼。打印裝箱單時,模板提供物料履行(作爲記錄)和銷售訂單(作爲銷售訂單)。

您可以從銷售訂單項目行的數量滿足值中獲取所需的值。

以下代碼片段來自客戶希望PS始終顯示所有銷售訂單項目的定製包裝單。它不能直接解決您的問題,但您可以看到,模板本身可用於計算打印時剩餘要發貨的物品。

<#list salesorder.item as tranline> 
    <#assign shipped=0> 
    <#assign prevShipped=tranline.quantityfulfilled> 
    <#assign qtyRemaining=tranline.quantity - prevShipped> 
    <#if (tranline.quantitybackordered gt 0)> <#assign qtyRemaining=tranline.quantitybackordered></#if> 
    <#list record.item as item><#if tranline.line==item.orderline> 
     <#assign shipped=item.quantity> 
     <#assign prevShipped=tranline.quantityfulfilled-item.quantity> 
    </#if></#list> 
    <tr> 
    <td colspan="12"><span class="itemname">${tranline.item}</span><#if tranline.itemtype =='NonInvtPart'>**<#assign anyNonInvt='T'></#if><br />${tranline.description?html}</td> 
    <td align="center" colspan="3"><#if shipped gt 0><b>${shipped}</b><#else>0</#if></td> 
    <td align="center" colspan="3">${tranline.quantity}</td> 
    <td align="center" colspan="3">${prevShipped}</td> 
    <td align="center" colspan="3">${qtyRemaining}</td> 
    <td colspan="4">${tranline.options?html}</td> 

    </tr> 
    </#list> 
</#if> 

另一種方法是在提交事件之前將腳本放入用戶事件腳本中。你會部署它在物品履行

+0

感謝您的提示。會給它一個鏡頭,讓你知道。 – DLindy

+0

我希望你上面概述的方法可以完成這項工作。它看起來像是假定履行事件已經發生。實際上有三種可能的情況:1.訂單沒有得到滿足,因此沒有在tranline,只有信息的順序,2.充分履行,其中有一條tranline,並且還有0要履行。 3.部分履行的地方,既有一條生產線,又有信息來源於訂單。你會如何處理這個問題?我們已經對這個腳本進行了探索,結果好壞參半,希望你的方法能夠完成。 – DLindy

+0

其實上面的代碼是用於裝箱單的。如果您打印的是選票,您將只有銷售訂單行,並且它們將以'<#list record.item as item>'的形式存在,並且您將與裝箱單代碼大致相同,但忽略了其中的部分你嘗試調整項目實現的內容。 – bknights

相關問題