尝试以下代码时,我收到“ TypeError record.viewCurrentLineItemSubrecord不是函数”的消息:
function saveRecord(){
var isChild = nlapiGetFieldValue('parent'); //will be null if parent record
if(!isChild){
var record = nlapiLoadRecord('customer', 177986, {recordmode: 'dynamic'});
record.selectLineItem('addressbook', 1);
var subrecord = record.viewCurrentLineItemSubrecord('addressbook', 'addressbookaddress');
var address = subrecord.getFieldValue('addr1');
nlapiLogExecution('DEBUG', 'Single Record Test', 'Child Record Address: ' + address);
}
return true;
}
最终,我将在保存父记录时尝试更新所有子记录的帐单地址,因此需要上面的“ saveRecord”功能。在变得过于复杂之前,我想尝试一下“帮助中心”的“地址子记录的示例脚本”页面中的代码。我的代码几乎与帮助中心的代码相同,所以为什么不起作用?我想念什么?
最佳答案
不幸的是,它不适用于客户端脚本。
一种可能的解决方案是为此操作编写一个suitelet(如果要使用客户端脚本,否则任何服务器端脚本都应该起作用),然后使用nalpiRequestURL(YOUR_SUITELET_DEPLOYED_URL)
在客户端脚本中调用suitelet
您可能还希望在Suitelet中将recordId作为URL参数传递,然后使用request.getParameter(paramName)
从Suitelet获取recordId。