2012-07-18 30 views
1

我正在使用NetSuite的服务器端SuiteScript并需要访问几个自定义事务列字段的显示值。有问题的字段分别设置为“列表/记录”类型,并与现有的自定义列表相关联。使用NetSuite SuiteScript访问自定义列的文本值

使用NetSuite脚本调试器,我检查了从nlapiLoadRecord('salesorder', orderInternalId)返回的值。查看结果对象中的项目(例如obj.sublists.item.line 1)我发现这些List/Record自定义字段中的一部分提供了一个数字(所选List项的ID)和一个字符串(List项的显示文本值),但其他自定义字段不。

例如,我有两个自定义字段,其ID为custcol1custcol2。这些都是“列表/记录”类型。销售订单加载时,nlapiLoadRecord为custcol1提供字段“custcol1”(number)和“custcol1_display”(字符串),但custcol2仅提供“custcol2”(number)字段。我没有看到这两个自定义字段的设置有任何不同,所以不清楚为什么一个提供字符串而另一个不提供。

我需要检索这两个字段的字符串值。是否有设置需要更改custcol2会自动返回“custcol2_display”值?或者是否有另一个API调用可用于从“custcol2”中获取数字值,并在底层的自定义列表中查找关联的字符串值?

+0

你有没有尝试过在字段上调用getLineItemValue/getLineItemText?如果是这样,返回什么?我喜欢调试器,但是我发现有时会出现'nlapiLogExecution('debug','getLineItemValue returned:“,value);'更有效 – 2012-08-21 19:01:27

+0

API nlobjRecord.getLineItemText在用户事件子列表中不受支持 – eliseobeltran 2013-03-12 19:02:49

回答

1

使用record.getLineItemText('item', 'custcol2', linenum)

对于调试,我倾向于使用Firebug的尝试 - 这是很多比NS调试器更有效,比日志记录只是测试的东西出来的语句更快。

1

我刚刚注意到这是两岁,但我认为你可以把columnname.id来获取数据值。它适用于标准列,但不确定自定义列。

我学会了使用的一件事就是NetSuite调试器,我没有像标准调试器那样使用它,而是像JavaScript控制台一样。只需将一些代码粘贴到盒子中,然后进行调试,看看dang属性值和NetSuite中的数据是非常棒的。

+0

One对“调试器”特别恼火的是它似乎被一切/任何东西消灭了,例如,如果你看看一个已知受影响的客户,你粘贴了一些影响客户记录的代码你会被“别人已经登录”的信息迎接 不知何故,这甚至在浏览器中持续存在,而不仅仅是标签。帮你一个忙,并保留一个文本编辑器方便剪贴板职责。 – torpy 2015-05-05 20:18:34

相关问题