Netsuite 在联接的自定义字段上使用筛选器表达式时,SSS\u无效\u SRCH\u筛选器\u联接

Netsuite 在联接的自定义字段上使用筛选器表达式时,SSS\u无效\u SRCH\u筛选器\u联接,netsuite,suitescript,Netsuite,Suitescript,SuiteScriptV1 正在搜索项目记录类型 customrecord_sp_ecom_item_infoseo是一种自定义记录类型,其中包含一个名为custrecord_sp_ecom_item_seo的字段,该字段引用项目记录。它还有一个名为custrecord_sp_ecom_description的字段,类型为text 我想搜索链接的customrecord\u sp\u ecom\u item\u infoseo记录中custrecord\u sp\u ecom\u descrip

SuiteScriptV1

正在搜索项目记录类型

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

我想搜索链接的customrecord\u sp\u ecom\u item\u infoseo记录中custrecord\u sp\u ecom\u description中出现“冻结”一词的项目,我想使用筛选表达式

以下是我的表达:

[
    [
      "customrecord_sp_ecom_item_infoseo.custrecord_sp_ecom_description",
      "contains",
      "frozen"
    ]
]
下面是我得到的错误:

{“error”:{“code”:“SSS_INVALID_SRCH_FILTER_JOIN”,“message”:“nlobjSearchFilter包含无效的JOIN ID,或语法不正确:custrecord_sp_ecom_description.”

如果我将表达式更改为:

[
    [
        "isonline",
        "is",
        true
    ]
]
然后它工作正常,尽管结果不正确。所以我知道过滤表达式可以工作,只是我的表达式有点问题


如何使其工作?

在筛选表达式中使用点语法进行联接时,点的前缀是要通过其联接的字段的ID,而不是要联接到的记录类型的ID(如这里所示)

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

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

请注意,它不是
salesorder.salesrep
,而是
createdfrom.salesrep
,因为
createdfrom
字段将我正在搜索的记录(发票)链接到我正在加入的记录(销售订单)。当使用自定义记录时,同样适用。您的连接将类似于
custrecord\u fieldid.custrecord\u sp\u ecom\u description
,而不是使用记录类型。

在过滤器表达式中使用连接点语法时,点的前缀是您要连接的字段的ID,而不是您要连接的记录类型的ID(就像您在这里看到的那样)

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

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

请注意,它不是
salesorder.salesrep
,而是
createdfrom.salesrep
,因为
createdfrom
字段将我正在搜索的记录(发票)链接到我正在加入的记录(销售订单)。当使用自定义记录时,同样适用。您的加入将类似于
custrecord\u fieldid.custrecord\u sp\u ecom\u description
,而不是使用记录类型。

谢谢。实际上,我通过使用nlobjSearchFilter和联接知道这一点,但从我在网上找到的示例中,我得出结论,在联接筛选器表达式时应该使用记录类型名称。希望你的回答能防止其他人重复我的错误!是否可以通过这种方式按客户搜索发票?看起来发票表上的实体显示了客户名称。但是,似乎返回了一个数字,而不是名称。谢谢。实际上,我通过使用nlobjSearchFilter和联接知道这一点,但从我在网上找到的示例中,我得出结论,在联接筛选器表达式时应该使用记录类型名称。希望你的回答能防止其他人重复我的错误!是否可以通过这种方式按客户搜索发票?看起来发票表上的实体显示了客户名称。但是,似乎返回的是数字而不是名称。