如何在SuiteScript中获取和设置shipphone用于交易送货地址?

问题描述 投票:0回答:1

我正在尝试检索并修改保​​存项目履行时的送货地址shipphone值,但更改不保存(我还没弄清楚如何检索shipphone,因此我正在使用电话值进行初始测试)。还有其他方法我应该这样做,以便我可以实际更新事务级地址详细信息?我假设我需要加载客户记录以获取地址,因为我无法直接在交易记录上获取电话,但这仍然无法解释我如何在交易中为shippingaddress设置shipphone。

function beforeSubmit(context) {
    var ifNum = 'N/A';
    if (context.newRecord.id) ifNum = context.newRecord.id;

    var recordPhone = context.newRecord.getValue('phone');
    var phoneValid = checkPhone(recordPhone);

    if (!phoneValid) {
        try {
            var correctedPhone = correctPhone(recordPhone);
            var shipaddress = context.newRecord.getSubrecord('shippingaddress')
            shipaddress.setValue({fieldId: 'shipphone', value: correctedPhone});

            log.debug('Set phone to: ' + correctedPhone + ' from ' + recordPhone);
        }
        catch(e) {
            var errorStr = 'Error setting IF #' + ifNum + ' phone value';
            log.error(errorStr, e.message);
            throw error.create({
                name: errorStr,
                message: e.message,
                notifyOff: true
            });
        }
    }
}
netsuite suitescript2.0
1个回答
3
投票

shipphone是具有它的交易的交易主体级别字段(销售订单,项目履行等)

它来自的地址子记录字段是addrphone所以你的代码可能更像是:

var recordPhone = context.newRecord.getValue({fieldId:'shipphone'});
...
  context.newRecord.setValue({fieldId:'shipphone', value:correctedPhone}); // for this transaction
  shipaddress.setValue({fieldId: 'addrphone', value: correctedPhone}); // corrected for future uses of this address.
© www.soinside.com 2019 - 2024. All rights reserved.