【NetSuite】保存検索の結果をカスタムフィールドに表示する方法

はじめに

NetSuiteでは、保存検索の結果をカスタムフィールドに表示することができます。

今回は、プロジェクト単位の粗利(GP)をプロジェクトレコード上に自動表示する例をもとに、設定の流れと動作の仕組みを解説します。

※GP = 収益(請求書の金額合計)-原価(支払請求書の金額合計)

設定の流れ

設定は以下の2つのステップで行います。

ステップ1:集計用の保存検索の作成
ステップ2:カスタムフィールドの作成

ステップ1の保存検索を先に作成し、ステップ2のカスタムフィールドでその保存検索を参照する形で設定します。

ステップ1:集計用保存検索の作成

カスタムフィールドに表示する値を集計するための保存検索を作成します。

設定箇所設定内容
検索タイプトランザクション
対象レコード請求書・支払請求書
結果GP(計算式)
※今回の場合、GPを計算して表示したいため
概要の種類合計
合計を表示有効
利用可能なフィルター親プロジェクト項目(カスタムボディ)
パブリック有効
リスト・ビューとして利用可能有効

結果の列に関して、今回の場合はGPを算出する計算式(収益-原価)を設定します。これにより、1列で計算・表示することができます。

グループ化は行いません。また、親プロジェクト項目による絞り込みはカスタムフィールド側で行うため、保存検索の条件には設定しません。

「利用可能なフィルター」への親プロジェクト項目の追加は必須です。この設定がない場合、カスタムフィールド側からの条件を受け取ることができずエラーとなります。

ステップ2:カスタムフィールドの作成

ステップ1で作成した保存検索を参照するカスタムフィールドを作成します。

設定箇所設定内容
種類通貨
適用先プロジェクト
値を保存無効
リストに表示有効
検索ステップ1で作成した保存検索
フィールド親プロジェクト項目(カスタムボディ)

「フィールド」に指定した親プロジェクト項目の値が、レコードを開いたタイミングで動的フィルターとして保存検索に自動的に渡されます。

「値を保存」を無効にしているため、一覧(リストビュー)への表示には反映されません。(NetSuiteの仕様)

動作の仕組み

プロジェクトレコードを開く

そのレコードの親プロジェクト項目の値を取得

保存検索に動的フィルターとして自動で適用

一致するトランザクション(請求書・支払請求書)のGPを集計

カスタムフィールドに値を表示

この仕組みにより、1つの保存検索・1つのカスタムフィールドの設定で、全てのプロジェクトレコードに対応することができます。

レコードを開くたびに、そのレコードにある項目の値をキーとしてリアルタイムで結果が切り替わります。

注意点

【値が表示されないケース】

プロジェクトレコードの親プロジェクト項目が空白の場合、動的フィルターのキーが存在しないことになるため、カスタムフィールドには値が表示されません。