2017-08-17 133 views
1

當我運行testThatFails下面我得到以下錯誤:MISMATCHED_SEARCH_PARENTHESIS:搜索錯誤:括號不平衡

MISMATCHED_SEARCH_PARENTHESIS : Search error: Parentheses are unbalanced.

爲什麼會出現這個錯誤?

如果我將is更改爲haskeywords,它可以工作(testThatSucceeds)。

如果我拿出,"AND",["line","equalto","1"],它可以工作(anotherTestThatSucceeds)。

如果我將numbertext更改爲number,它可以工作(yetAnotherTestThatSucceeds)。

define(['N/search'], function (nSearch) { 

    function testThatFails() { 
     var objSearch = nSearch.create({ 
      type: 'transaction', 
      filters: [[["numbertext","is","1"],"AND",["line","equalto","1"]]], 
      columns: [nSearch.createColumn({ 
       name: 'internalid' 
      })] 
     }); 

     var resultSet = objSearch.run(); 

     resultSet.getRange({ start: 0, end: 1000 }); 
    } 

    function testThatSucceeds() { 
     var objSearch = nSearch.create({ 
      type: 'transaction', 
      filters: [[["numbertext","haskeywords","1"],"AND",["line","equalto","1"]]], 
      columns: [nSearch.createColumn({ 
       name: 'internalid' 
      })] 
     }); 

     var resultSet = objSearch.run(); 

     resultSet.getRange({ start: 0, end: 1000 }); 
    } 

    function anotherTestThatSucceeds() { 
     var objSearch = nSearch.create({ 
      type: 'transaction', 
      filters: [[["numbertext","is","1"]]], 
      columns: [nSearch.createColumn({ 
       name: 'internalid' 
      })] 
     }); 

     var resultSet = objSearch.run(); 

     resultSet.getRange({ start: 0, end: 1000 }); 
    } 

    function yetAnotherTestThatSucceeds() { 
     var objSearch = nSearch.create({ 
      type: 'transaction', 
      filters: [[["number","is","1"],"AND",["line","equalto","1"]]], 
      columns: [nSearch.createColumn({ 
       name: 'internalid' 
      })] 
     }); 

     var resultSet = objSearch.run(); 

     resultSet.getRange({ start: 0, end: 1000 }); 
    } 
}); 
+0

難道是'haskeywords'需要一個數組作爲輸入,所以你還需要在括號中包裝''1「'?這只是一個瘋狂的猜測。 – rorschach

+0

@rorschach。謝謝回覆! 'haskeywords'工作('testThatSucceeds')。 'is'不起作用('testThatFails')。我只是嘗試過,並沒有這些工作:'[[[「numbertext」,「is」,['1']],「AND」,[「line」,「equalto」,「1」]]]''[ [[「numbertext」,「is」,('1')],「AND」,[「line」,「equalto」,「1」]]]' –

回答

1

numbertext該字段未被列爲supported filter。您可以使用它來過濾搜索,但它可能會導致意外的行爲。您應該改用number

0

唯一不平衡的括號我可以看到的是define後立即最前面的一個未在您的例子結束時關閉。不知道爲什麼這可以讓其他功能工作。

+0

這是我的部分的複製粘貼錯誤,isn這個問題的原因。我包含'define'的原因是讓人們知道'nSearch'對應的依賴關係。感謝您指出;我修復了它。 –