2014-09-25 38 views
0

我在這裏遇到了一個奇怪的問題。在提取字段值的時候,還沒有碰到任何與Netsuite Restlet有關的問題。但突然之間,我在這裏遇到了一個奇怪的問題。我有一個自定義記錄,它有近20個字段,以前我的restlet能夠正確地提取所有信息。現在我添加了一個額外的字段,但我完全驚訝,我無法將其放入搜索欄。無法通過Restlet提取Net Suite自定義記錄值:(錯誤:SSS_INVALID_SRCH_COL)

var Filters = []; 
Filters[0] = new nlobjSearchFilter('custrecord_name', null, 'anyof', dataIn.gId); 
Filters[1] = new nlobjSearchFilter('internalid', null, 'is', dataIn.rId); 

var Columns = []; 
Columns[0] = new nlobjSearchColumn('name'); 
Columns[1] = new nlobjSearchColumn('custrecord_name'); 
Columns[2] = new nlobjSearchColumn('custrecord_type'); 
. 
. 
. 
. 
Columns[13] = new nlobjSearchColumn('custrecord_service_name'); // getting error 


var rCatResults = nlapiSearchRecord('customrecord_service_category', null, Filters, Columns); 

這是拋出錯誤。

Error: SSS_INVALID_SRCH_COL An nlobjSearchColumn contains an invalid column, or is not in proper syntax:

但我很好地nlobjSearchFilternlobjSearchColumn熟悉。我仔細檢查了字段internal id,它在調試器中工作正常,但在撥打rest時遇到了上述錯誤。有誰知道爲什麼它會拋出這個錯誤?

+1

我不完全確定你爲什麼會看到這個錯誤。但是,我注意到你的一個過濾器是'internalid',所以你不應該有多個結果。一種不同的方法可能是使用'nlapiLoadRecord(dataIn.rId)'而不是搜索。對於自定義記錄,這將只使用2個單位而不是10個搜索,並且您可以訪問記錄中的所有字段,而無需指定所需的那些字段。 – erictgrubaugh 2014-09-25 17:29:52

+0

@ egrubaugh360是的,我同意。但在這裏,我的情況有點扭曲,促使我這樣做。其實我已經有一個實施的restlet,我只需要添加一個額外的領域。如果我已經用'nlapiLoadRecord'去了,那麼我只需要檢索我想要的選定字段值,然後創建一個JSON,但是因爲它已經實現了,所以我不想更改響應結構,這就是爲什麼我繼續與現有的。 – Rockstar 2014-09-26 04:59:13

回答

1

我遇到的完全一樣的問題,出現了搜索欄語法沒有真正的錯誤,但似乎有一個非常令人沮喪NetSuite的錯誤,使得搜索錯誤了,當你一個新的字段添加到自定義記錄表同時以當前用戶身份登錄。當我用同一個用戶註銷並重新登錄時,搜索列工作得非常好,就好像從來沒有任何錯誤一樣。

+0

這是爲我工作。我在會話結束之前添加了一個自定義字段,我嘗試搜索記錄並發現錯誤。但是,當我註銷並再次登錄它的作品。 – 2016-08-04 11:27:42

+0

我有同樣的錯誤,但登錄和退出我的會話不適用於我。任何其他可能性? – bluejay92 2017-05-15 23:42:50

0

檢查兩件事情第一..

  1. 場的權限,可能是在運行,其餘請求的用戶不能訪問該字段。
  2. 字段數據類型,可能是你正在尋找NS不知道如何迴應的東西。
  3. 語法,也許你把一封信放在錯誤的地方,沒有注意到。
+0

感謝您的回覆@pipechang。我已經檢查了你提到的,一切都很好。但我很想知道原因。我用不同的登錄名也是這樣,然後它就像一個魅力一樣。但重要的是,這兩個帳戶都具有相同的角色權限。我試圖在以前的登錄中的另一個記錄中添加一個新字段,它對我來說工作正常。我不明白爲什麼它會拋出一個錯誤。 – Rockstar 2014-09-26 05:06:25

+0

檢查用戶級權限。 – pipechang 2014-09-27 08:14:31