有用的提示
- 在這裡,你可以找到日期檔案的可用搜尋過濾器值列表:
https ://system.netsuite.com/app/help/helpcenter.nl ? fid = section_N3010842.html
這些你可以在以下表示式中使用:
['trandate', 'notbefore', 'daysAgo17']
-
以下是搜尋運算子:
https : //system.netsuite.com/app/help/helpcenter.nl ? fid = section_N3005172.html
當然你可以使用 serach.Operator 列舉: https : //system.netsuite.com/app
/help/helpcenter.nl?fid=section_4345782273.html -
以下是搜尋摘要型別: https :
//system.netsuite.com/app/help/helpcenter.nl?fid = section_N3010474.html -
你只能在選擇型別欄位(列表/記錄)上使用 ANYOF 運算子。如果要對自由文字欄位(如名稱,電子郵件等)使用它,唯一的方法是使用
OR
運算子建立巢狀的 Filter 表示式:
[ ['email', 'startswith', 'user1@abcd.com'],
'or', ['email', 'startswith', 'user2@abcd.com'],
'or', ['email', 'startswith', 'user3@abcd.com'],
'or', ['email', 'startswith', 'user4@abcd.com']
]
或者你可以寫小指令碼,而不是你這樣做:
function stringFieldAnyOf(fieldId, listOfValues) {
var result = [];
if (listOfValues.length > 0) {
for (var i = 0; i < listOfValues.length; i++) {
result.push([fieldId, 'startswith', listOfValues[i]]);
result.push('or');
}
result.pop(); // remove the last 'or'
}
return result;
}
// usage: (two more filters added just to illustrate how to combine with other filters)
var custSearch = search.create({
type: record.Type.CUSTOMER,
columns: searchColumn,
filters: [
['companyname', 'startswith', 'A'],
'and', stringFieldAnyOf('email', ['user1@abcd.com', 'user2@abcd.com']),
'and', ['companyname', 'contains', 'b']
]
});
- 仍然沒有信心?尋找作弊? :)
在 Netsuite UI 中建立一個已儲存的搜尋,獲取搜尋 ID(例如:customsearch1234)和 log.debug 過濾器表示式:
var s = search.load('customsearch1234');
log.debug('filterExpression', JSON.stringify(s.filterExpression));