0
我在NetSuite中尝试了一个搜索脚本,但我遇到的问题是,尽管我在订单表搜索中放置了订单号,但搜索仍获得多个结果。如果我通过IU进行相同的搜索,我只会得到1个结果,这是正确的。NetSuite中的脚本搜索无法按预期方式工作
剧本是
var filters = new Array();
filters[0] = new nlobjSearchFilter('item', null, 'is', 'ITEM123');
filters[1] = new nlobjSearchFilter('type', null, 'is', 'SalesOrd');
filters[2] = new nlobjSearchFilter('companyname', 'customer', 'contains', 'CustomerName');
filters[3] = new nlobjSearchFilter('number', null, 'is', 'ORDER9887');
var columns = new Array();
columns[0] = new nlobjSearchColumn('item');
columns[1] = new nlobjSearchColumn('type');
columns[2] = new nlobjSearchColumn('name','item');
columns[3] = new nlobjSearchColumn('companyname','customer');
columns[4] = new nlobjSearchColumn('number');
var searchResults = nlapiSearchRecord('transaction', null, filters, columns);
var values = 'TOTAL RESULTS: ' + searchResults.length;
if(searchResults != null)
{
for(i = 0 ; i< searchResults.length ; i++)
{
values = values + '\r\nITEM ' + searchResults[i].getValue(columns[0]) +
'\r\nTYPE ' + searchResults[i].getValue(columns[1]) +
'\r\nITEM NAME ' + searchResults[i].getValue(columns[2]) +
'\r\nCOMPANY NAME ' + searchResults[i].getValue(columns[3]) +
'\r\nTRANSACTION NUMBER ' + searchResults[i].getValue(columns[4]);
}
alert(values);
}
所以也没有太大的意义对我来说,我们假设过滤器是含蓄与AND运营商。
有什么线索我做错了吗?
在此先感谢。
Pablo。
Eric,你好我想你的变化,我得到了70笔,它应该,因为我们是把我应该只得到1订单号码。 是否还有其他要添加以滤除结果? – Pablo
我怀疑搜索忽略了'['数字','是','ORDER9887']'。该条款应该是'['tranid','是','ORDER9887']'。 'number'是一个整数字段,所以如果你知道使用'['number','equalto','9887']' – bknights
'的事务的基数,你可能还想添加'和['cogs', '是','F']' – bknights