2016-11-14 3 views
0

Я пытаюсь загрузить список сохраненных поисков, где тип «клиент». Я могу загрузить все поисковые запросы, но для того, чтобы определить, является ли сохраненный поиск сохраненным пользователем, мне нужно вызвать search.load() для каждого результата, а затем проверить тип поиска. Я сталкиваюсь с проблемами управления.Как отфильтровать сохраненный поиск сохраненного поиска по типу?

Я получаю сообщение об ошибке (Неверный фильтр поиска) с фильтром ниже.

Как отфильтровать поиск сохраненных пользователем запросов?

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

В качестве альтернативы вы можете использовать enum 'record.TYPE.CUSTOMER' – tzvi

 Смежные вопросы

  • Нет связанных вопросов^_^