2016-11-14 20 views
0

タイプが「顧客」である保存された検索のリストを読み込もうとしています。私はすべての検索を読み込むことができますが、保存された検索が顧客の保存された検索であるかどうかを判断するためには、各結果に対して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; 
    } 
}); 

答えて

1

 var typeFilter = search.createFilter({ 
     name: 'recordtype', 
     operator: search.Operator.ANYOF, 
     values: 'Customer' 
    }); 
+0

は、「顧客のフィルタの正しい値はありますか?フィルタを適用しても結果が得られません。 – ehcanadian

+0

再度大文字と小文字の区別があります。 「顧客」は正しいです。ありがとう!! – ehcanadian

+0

また、列挙型の 'record.TYPE.CUSTOMER' – tzvi

関連する問題