SuiteScript 1.0-nlobjSearchFilter包含无效的搜索条件:搜索自定义记录

时间:2018-08-03 09:42:33

标签: javascript netsuite suitescript

我对SuiteScript还是很陌生,但是我正在研究一个脚本,用于向客户的催款收件人列表上的所有联系人发送电子邮件-因此是自定义记录。

我收到以下错误-nlobjSearchFilter包含无效的搜索条件:customrecord_3805_dunning_recipient.custrecord_3805_dunning_recipient_cust。

var filters = new Array();
        filters[0] = new nlobjSearchFilter('company', null, 'is', customer);
        filters[1] = new nlobjSearchFilter('email', null, 'isnot', '');
        filters[2] = new nlobjSearchFilter('isinactive', null, 'is', 'F');
        filters[3] = new nlobjSearchFilter('customrecord_3805_dunning_recipient.custrecord_3805_dunning_recipient_cust', null, 'is', customer);

    var columns = new Array();
        columns[0] = new nlobjSearchColumn('company');
        columns[1] = new nlobjSearchColumn('email');
        columns[2] = new nlobjSearchColumn('internalid')

    var searchresults = nlapiSearchRecord('contact', null, filters, columns);

使用自定义记录作为过滤器时,我需要注意什么吗?谢谢

3 个答案:

答案 0 :(得分:1)

第二个参数是联接表。第一个是列。

修复您的最后一个过滤器。

答案 1 :(得分:1)

有关使用nlobjSearchFilter()构造函数的信息,请参见以下SuiteAnswers摘录。

  

nlobjSearchFilter(名称,联接,运算符,值1,值2)

     

搜索过滤器对象的构造函数

     

参数

     
      
  • name {string}-搜索字段的内部ID。例如,如果您的过滤条件之一是“可用数量”,则您将   将名称的值设置为“数量可用”,即搜索   可用数量的字段ID。

  •   
  • join {string}-如果要执行联合搜索,则name参数中指定的用于搜索字段的联合ID。联接ID   是搜索字段显示在其中的记录类型的内部ID。

  •   
  • operator {string}-用于此搜索字段的搜索运算符。有关可能的运算符值的更多信息,请参见搜索。   运算符。

  •   
     

请注意,如果您的搜索过滤器使用包含搜索运算符,而您的   搜索超时,请改用 haskeywords 运算符。

     
      
  • value1 {字符串   |日期|字符串[] | int}-过滤器值-或者-特殊日期字段   value-或-select / multiselect字段的值数组-or- An   整数值

  •   
  • value2 {string |日期}-辅助过滤器值-或-特殊日期   样式运算符之间/之内的字段值* lastbusinessweek。   值不区分大小写。有关可能的更多信息   日期过滤器值,请参阅搜索日期过滤器。

  •   

应用这些原则,您的filter[3]设置应为:

filters[3] = new nlobjSearchFilter('custrecord_3805_dunning_recipient_cust', 'customrecord_3805_dunning_recipient', 'anyof', customer);

请注意运算符'anyof'-这是必需的,因为使用“列表/记录”数据类型时,唯一有效的运算符是'anyof''noneof'。 (我假设您正在使用“列表/记录”字段类型来选择“催款收件人”自定义记录中的相关客户。)

还要检查其他过滤器是否有正确的运算符。有关搜索运算符的更多信息,请访问SuiteAnswers ID 10565

答案 2 :(得分:0)

就像我们通常在过滤器中所做的一样,

第一个参数是-字段名(id)

如果要从其他记录中添加此过滤器,则需要将其用作第二个参数。

第二个参数是-join_fieldname(join_record_id)