我正在嘗試編寫一個腳本,用於防止在裝配體構建正在等待批准時從庫存中取出成品。這是我做過的第一個腳本,第一次使用Javascript,所以我很抱歉,如果我迄今爲止沒有任何意義(如果我聽起來很愚蠢)。該腳本檢查記錄是否正在創建或編輯的程序集版本,然後創建一個臨時字段「數量待定」。保存時,如果審批狀態爲「等待批准」,則腳本將待處理數量的值分配給要生成的數量中的值,然後將要生成的數量設置爲0,並提交記錄。如果批准狀態被批准,則「數量建立」設置爲待處理數量中存儲的值,並將待處理數量設置爲0,然後提交記錄。我再次道歉,如果這沒有意義。NetSuite:腳本程序集構建僅在批准時撤銷庫存
我嘗試使用腳本調試器,但我不認爲我的代碼工程。有人能指出我出錯的地方或我是否在正確的軌道上?
這是我到目前爲止。如果任何人做過這樣的事情,或者知道更好的方法,我全都耳熟能詳。
function commitIfApproved() {
var cR = nlapiGetOldRecord();
var recordId = cR.nlapiGetRecordID();
var recordType = cR.nlapiGetRecordType();
if (recordId == 'assemblybuild') {
if(recordType = 'create' || 'edit') {
var approvalstatus = cR.nlapiGetFieldValue('approval status');
var quantityPending = cR.nlapiGetFieldValue('quantity to build - pending');
if (approvalstatus == "Awaiting Approval") {
cR.nlapiSetFieldValue('quantity to build', '0');
cR.nlapiSetFieldValue('quantity to build - pending', quantityPending);
cR.nlapiSubmitRecord();
alert("Finished goods will not be taken from inventory until this assembly build is approved.");
}
if (approvalstatus == "Approved") {
cR.nlapiSetFieldValue('quantity to build', quantityPending);
cR.nlapiSetFieldValue('quantity to build - pending', '0');
cR.nlapiSubmitRecord();
alert("This assembly build has been approved. Finished goods have been subtracted from inventory.");
}
}
}
}
非常感謝您發現我的錯誤並且非常清楚地解釋它!到目前爲止,我還沒有對我的代碼進行過任何調整,但是如果它有效,我會告訴你!出於某種原因,很難在NetSuite文章和幫助中找到好的資源。 – Jordan