我遇到的问题是NetSuite的执行用户事件脚本时,我一直收到以下错误越来越库存数量时:未定义的错误在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。
我错过了检查undefined任何地方的比较,或没有其他人看到任何代码问题吗?
我FBA初始化为0,没有运气。我将qtyAvail分配给fba,因为当我做我的返回时我正在返回一个关联数组,我可以将这些对象从函数外部拉出。 奇怪的是,代码可以在一些记录上正常工作,而其他人则会因未定义而失败。记录的并排比较显示值出现在失败的fba位置。任何其他想法? 我即将考虑重写我的功能,但我宁愿不,如果我可以避免它:) – 2012-04-20 12:58:47
你有没有尝试在netsuite调试器中运行你的代码? – Craig 2012-04-20 15:33:35
是的,我有 - 我发现我的悲伤的来源:套件物品导致失败,所以我写了一个函数,放弃物品名称的套件部分并返回主sku。由于改变似乎正在工作 - 我目前正在运行一批200个销售订单,以查看它的执行情况。 – 2012-04-20 15:56:19