【问题标题】:SuiteScript 2.0 search.create returning empty resultsSuiteScript 2.0 search.create 返回空结果
【发布时间】:2018-10-16 23:12:40
【问题描述】:

我正在尝试获取在创建新销售订单时等待履行的所有销售订单。这是为了提醒用户销售订单已经在进行中。我使用的代码是这样的;

    function saleOrderInPendingFulfillmentAlreadyExists(scriptContext)
    {
        //Check if the customer already has an order which is pending fulfillment
        debugger;
        var idCustomer = scriptContext.currentRecord.getValue('entity');
        var recCustomer;
        if(idCustomer)
        {
            var filters = [
               ["mainline", "is", "T"], "and",
               ["type", "anyOf", search.Type.SALES_ORDER], "and",
               ["entity", "anyOf", idCustomer],
           ];

           var columns = [ "tranid" ];

           var searchQuery = search.create({
               "type": search.Type.TRANSACTION,
               "filters": filters,
               "columns": columns
           });

           var salesorders = searchQuery.run().getRange({"start": 0, "end": 1000}) || [];

        }
    }

在调试代码时,变量 salesorders 是一个空数组,但我知道客户文件上至少有 8 个销售订单。我做错了什么?

【问题讨论】:

    标签: netsuite suitescript2.0


    【解决方案1】:

    您的问题是 type 搜索过滤器需要与 search.Type 枚举格式不同的记录('SalesOrd' 而不是 'salesorder')。欢迎使用 NetSuite!

    您可以将过滤器更改为

    var filters = [
       ["mainline", "is", "T"], "and",
       ["type", "anyOf", 'SalesOrd'], "and",
       ["entity", "anyOf", idCustomer],
    ];
    

    或者,甚至更好

    var searchQuery = search.create({
       "type": search.Type.SALES_ORDER,
       "filters": filters,
       "columns": columns
    });
    

    顺便说一句,您绝对应该查看NetSuite Search Export Chrome Extension,它可以让您在 UI 中构建搜索并将其自动转换为 SuiteScript。

    【讨论】:

    • 那么如果我使用第二个选项,这是否意味着类型过滤器不需要存在?
    • @TomHanson 正确
    猜你喜欢
    • 2020-06-11
    • 1970-01-01
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多