保存搜索首选供应商标志的“字段ID”

时间:2015-12-30 04:34:54

标签: netsuite suitescript

我有一些自定义脚本填充子列表,其中包含给定供应商的所有供应商商品价格。

我无法找到“首选供应商”标记的正确字段ID。

我目前的搜索范围如下:

var filters = new Array();
            var columns = new Array();
            filters[0] = new nlobjSearchFilter('vendorcost', null, 'greaterthan', 0);
            filters[1] = new nlobjSearchFilter('internalid', 'vendor', 'anyof', vendorid );
            columns[0] = new nlobjSearchColumn('itemid');
            columns[1] = new nlobjSearchColumn('entityid', 'vendor');
            columns[2] = new nlobjSearchColumn('vendorcost');
            columns[3] = new nlobjSearchColumn('vendorcode');
            columns[4] = new nlobjSearchColumn('vendorpricecurrency');
            columns[5] = new nlobjSearchColumn('preferredvendor');
            var searchresults = nlapiSearchRecord('item', null, filters, columns );

不幸的是,第5列失败了。无论有没有加入“itemvendor”,我都试过'preferredvendor',但没有成功。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

preferredvendor不是有效的searchColumn。

如果您使用的是Multiple Vendors功能,并且想要搜索项目的所有供应商行以及首选的详细信息,建议您使用vendorothervendor作为searchcolumns。

vendor只有preferredvendorothervendor会同时拥有首选供应商和普通供应商。

您可以使用条件将首选供应商与使用

的其他供应商区分开来
if(searchResults[i].getValue('vendor') === searchResults[i].getValue('othervendor')){ 
 //this is your preferred vendor search result, and not normal vendor line
}

另外,如果您想在搜索结果中获取所有供应商(首选和非首选),建议您使用othervendor作为vendor的过滤器 即代替

 filters[1] = new nlobjSearchFilter('internalid', 'vendor', 'anyof', vendorid );

使用

filters[1] = new nlobjSearchFilter('othervendor', null , 'anyof', vendorid );

仅供参考,有一个过滤器ispreferredvendor,但遗憾的是它未包含在搜索列中。但是,如上所述的vendor搜索列符合该要求