【问题标题】:How to filter saved 'saved search' search on type?如何按类型过滤已保存的“已保存搜索”搜索?
【发布时间】: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


    【解决方案1】:

    你必须这样定义过滤器:

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

    【讨论】:

    • “客户”是过滤器的正确值吗?应用过滤器后我没有得到任何结果。
    • 再次区分大小写。 “客户”是正确的。谢谢!!
    • 或者你可以使用枚举record.TYPE.CUSTOMER
    • 过滤器上可以一个过滤器吗?就像,我只想显示已保存的交易搜索,并且在它们的类型中,它们设置了销售订单......这可能吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多