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

Javascript 使用NetSuite SuiteScript访问自定义列的文本值,javascript,netsuite,Javascript,Netsuite,我正在使用NetSuite的服务器端SuiteScript,需要访问几个自定义事务列字段的显示值。相关字段均设置为“列表/记录”类型,并与现有自定义列表相关联 在NetSuite脚本调试器中工作时,我检查了从nlapiLoadRecord('salesorder',orderInternalId)返回的值。查看结果对象中的项目(例如,obj.sublists.item.line 1),我发现一些列表/记录自定义字段提供了数字(所选列表项的ID)和字符串(列表项的显示文本值),但其他自定义字段不提

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

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

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


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

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


对于调试,我倾向于使用Firebug—它比NS调试器有效得多,而且比记录语句更快,仅用于测试。

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


我学会了使用NetSuite调试器,我没有像使用标准调试器那样使用它,而是像使用javascript控制台一样使用它。只需将一些代码粘贴到框中,然后对其进行调试,这非常有助于查看dang属性值以及其中的数据,这在NetSuite中似乎是一个错误。

您是否尝试在字段上调用getLineItemValue/getLineItemText?如果是,返回的是什么?我喜欢调试器,但我发现有时候
nlapiLogExecution('debug','getLineItemValue returned:“,value);
更有效。用户事件子列表中不支持API nlobjRecord.getLineItemText。关于“调试器”,有一件事特别令人烦恼“这就是它似乎被一切/任何事情摧毁的方式。例如,您粘贴了一些影响客户记录的代码,如果您查看一个已知受影响的客户,您将收到“其他人已登录”消息。不知何故,这种情况甚至会在浏览器之间持续存在,而不仅仅是在标签页上。帮你自己一个忙,随身携带一个文本编辑器来完成剪贴板的任务。