1

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

我无法为“首选供应商”标志找到正确的字段 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”,但没有成功。

任何帮助,将不胜感激。

4

1 回答 1

1

preferredvendor不是有效的搜索列。

如果您正在使用Multiple Vendors功能,并且想要搜索项目上的所有供应商行以及我建议使用的首选和搜索列的详细vendor信息othervendor

vendor将只有preferredvendor并且othervendor将同时拥有首选供应商和普通供应商。

您可以使用条件来区分首选供应商和其他供应商

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如上所述的搜索列满足该要求

于 2015-12-30T05:35:37.240 回答