顧客の請求書を取得して削除する Map/Reduce スクリプトを作成しました。以下の条件に基づいて UI で保存済み検索を作成すると、400 万件のレコードが表示されます。ここでスクリプトを実行すると、「getInputData」ステージの最大ストレージ制限が 200Mb であるため、「getInputData」ステージが完了する前に実行が停止します。そのため、400 万レコードのうち最初の 4000 レコードを取得して実行し、15 分ごとにスクリプトをスケジュールします。これが最初の段階のコードです(getInputData)-
var count=0;
var counter=0;
var result=[];
var testSearch = search.create({
type: 'customrecord1',
filters: [ 'custrecord_date_created', 'notonorafter', 'startOfLastMonth' ],
columns: [ 'internalid' ]
});
do{
var resultSearch = testSearch.run().getRange({
start : count,
end : count+1000
});
for(var arr=0;arr<resultSearch.length;arr++){
result.push(resultSearch[arr]);
}
counter = count+counter;
}while(resultSearch.length >= 1000 && counter != 4000);
return result;
保存済み検索の作成中に時間がかかります。保存済み検索の作成中に最初の 4000 レコードをフィルタリングできる回避策はありますか?