2017-02-19 35 views
0

我正在使用SS 1和一個Suitelet加載相關彙編項目的列表,然後用戶檢查要修改哪些項目。我對它們進行了修改,但我遇到了腳本使用限制。那麼我卸載了這個restlet,我做了授權(用戶名密碼)的用戶身份驗證,現在我得到一個 「INVALID_HOST」,「message」:「無效的主機debugger.sandbox.netsuite.c」 'nlapiRequestURL'我從一個Suitelet調用腳本,它怎麼會是一個無效的主機?任何幫助將是偉大的,謝謝SuiteScript Exceeded Data Units

回答

1

需要更多的信息來解決無效的主機問題,可能是由於我注意到url不完整,如果你粘貼它,我可以幫助你進一步。

退一步說什麼你實際上是試圖實現您可以通過兩種方式進行:

1:立即處理用戶輸入。 (用戶必須等到過程結束)

2:安排批量作業。 (對於大型操作,這是推薦的選項)

如果您決定使用選項1(立即處理),那麼我建議在窗體上設置一個附加到按鈕的客戶端功能。另外,您需要在Suitelet中接受POST請求以接收數據並對其進行處理。您的客戶端功能將處理循環中的項目,並將每個項目傳遞給Suitelet以使用ajax調用進行處理(不要使用nlapiRequestURL,因爲它會使用管理點)。如果你想要看到你甚至可以添加一個回調函數給你的ajax調用並顯示一個進度條,所以每當一個記錄被Suitelet處理時,你的進度條就會被更新,並且100%顯示爲「完成」。

如果您選擇選項2(計劃批處理作業),那麼您可以使用nlapiScheduleScript(scriptId, deployId, params)將數據作爲參數傳遞給計劃腳本,處理循環中的數據並讓它在最後發送電子郵件給用戶。最好你想使用一個Map Reduce腳本,但這是在SS 2.0上。

+0

該網址被切斷,只有橢圓(...)。我使用的整個網址如下所示:https://debugger.sandbox.netsuite.com/app/site/hosting/restlet.nl?script=60&deploy=1您需要哪些更多信息?它需要立即處理,因爲它們的其他進程將被鏈接在一起。我希望按照已經寫好的restlet進行操作,但爲防萬一,我們提到了一個Suitelet,你是​​否說要創建一個只處理信息的程序,比如沒有界面? – jk121960

+0

因此,我會使用suitelet的部署url並使用jQuery向其發佈POST和更改數據?如果有,是否有辦法將成功/失敗消息返回給ajax調用?感謝您的任何幫助。 – jk121960

+0

您可以使用您用於接口的相同Suitelet,只要確保您的表單僅在傳入請求爲GET時才發送。要發回來自Suitelet的響應,只需使用response.write(「Hello world」) –