我有一些自定义脚本填充子列表,其中包含给定供应商的所有供应商商品价格。
我无法找到“首选供应商”标记的正确字段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',但没有成功。
任何帮助都将不胜感激。
答案 0 :(得分:1)
preferredvendor
不是有效的searchColumn。
如果您使用的是Multiple Vendors
功能,并且想要搜索项目的所有供应商行以及首选的详细信息,建议您使用vendor
和othervendor
作为searchcolumns。
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
搜索列符合该要求