Loading

Salesforce の派生項目、派生項目の値の設定方法、タイムスタンプへの影響について

公開日: Nov 17, 2023
説明
Salesforce の派生項目は、同じオブジェクトにある 1 つ以上の項目の値から派生する値を持つ単純な項目です。

これらの項目の値は、依存項目に変更があった場合のクエリ時に計算されます。ただし、派生項目はトリガーや自動化によって更新されないため、これは派生項目の自動更新とはみなされず、派生項目の SystemModStamp は変更されません。 


派生項目では [作成] または [更新] の呼び出しがサポートされていないため、手動で更新することもできません。そのため、関連付けられたレコードの LastModifiedDate も変更されません。
解決策
派生項目は数式項目として扱われます。その値はクエリされたときに計算され、実際には保存されません。 値が保存されないため、レコードはユーザーによってもシステムによっても変更されず、レコードの更新/変更は行われません。したがって、タイムスタンプ (SystemModStamp または LastModifiedDate) は更新されません。

派生項目の例を次に示します。
  • [エンタイトルメント] オブジェクトの [ステータス] 項目は、関連付けられたレコードの [開始日] と [終了日] から派生します。項目が手動で更新された場合、 [ステータス] の値は [アクティブ] または [非アクティブ] となり、タイムスタンプ内に変更が生じます。ただし、項目が変更されず [終了日] の値の日を超過した場合、[ステータス] は [期限切れ] になります。この値はクエリ時に設定され、実際には保存されません。
  • [マイルストン] オブジェクトの [isViorated] 項目は、[完了日] と [Target Date (目標日)] から派生します。この項目についての詳細を理解するには、こちらの記事をご覧ください。
  • 現在の DateTime とその他の DateTime の比較に基づいて数式を作成するカスタム数式項目の場合、レコードの更新、トリガーの起動、タイムスタンプの変更が行われていなくても、数式項目の値は変更されます。詳細については、「オートメーションルール、および、Apex トリガーはどのような順番で処理されますか?」記事を参照してください
ナレッジ記事番号

000396215

 
読み込み中
Salesforce Help | Article