使用NetSuite SuiteScript访问自定义列的文本值

时间:2012-07-18 00:16:50

标签: javascript netsuite

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

在NetSuite脚本调试器中工作时,我检查了从nlapiLoadRecord('salesorder', orderInternalId)返回的值。查看结果对象中的Items(例如obj.sublists.item.line 1),我看到其中一些List / Record自定义字段同时提供一个数字(所选List条目的ID)和一个字符串(显示的文本值)列表条目),但其他自定义字段没有。

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

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

2 个答案:

答案 0 :(得分:1)

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

对于调试,我倾向于使用Firebug - 它比NS调试器更有效,并且比仅仅测试事物的记录语句更快。

答案 1 :(得分:1)

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

我学会使用的一件事是NetSuite调试器,我不像标准调试器那样使用它,而是像javascript控制台一样。只需将一些代码粘贴到框中然后进行调试,它非常适合查看dang属性值以及它们中的数据,这些数据似乎是NetSuite中的一个副本。