2016-11-11 42 views
2

我想要一個人單擊銷售訂單上的批准按鈕時生成採購訂單。我已將腳本部署到銷售訂單記錄,並在點擊批准按鈕時觸發事件類型。但是,此代碼不會創建採購訂單,因爲我對子列表項值具有無效的字段值。我想在銷售訂單上單擊「批准」按鈕後創建採購訂單

我已經使用內部ID和項目的字符串名稱作爲值,我得到相同的「無效的字段值」錯誤。任何人都知道什麼是錯的?

function beforeSubmit(context) { 
    var sRecord = context.newRecord; 
    var user = runtime.getCurrentUser(); 

    //get line count 
    var itemCount = sRecord.getLineCount({ 
     sublistId: 'item' 
    }); 

    for (var i = 0; i<itemCount; i++){ 
     var pOrder = record.create({ 
      type: record.Type.PURCHASE_ORDER, 
      isDynamic: true 
     }); 

     //get item internal id 
     var itemId = sRecord.getSublistValue({ 
      sublistId : 'item', 
      fieldId  : 'item', 
      line  : i 
     }); 

     //get qty 
     var qty = sRecord.getSublistValue({ 
      sublistId : 'item', 
      fieldId  : 'quantity', 
      line  : i 
     }); 

     //get vendor of item 
     var vendor = search.lookupFields({ 
      type : 'item', 
      id  : itemId, 
      columns : ['vendorname'] 
     }); 

     //add vendor to record 
     pOrder.setValue('vendorname', vendor); 

     //selects new line 
     pOrder.selectNewLine({sublistId: 'item'}); 

     //add item to sublist 
     pOrder.setCurrentSublistValue({ 
      sublistId : 'item', 
      fieldId  : 'item', 
      value  : itemId 
     }); 

     //add quantity to sublist 
     pOrder.setCurrentSublistValue({ 
      sublistId : 'item', 
      fieldId  : 'quantity', 
      value  : qty 
     }); 
     pOrder.commitLine({sublistId: 'item'}); 
     pOrder.save(); 

    } 
} 
+0

或者當批准按鈕被點擊時,是否有辦法觸發銷售訂單中每個訂單項的「創建特殊訂單」? –

+0

我假設你已經嘗試通過UI在PO上設置其中一個項目,以確保它可用於PO? – W3BGUY

+0

@ W3BGUY是通過用戶界面創建一個採購訂單完全正常。該錯誤只發生在我添加一個項目 –

回答

3

entity需要採購訂單記錄。項目記錄上的vendorname字段不存儲供應商記錄,即使這樣做,PO上也沒有相應的vendorname字段。物品記錄中的這個值用於標識物品本身的供應商名稱/代碼,如果它們具有不同的名稱。

正如書面所述,如果在PO上設置了entity字段,則該代碼至少在情境中起作用。如果您已設置Preferred Vendor或者如果使用多供應商功能在那裏配置了首選供應商,則可以直接從項目記錄仍然查找適當的entity字段。

一個簡單的方法來實現這個腳本看起來沒有腳本的庫存和非庫存銷售項目的做法是使用這些項目記錄上的Drop Ship Item複選框或Special Order Item複選框。爲每個符合條件的項目選擇將允許爲您的銷售訂單的訂單項自動創建po。請在Netsuite幫助中搜索Special Order Items以獲取有關差異以及如何設置的更多信息。

+0

我看到的點。所以我假設因爲沒有設置實體字段,它無法找到任何關聯的採購訂單項目(因爲您需要在添加項目之前設置供應商)。是對的嗎? 編輯:我不能相信這是問題。雖然我沒有重新部署腳本,但我認爲這是問題所在。非常感謝! –

相關問題