はじめに
NetSuiteでは、保存検索の結果をカスタムフィールドに表示することができます。
今回は、プロジェクト単位の粗利(GP)をプロジェクトレコード上に自動表示する例をもとに、設定の流れと動作の仕組みを解説します。
※GP = 収益(請求書の金額合計)-原価(支払請求書の金額合計)
設定の流れ
設定は以下の2つのステップで行います。
ステップ1:集計用の保存検索の作成
ステップ2:カスタムフィールドの作成
ステップ1の保存検索を先に作成し、ステップ2のカスタムフィールドでその保存検索を参照する形で設定します。
ステップ1:集計用保存検索の作成
カスタムフィールドに表示する値を集計するための保存検索を作成します。
| 設定箇所 | 設定内容 |
| 検索タイプ | トランザクション |
| 対象レコード | 請求書・支払請求書 |
| 結果 | GP(計算式) ※今回の場合、GPを計算して表示したいため |
| 概要の種類 | 合計 |
| 合計を表示 | 有効 |
| 利用可能なフィルター | 親プロジェクト項目(カスタムボディ) |
| パブリック | 有効 |
| リスト・ビューとして利用可能 | 有効 |
結果の列に関して、今回の場合はGPを算出する計算式(収益-原価)を設定します。これにより、1列で計算・表示することができます。
グループ化は行いません。また、親プロジェクト項目による絞り込みはカスタムフィールド側で行うため、保存検索の条件には設定しません。
「利用可能なフィルター」への親プロジェクト項目の追加は必須です。この設定がない場合、カスタムフィールド側からの条件を受け取ることができずエラーとなります。
ステップ2:カスタムフィールドの作成
ステップ1で作成した保存検索を参照するカスタムフィールドを作成します。
| 設定箇所 | 設定内容 |
| 種類 | 通貨 |
| 適用先 | プロジェクト |
| 値を保存 | 無効 |
| リストに表示 | 有効 |
| 検索 | ステップ1で作成した保存検索 |
| フィールド | 親プロジェクト項目(カスタムボディ) |
「フィールド」に指定した親プロジェクト項目の値が、レコードを開いたタイミングで動的フィルターとして保存検索に自動的に渡されます。
「値を保存」を無効にしているため、一覧(リストビュー)への表示には反映されません。(NetSuiteの仕様)
動作の仕組み
プロジェクトレコードを開く
↓
そのレコードの親プロジェクト項目の値を取得
↓
保存検索に動的フィルターとして自動で適用
↓
一致するトランザクション(請求書・支払請求書)のGPを集計
↓
カスタムフィールドに値を表示
この仕組みにより、1つの保存検索・1つのカスタムフィールドの設定で、全てのプロジェクトレコードに対応することができます。
レコードを開くたびに、そのレコードにある項目の値をキーとしてリアルタイムで結果が切り替わります。
注意点
【値が表示されないケース】
プロジェクトレコードの親プロジェクト項目が空白の場合、動的フィルターのキーが存在しないことになるため、カスタムフィールドには値が表示されません。
