使用 SuiteScript 获取促销行项目值
Get Promotion line item value with SuiteScript
我正在尝试使用 SuiteScript 获取 "Promotions" 子列表中的值数组(SuitePromotions 已打开)。 nlapiGetLineItemField 返回一个奇怪的输出 "com.netledger.app.common.scripting.version1.nlobjFieldImplV1@1e874f2e" 而不是促销的内部 ID 或名称。如何访问此对象中的子列表数据?这是我的代码:
//get the promotions used on the transaction
var transPromos = [];
var promoCount = nlapiGetLineItemCount('promotions');
for (var promoNum = 1; promoNum <= promoCount; promoNum++){
var promoName = nlapiGetLineItemField('promotions', 'promocode', promoNum);
transPromos.push(promoName);
}
nlapiLogExecution('DEBUG', 'transPromos', transPromos);
然后……
for (var k = 0; k < transPromos.length; k++){
nlapiLogExecution('DEBUG', 'transpromo' + k.toString(), transPromos[k]);
}
日志显示:
transPromos: com.netledger.app.common.scripting.version1.nlobjFieldImplV1@592bd210
transpromo0: com.netledger.app.common.scripting.version1.nlobjFieldImplV1@592bd210
我希望它打印内部 ID 或促销名称。我在这里错过了什么?为什么它显示这个奇怪的代码而不是内部 ID?
我想出了一个办法。我使用 nlapiGetLineItemText() 而不是 nlapiGetLineItemField() 来获取促销名称。
我正在尝试使用 SuiteScript 获取 "Promotions" 子列表中的值数组(SuitePromotions 已打开)。 nlapiGetLineItemField 返回一个奇怪的输出 "com.netledger.app.common.scripting.version1.nlobjFieldImplV1@1e874f2e" 而不是促销的内部 ID 或名称。如何访问此对象中的子列表数据?这是我的代码:
//get the promotions used on the transaction
var transPromos = [];
var promoCount = nlapiGetLineItemCount('promotions');
for (var promoNum = 1; promoNum <= promoCount; promoNum++){
var promoName = nlapiGetLineItemField('promotions', 'promocode', promoNum);
transPromos.push(promoName);
}
nlapiLogExecution('DEBUG', 'transPromos', transPromos);
然后……
for (var k = 0; k < transPromos.length; k++){
nlapiLogExecution('DEBUG', 'transpromo' + k.toString(), transPromos[k]);
}
日志显示:
transPromos: com.netledger.app.common.scripting.version1.nlobjFieldImplV1@592bd210 transpromo0: com.netledger.app.common.scripting.version1.nlobjFieldImplV1@592bd210
我希望它打印内部 ID 或促销名称。我在这里错过了什么?为什么它显示这个奇怪的代码而不是内部 ID?
我想出了一个办法。我使用 nlapiGetLineItemText() 而不是 nlapiGetLineItemField() 来获取促销名称。