【发布时间】:2016-11-14 19:56:21
【问题描述】:
我正在尝试加载类型为“客户”的已保存搜索列表。我可以加载所有搜索,但为了让我确定保存的搜索是否是客户保存的搜索,我需要对每个结果调用 search.load(),然后检查 searchType。我遇到了治理问题。
下面的过滤器出现错误(无效的搜索过滤器)。
如何过滤搜索以查找客户保存的搜索?
require(['N/search', 'N/record'],
function GetSavedSearches(search, record) {
var records = new Array();
var typeFilter = search.createFilter({
name: 'Type',
operator: search.Operator.ANYOF,
values: 'customer'
});
var mySearch = search.create({
type: search.Type.SAVED_SEARCH,
columns: [{
name: 'internalid'
}, {
name: 'ID'
}, {
name: 'Title'
}, {
name: 'Owner'
}, {
name: 'Access'
}],
filters: typeFilter
});
mySearch.run().each(processRecord);
function processRecord(result) {
var columns = result.columns();
var searchID = result.getValue({
name: 'ID'
});
try {
var loadedSearch = search.load({
id: searchID
});
var searchName = result.getValue({
name: 'Title'
});
var searchType = loadedSearch.searchType;
var searchAccess = loadedSearch.isPublic;
if (searchType == "customer") {
var record = {
SS_ID: result.id,
'Title': searchName,
'Type': searchType,
'Public': searchAccess
};
records.push(record);
}
}
catch (ex) {
// an error occurs when trying to load a search that is actually an update.
}
var x = 0;
return true;
}
});
【问题讨论】:
标签: netsuite suitescript