我有一个奇怪的情况。 我正在验证以“编辑”模式销售订单打开的发货地址。 因此,将我的客户脚本附加到销售订单记录中, 我从对象收集数据:
var address = currentRecord.get().getSubrecord("shippingaddress")
哪个是只读子记录地址的实例,所以我可以像这样读取它
var addr1 = address.getValue({fieldId: 'addr1'});
var city = address.getValue({fieldId: 'city'});
// ... and so on
没关系,然后将其发送到我的验证服务器以获取响应,一切正常。
我的验证服务器返回了更正的地址,因此我希望它适用于当前的销售订单收货地址。由于子记录的送货地址是只读的,因此我想选择“-自定义-”地址,这将打开一个带有“自定义地址表单”的弹出窗口,我在“自定义地址表单”上附加了表单脚本以填充此数据,该数据取自主窗口。 (即使NetSuite文档不推荐它,我也可以在window或localStorage上保存正确的地址,但仍然可以使它正常工作。)
这是问题所在。在将客户脚本附加到“自定义地址表单”之后,我再也无法在主窗口中获得shippingaddress
。
当我跑步时:
var address = currentRecord.get().getSubrecord("shippingaddress")
我得到null
,但我不知道为什么。
您有什么想法可能是原因,或者有其他想法可以实现此任务?谢谢
答案 0 :(得分:1)
NetSuite当前不允许在编辑模式下甚至通过客户端脚本从SuiteScript 2.0设置自定义地址。 因此,您可以做的是在用户事件afterSubmit或通过工作流中更新送货地址。
答案 1 :(得分:0)
我认为您应该使用
var shipaddress = nlapiViewSubrecord('shippingaddress')
var shipcountry = shipaddress.getFieldText('country');
var shipstate = shipaddress.getFieldText('dropdownstate');