有用的提示

  1. 在這裡,你可以找到日期檔案的可用搜尋過濾器值列表:
    https ://system.netsuite.com/app/help/helpcenter.nl fid = section_N3010842.html
    這些你可以在以下表示式中使用:
['trandate', 'notbefore', 'daysAgo17']
  1. 以下是搜尋運算子:
    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

  2. 以下是搜尋摘要型別: https
    //system.netsuite.com/app/help/helpcenter.nl?fid = section_N3010474.html

  3. 你只能在選擇型別欄位(列表/記錄)上使用 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']
           ]

});
  1. 仍然沒有信心?尋找作弊? :)
    在 Netsuite UI 中建立一個已儲存的搜尋,獲取搜尋 ID(例如:customsearch1234)和 log.debug 過濾器表示式:
    var s = search.load('customsearch1234');
    
    log.debug('filterExpression', JSON.stringify(s.filterExpression));