尝试以下代码时,我收到“ 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。

09-18 01:46