Javascript NetSuite-自定义字段-分配给通讯簿,但无法使用JS访问

Javascript NetSuite-自定义字段-分配给通讯簿,但无法使用JS访问,javascript,netsuite,Javascript,Netsuite,我目前正在编写销售订单脚本,以提取附加到所选发货地址的自定义字段。我能够提取所有地址字段(城市、邮政编码等),但我无法确定如何访问该地址的任何附加自定义字段 示例脚本: var custid=document.getElementById(“hddn\u entity\u fs”).value; var shiptoid=document.getElementById(“hddn\u shipaddresslist2”).value; var customer=nlapiLoadRecord(

我目前正在编写销售订单脚本,以提取附加到所选发货地址的自定义字段。我能够提取所有地址字段(城市、邮政编码等),但我无法确定如何访问该地址的任何附加自定义字段

示例脚本:

var custid=document.getElementById(“hddn\u entity\u fs”).value;
var shiptoid=document.getElementById(“hddn\u shipaddresslist2”).value;
var customer=nlapiLoadRecord(“客户”,custid);
var itemCount=customer.getLineItemCount('addressbook');
对于(变量i=1;i}
地址上的自定义字段实际上位于地址记录中

比如:

SS1.0动态模式。显然只是服务器端

var customer = nlapiLoadRecord('customer', custid, {recordmode:'dynamic'});
...
customer.selectLineItem('addressbook', i);
var addr = customer.editCurrentLineItemSubrecord('addressbook', 'addressbookaddress');
console.log(addr.getFieldValue('custrecord19'));
或SS1服务器端不是动态的

var addr = custRec.viewLineItemSubrecord('addressbook', 'addressbookaddress', i);
console.log(addr.getFieldValue('custrecord19'));
SS2.0在客户端或服务器端工作

var addr = custRec.getSublistSubrecord({sublistId:'addressbook', fieldId:'addressbookaddress', line:i});
console.log(addr.getValue({fieldId:'custrecord19'}));
对于一个帐户来说,混合使用SS1和SS2脚本是完全可行的

为了让它工作,我建议将您当前的客户端脚本更改为SS2

下面是一个框架客户端脚本:

/**
 * @NApiVersion 2.x 
 * @NScriptType ClientScript
 */
define(['N/currentRecord', 'N/ui/message', 'N/url', 'N/https', 'N/search'],
    function(rec, msg, url, http, search) {



        return {
            fieldChanged : function(){ console.log('fired field changed');},
            postSourcing: function(){ console.log('fired sourcing');}
        };
    });

我试了两次,两次都犯了错误。对于您的custRec对象,这应该是我上面示例中的customer对象吗?如果是这样,我会得到一个:customer.viewLineItemSubrecord不是函数或customer.getSublistSubrecord不是函数。您的脚本是SS1。我的SS1示例使用getValue而不是getFieldValue。修复并添加了客户端示例。使用SS1客户端示例,我得到TypeError customer.editCurrentLineItemSubrecord不是函数;)(顺便说一句,感谢您的快速回复!)您没有重新加载记录动态模式。我已将其更改为您现有的模式。仍然获得“editCurrentLineItemSubrecord不是函数”我也尝试了nlapiEditCurrentLineItemSubrecord和viewCurrentLineItemSubrecord,两者都抛出“不是函数”错误。