SuiteScript:nlobjColumn.setURL的动态模式如何工作?

时间:2014-03-24 22:16:17

标签: javascript netsuite

在NetSuite中,我对事务进行了脚本搜索,预计会返回几种不同事务类型的结果。然后在nlobjList中呈现结果。我希望列表中的一列成为列表行所代表的事务的链接。

在所有NetSuite示例中,完成的操作如下:

var column = list.addColumn('number', 'text', 'Number', 'left');
column.setURL(nlapiResolveURL('RECORD','salesorder'));
column.addParamToURL('id','id', true);

不幸的是,transaction不是传递给nlapiResolveURL的可接受记录类型,因此我需要动态检测每行的记录类型。 setURL函数接受第二个布尔参数,使其每行动态,但我不确定这是如何实际工作的。没有示例,JSDocs没有解释它的用法。

有没有人有关于在NetSuite中生成包含动态网址的列表的任何指导?

2 个答案:

答案 0 :(得分:1)

如果将dynamic参数设置为true,则第一个参数应该是数据源中列出的包含基本URL的列。

column.setURL('base_url', true);
column.addParamToURL('id','id', true);

然后,在结果的每条记录上,确保您有base_url设置为您要查找的网址。

注意,以下示例假定使用常规javascript对象而不是搜索结果对象。

rec.base_url = nlapiResolveURL('RECORD', rec.type)

答案 1 :(得分:0)

事务字段只是所有事务类型的抽象。您可以搜索它们但无法加载它们。

您需要检索的字段是 recordtype 。示例代码如下。

var recs = nlapiSearchRecord('transaction',null,null,new nlobjSearchColumn('recordtype'));
for(var i in recs) 
   url = nlapiResolveURL('RECORD',recs[i].getValue('recordtype'));