在连接的自定义字段上使用过滤器表达式时SSS_INVALID_SRCH_FILTER_JOIN

时间:2017-01-05 21:07:33

标签: netsuite suitescript

SuiteScript v1。

搜索项目记录类型。

customrecord_sp_ecom_item_infoseo是一个自定义记录类型,其中包含一个名为custrecord_sp_ecom_item_seo的字段,该字段引用项目记录。它还有一个名为custrecord_sp_ecom_description的字段,其类型为text。

我想搜索“"冻结”字样的项目。出现在链接的customrecord_sp_ecom_item_infoseo记录中的custrecord_sp_ecom_description中,我想使用过滤器表达式。

这是我的表达:

[
    [
      "customrecord_sp_ecom_item_infoseo.custrecord_sp_ecom_description",
      "contains",
      "frozen"
    ]
]

这是我得到的错误:

{"错误" :{"代码" :" SSS_INVALID_SRCH_FILTER_JOIN"," message" :" nlobjSearchFilter包含无效的连接ID,或者语法不正确:custrecord_sp_ecom_description。"}}

如果我将表达式更改为:

[
    [
        "isonline",
        "is",
        true
    ]
]

然后它工作正常,虽然结果不对。所以我知道过滤器表达式可以起作用,我的表达式出现了问题。

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:3)

在过滤器表达式中使用点语法进行连接时,点的前缀是您要加入的字段的ID,而不是您要加入的记录类型的ID(如看起来你在这里。)

因此,如果我正在搜索发票,但我想从相关的销售订单中筛选销售代表,它将类似于:

rewrite (?i)^\/Pokemon-Go-Pokedex+([\/]){0,1}$
rewrite (?i)^\/Pokemon-Go-Pokedex+([\/]{0,1})$

请注意,它不是[ [ 'createdfrom.salesrep', 'anyof', salesReps] ] ,而是salesorder.salesrep,因为createdfrom.salesrep字段将我正在搜索的记录(发票)链接到我加入的记录(销售订单)。使用自定义记录时也是如此。您的加入将类似createdfrom,而不是使用记录类型。