已保存搜索 "field id" 以获得首选供应商标记

Saved Search "field id" for preferred vendor flag

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

我无法找到 "preferred vendor" 标志的正确字段 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 列失败了。我试过 'preferredvendor' 加入和不加入 'itemvendor' 但没有成功。

如有任何帮助,我们将不胜感激。

preferredvendor 不是有效的搜索列。

如果您正在使用 Multiple Vendors 功能,并且想要搜索商品的所有供应商行以及首选的详细信息,我建议使用 vendorothervendor 作为搜索列.

vendor 将只有 preferredvendorothervendor 将有首选供应商和普通供应商。

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

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

此外,如果您想在搜索结果中获得所有供应商(首选和 non-preferred 两者),我建议您使用 othervendor 作为过滤条件 vendor 即代替

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

使用

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

仅供参考,有一个过滤器 ispreferredvendor,但不幸的是它没有包含在搜索栏中。但是,vendor 如上所述的搜索列满足该要求