我遇到的问题是在 NetSuite 中执行用户事件脚本时始终出现以下错误:
TypeError: Cannot read property "amazon" from undefined
NetSuite 使用 Javascript 在客户端和服务器端执行业务逻辑。对于那些没有 NetSuite 经验的人,用户事件脚本会在服务器上执行。
我可以分享的代码如下:
var qtyAvail = 0;
qtyAvail = rec.getValue('locationquantityavailable');
if(!qtyAvail || qtyAvail === 'undefined' || qtyAvail === null || isNaN(qtyAvail) || typeof qtyAvail === "undefined"){
qtyAvail = 0;
}
location = rec.getValue(kColumns[3]);
if(location == 7 ||location == 16 ||location == 20 ||location == 3 ||location == 19 ||location == 1 ||location == 27 ||location == 27){
if(location == 7){
fba = qtyAvail;
if(!fba){
qtyAvail = 0;
}
}
...more business code here....
return {
amazon: fba,
ups: upsName
}
我将返回值称为:
var itemQty = getLocationQty(item);
if(itemQty.amazon){
var fbaStock = itemQty.amazon;
} else { fbaStock = 0;}
此代码适用于我的某些位置,但如果在特定位置没有可用数量,它将返回未定义,而不是像我期望的那样将 qtyAvail 设置为 0。
我是否错过了在任何地方检查未定义的比较,或者其他人是否看到代码有任何问题?