我试图通过SuiteScript创建一个弹出式窗口,当添加一个商品到订单中时,我们将显示可用的库存和客户首选的品牌以及一些其他细节,以便Cust Svc代表能够添加正确的sku,并在添加商品到订单中之前询问客户所需的问题。要做到这一点,我需要能够在添加商品之前访问该商品。现在我设置的弹出窗口确实显示了--但我需要我试图添加的数量和SKU。当前代码。
/**
*@NApiVersion 2.x
*@NModuleScope Public
*@NScriptType ClientScript
*/
define(['N/search'], runClientscript);
function runClientscript(search){
SEARCHMODULE = search;
function validateLine(context) {
var currentSO = context.currentRecord;
context.sublistId;
if(context.sublistId == 'item'){
alert("validateLine Triggered!");
var cr = context.currentRecord;
var quantityLine = currentSO.getSublistValue({
sublistId : 'item',
fieldId : 'quantity',
line : 1
});
}
return true; //Return true if the line insertion is valid.
}
/**
*
* @param {object} context context object from user event.
*/
function getLocationContext(context){
var contextObj = {};
contextObj.locationRecord = "customrecord_ship_priority";
contextObj.warehouseIds = [
{
name:"custrecord_nj_warehouse",
value:3
},
{
name:"one",
value:9
},
{
name:"two",
value:8
},
{
name:"three",
value:4
}
]
contextObj.parameters = getScriptParameter();
return contextObj;
}
var returnObj = {};
returnObj.validateLine = validateLine;
return returnObj;
}
任何帮助将被感激。谢谢!
使用 currentSo.getCurrentSublistValue({type: 'item', fieldId: '{fieldyouneedtodisplay}'})
而不是在validateline上给出被添加的项目的信息。一旦你有了所有你需要的信息,你就可以像下面的伪代码一样进行验证。
var sItem = currentSo.getCurrentSublistText({type: 'item', fieldId: 'item'});
var nQqty = currentSo.getCurrentSublistValue({type: 'item', fieldId: 'quantity'});
//your code to validate goes after.
if(nQqty >=0){
alert('Adding ' + nQqty + ' of ' + sItem + '.')
}