我在NetSuite中定制地址簿。为此,我在“自定义地址输入表单”中添加了一个新的脚本文件。这里一切都很好。现在每当我尝试使用任何实体表单上的保存按钮保存记录时,我都会遇到异常。我在保存按钮上写了一些代码。我调试了代码然后我发现了
'var address1 = nlapiGetCurrentLineItemValue('addressbook', 'addr1');'
nlapiGetCurrentLineItemValue无法从地址簿中获取addr1。
Plz帮助我解决这个问题。
答案 0 :(得分:0)
地址簿实际上是NetSuite中订单项的子记录。您可以使用以下代码访问地址簿详细信息
//grab subrecord
nlapiSelectLineItem('addressbook', 2);
var subrecord = nlapiViewCurrentLineItemSubrecord('addressbook', 'addressbookaddress');
//grab fields from subrecord
var country = subrecord.getFieldValue('country');
var addr1 = subrecord.getFieldValue('addr1');
OR
//grab subrecord
var subrecord = nlapiViewLineItemSubrecord('addressbook', 'addressbookaddress', 1);
//grab fields from subrecord
var country = subrecord.getFieldValue('country');
var addr1 = subrecord.getFieldValue('addr1');
如果要编辑子记录详细信息,我建议使用以下语法来获取子记录。以上语法仅供查看
nlapiSelectLineItem('addressbook', 2);
var subrecord = nlapiEditCurrentLineItemSubrecord('addressbook', 'addressbookaddress');
subrecord.setFieldValue('addr1', 'Your addr1');
subrecord.commit();
nlapiCommitLineItem('addressbook');
答案 1 :(得分:0)
以上都没有为我工作,但它帮助我找到了自己的方式,以下代码为我工作
var record = nlapiLoadRecord(nlapiGetRecordType(), nlapiGetRecordId());
var addrtext = record.getLineItemValue('addressbook','addrtext',1);