NetSuite RESTletで検索と処理を行い、その結果をポートレットに表示しています。すべてがうまくいきます。ただし、処理に時間がかかる場合は、実際に何か起こっていることをクライアントにフィードバックしたいと思います。そうする最良の方法は何でしょうか?検索を分割して呼び出し間でフィードバックを提供することができますが、それは不要なガバナンスにつながります。suitscriptのリセレット処理中にフィードバックを提供しますか?
私の検索コードです。 (ボイラープレート)。私はRESTletを再度呼び出してレコード数をコールバックすることを考えましたが、auth paramsを送信する必要があります。何故ですか?
これについてはどのような方法が最適ですか?
function doWork() {
// do the search
var accountSearch = search.create({
type: search.Type.CUSTOMER,
columns: searchColumns,
filters: searchFilters
});
// GOVERNANCE: 5
var searchResultsPagedData = accountSearch.runPaged({
'pageSize': 1000
});
if (searchResultsPagedData && searchResultsPagedData.count > 0) {
var foundIDs = [];
for (var pageIndex = 0; pageIndex < searchResultsPagedData.pageRanges.length; pageIndex++) {
var pageRange = searchResultsPagedData.pageRanges[pageIndex];
if (pageRange.index >= max)
break;
var searchPage = searchResultsPagedData.fetch({ index: pageRange.index });
// THIS IS WHAT I HAD IN MIND
var jsonText = JSON.stringify({ "recordType": "resultCallback", "index": pageRange.index });
var restletUrl = url.resolveScript({
scriptId: 'customscript_script_id',
deploymentId: 'customdeploy_deploy_id',
});
var response = https.post({
url: restletUrl,
body: jsonText
});
log.debug({
title: 'response',
details: response
})
// Iterate over the list of results on the current page
searchPage.data.forEach(function (result) {
// Process the individual result
var internalid = result.id;
// etc etc
});
};
}
var returnJson = {
'accountslength': records.length,
'contactlength': contactRecords.length,
'accounts': records,
'contacts': contactRecords
};
return returnJson;
}
レスポンスを教えてください。
"type":"http.ClientResponse","code":401
これは方法になると思います私は一度に1つのレコードに対してバッチでそれを行うだろうが、処理する必要があります。ありがとう。 – ehcanadian