NetSuite SuiteScript加入保存的搜索不返回值

NetSuite SuiteScript加入保存的搜索不返回值,netsuite,suitescript,Netsuite,Suitescript,我已经尝试了各种不同的方式让这个搜索正常工作。我甚至删除了过滤器以返回我知道搜索返回的值。然后我添加了过滤器,获得了不同的项目ID,并验证了搜索(通过UI)是否正确 这是一个连接类型的搜索,应该接受一个参数(项目id)并返回两条数据。就这样。你知道为什么我的参数(过滤器)不能正常工作吗 var filter = new Array(); filter[0] = new nlobjSearchFilter('entityid', 'job', 'is', int_Project_ID); var

我已经尝试了各种不同的方式让这个搜索正常工作。我甚至删除了过滤器以返回我知道搜索返回的值。然后我添加了过滤器,获得了不同的项目ID,并验证了搜索(通过UI)是否正确

这是一个连接类型的搜索,应该接受一个参数(项目id)并返回两条数据。就这样。你知道为什么我的参数(过滤器)不能正常工作吗

var filter = new Array();
filter[0] = new nlobjSearchFilter('entityid', 'job', 'is', int_Project_ID);

var results = nlapiSearchRecord('transaction', 'customsearch_[...]', filter, null);

if ( !isNull(results) && results.length > 0 )
这里是指向NetSuite中搜索的“条件”和“结果”选项卡的链接


加载搜索后,尝试此操作以设置过滤器

var filter = mySearch.filters;
                    var newfilters = [];
                    var filterss = {};
                    filterss.name = 'department';
                    filterss.operator = 'IS';
                    filterss.values = dep_fil;
                    filterss.join = 'employee';
                    filterss.summary = 'max';
                    newfilters.push(search.createFilter(filterss));
                    mySearch.filters = newfilters;


var searchResults = mySearch.run().getRange({
                    start : 0,
                    end : 500
                });
您可以使用

  searchResult.getValue({
                            name : 'email',
                            join : 'employee',
                            summary : 'max'
                        });
有不同类型的总结,如max、sum、group等,我认为总结是原因


请注意,这是suitescript 2方法。

您是否尝试过在项目的
内部ID
而不是其
实体ID
上进行筛选?是的。两种方法我都试了好几次。这与过滤器中的“作业”有关。另外,我在保存的搜索中存储了预期参数(项目id)。因此,答案是将“entityid”更改为“internalid”,将“job”更改为“jobmain”,并从UI中保存的搜索中删除该参数。它现在起作用了。我的老板不得不帮我解决这个问题,甚至他在找到“jobmain”之前也被难住了一段时间。