1

18,000 を超える「結果」を持つ大きな nlobjSearchResultSet オブジェクトがあります。

各結果は、顧客の価格レコードです。1 人の顧客に対して複数のレコードが存在する場合があります。

18000 以上のレコードは、大量の変更を行うにはガバナンス ポイントにコストがかかるため、サブリストとしてアイテムの価格を変更できるように、親 (顧客) レコードと子レコード (アイテム) に移行しています。

この移行の一環として、ビッグ オブジェクト内で特定の基準 (つまり、顧客 ID) に一致する nlapiSearchResult オブジェクトのみを選択する簡単なコマンドはありますか。

これにより、1 回の検索だけでデータを移行でき、その後は新しいレコード形式を作成/保存するだけで済みます。

関連する方法で、特定の netsuite レコードに含まれるレコードの数に戻る単純な関数呼び出しはありますか? % 進捗状況の場合。

前もって感謝します。

4

2 に答える 2

2

集計列を追加して検索を実行すると、実際に行数を取得できます。集計列を持たない保存済み検索でこれを行う一般的な方法を以下に示します。

var res = nlapiSearchRecord('salesorder', 'customsearch29', null, 
    [new nlobjSearchColumn('formulanumeric', null, 'sum').setFormula('1')]);
var rowCount = res[0].getValue('formulanumeric', null, 'sum');
console.log(rowCount);
于 2016-01-15T16:38:28.437 に答える
0

レコードの総数を取得するには、保存された検索を行うしかありません。このような検索を行う理想的な方法は、nlobjSearch

以下は、無限検索結果とレコード数を取得するためのサンプル コードです。

var search = nlapiLoadSearch(null, SAVED_SEARCH_ID).runSearch();
var res = [],
    currentRes;

var i = 0;

while(i % 1000 === 0){
  currentRes = (search.getResults(i, i+1000) || []);
  res = res.concat(currentRes );
  i = i + currentRes.length;
}

res.lengthまたはi、レコードの総数がres表示され、すべての結果が表示されます。

于 2016-01-15T07:55:36.660 に答える