在 SuiteScript 中获取客户的送货和帐单地址



我正在尝试在 SuiteScript 中获取客户的默认送货和账单地址。

    var shipaddress = null;
    var billaddress = null;
    //Find the default billing and shipping addresses
    var add_Count = customerRec.getLineCount('addressbook');
    for (var i = 1; i <= add_Count; i++){
        customerRec.selectLine('addressbook', i);
        var def_Bill = customerRec.getCurrentSublistValue('addressbook', 'defaultbilling');
        var def_Ship = customerRec.getCurrentSublistValue('addressbook', 'defaultshipping');
        if(def_Bill){
            billaddress = customerRec.getCurrentSublistSubrecord('addressbook', 'addressbookaddress');
        } else if(def_Ship){
            shipaddress = customerRec.getCurrentSublistSubrecord('addressbook', 'addressbookaddress');
        }
    }

有了这段代码,我就能得到第一个,但是一旦它命中

customerRec.selectLine('addressbook', i);

第二次抛出错误。

SSS_INVALID_SUBLIST_OPERATION
You have attempted an invalid sublist or line item operation. You are either trying to access a field on a non-existent line or you are trying to add or remove lines from a static sublist.

我找到了答案。请看下文。

var add_Count = customerRec.getLineCount('addressbook');
for (var i = 0; i < add_Count; i++){
    var def_Bill = customerRec.getSublistValue('addressbook', 'defaultbilling', i);
    var def_Ship = customerRec.getSublistValue('addressbook', 'defaultshipping', i);
    var anAddress = customerRec.getSublistSubrecord('addressbook', 'addressbookaddress', i);
    if(def_Bill){
        billaddress = anAddress;
    } else if(def_Ship){
        shipaddress = anAddress;
    }
}

最新更新