在NetSuite中自定义地址簿

时间:2015-12-07 08:00:38

标签: javascript netsuite

我在NetSuite中定制地址簿。为此,我在“自定义地址输入表单”中添加了一个新的脚本文件。这里一切都很好。现在每当我尝试使用任何实体表单上的保存按钮保存记录时,我都会遇到异常。我在保存按钮上写了一些代码。我调试了代码然后我发现了

'var address1 = nlapiGetCurrentLineItemValue('addressbook', 'addr1');'  

nlapiGetCurrentLineItemValue无法从地址簿中获取addr1。

Plz帮助我解决这个问题。

2 个答案:

答案 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);