Javascript NetSuite:TypeError记录。viewCurrentLineItemSubrecord不是函数吗?
尝试以下代码时,我得到“TypeError record.viewCurrentLineItemSubrecord不是函数”:Javascript NetSuite:TypeError记录。viewCurrentLineItemSubrecord不是函数吗?,javascript,netsuite,Javascript,Netsuite,尝试以下代码时,我得到“TypeError record.viewCurrentLineItemSubrecord不是函数”: function saveRecord(){ var isChild = nlapiGetFieldValue('parent'); //will be null if parent record if(!isChild){ var record = nlapiLoadRecord('customer', 177986,
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(您的suitelet部署的URL)
您可能还想在suitelet中将recordId作为URL参数传递,然后使用
请求从suitelet获取recordId。getParameter(paramName)
在哪个脚本上下文中运行上述脚本?我将其作为客户端脚本,因为我希望在我的一个用户保存客户记录时运行它。有趣的是,因此,也许客户端脚本不是我想要做的事情的正确途径。那么,我应该将其设置为用户事件脚本吗?不幸的是,它只在服务器端工作,net Suitep的文档很差。请查看我的解决方法答案。这些都是非常好的建议,正如您在上面的评论线程中所说,文档中没有指定这一点很烦人。再次感谢。欢迎使用NetSuite:)您会喜欢该文档:)哈!谢谢你的笑声:)我想你指的是RESTlet,不是SUITElet。Suitelet是您在浏览器中加载的自定义UI页面/表单。RESTlet允许您查询URL并返回响应。