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

SSS_INVALID_SRCH_FILTER_JOIN when using filter expression on joined custom field

SuiteScript v1.

正在搜索项目记录类型。

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

我想在链接的 customrecord_sp_ecom_item_infoseo 记录的 custrecord_sp_ecom_description 中搜索单词 "frozen" 出现的项目,我想使用过滤器表达式。

这是我的表达:

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

这是我得到的错误:

{"error" : {"code" : "SSS_INVALID_SRCH_FILTER_JOIN", "message" : "An nlobjSearchFilter contains an invalid join ID, or is not in proper syntax: custrecord_sp_ecom_description."}}

如果我将表达式更改为:

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

然后它工作正常,尽管结果错误。所以我知道过滤器表达式可以工作,只是我的表达式有问题。

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

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

所以,如果我正在搜索发票,但我想从相关销售订单中筛选销售代表,它看起来像:

[
  [ 'createdfrom.salesrep', 'anyof', salesReps]
]

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