【问题标题】:Saved search Netsuite error in Summary Criteria在摘要标准中保存搜索 Netsuite 错误
【发布时间】:2020-08-04 01:16:42
【问题描述】:

我正在使用标准中的摘要进行保存的搜索(查找完全应用的客户付款)

在 UI 中它工作正常,但在 suitescript 中给我这个错误:

错误代码:INVALID_SRCH_SUMMARY_TYP \n 描述:一个 nlobjSearchFilter 包含无效的摘要类型:公式数字: 总和。

我已尝试加载搜索

var  searchPayment=search.load({
                   id:'customsearch_paymentsCXC'
                });

或者使用 SearchExport 扩展:

search.create({
                    type: "customerpayment",
                    filters:
                    [
                        ["type","anyof","CustPymt"], 
                        "AND", 
                        ["systemnotes.field","anyof","CUSTBODY_REFJOURNALENTRY_IVA"], 
                        "AND", 
                        ["systemnotes.date","within","thisweek"], 
                        "AND", 
                        ["customer.custentity_zona_cliente","anyof",zonaid], 
                        "AND", 
                        ['sum(formulanumeric: CASE WHEN SUM(NVL({appliedtolinkamount},0)) = MAX(NVL({amount},0)) THEN 1 ELSE 0 END)','equalto','1']
                     ],
                     columns:
                     [
                        search.createColumn({name: "tranid", label: "Document Number"}),
                        search.createColumn({name: "custbody_fe_uuid_cfdi_33", label: "UUID CFDI v3.3"}),
                        search.createColumn({name: "custbody_fe_sf_mensaje_respuesta", label: "Mensaje de Respuesta"}),
                        search.createColumn({
                           name: "tranid",
                           join: "appliedToTransaction",
                           label: "Document Number"
                        }),
                        search.createColumn({
                           name: "internalid",
                           join: "appliedToTransaction",
                           label: "Internal ID"
                        })
                    ]
                 });

我仍然在带有摘要的过滤器中遇到相同的错误:

['sum(formulanumeric: CASE WHEN SUM(NVL({appliedtolinkamount},0)) = MAX(NVL({amount},0)) THEN 1 ELSE 0 END)','equalto','1']

我在这里缺少什么?

【问题讨论】:

    标签: netsuite suitescript2.0 saved-searches


    【解决方案1】:

    试试这个

    ...
    Filters: [
        ...
        'AND',
        ['formulanumeric: CASE WHEN sum(nvl({appliedtolinkamount},0)) = max(nvl({amount},0)) THEN 1 ELSE 0 END','is','1']
    ],
    ...
    

    【讨论】:

      【解决方案2】:

      尝试使用过滤器对象而不是字符串数组

      ...
      Filters: [
          ...
          'AND',
          Search.createFilter({
              name: 'formulanumeric',
              summary: 'sum',
              operator: 'equalto',
              values: 1,
              formula: 'CASE WHEN SUM(NVL({appliedtolinkamount},0)) = MAX(NVL({amount},0)) THEN 1 ELSE 0 END'
          })
      ],
      ...
      

      【讨论】:

      • 这也可以,但我必须将运算符更改为'is'
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多