機械翻訳について

参照に関連するセカンダリ・フィールドの理解

動的選択リスト(DCL)フィールドは、あるオブジェクトと、同じまたは異なるタイプの別のオブジェクトとの間の多対to-1外部キー参照を表します。

たとえば、TroubleTicketオブジェクトに、トラブル・チケットを報告した特定のContactオブジェクトへの外部キー参照を表すContactという名前のDCLフィールドがあるとします。

DCLフィールドを定義する場合は、参照オブジェクトからプライマリ表示フィールド名を指定します。 たとえば、Contactオブジェクトを参照するContact動的選択リスト・フィールドを定義する際に、「担当者名」フィールドを指定できます。

ContactのようなDCLフィールドを定義すると、1つのプライマリ・フィールドと2つのセカンダリ・フィールドが表示されます:

  • DCL表示フィールド

    このプライマリ・フィールドの名前はContact_cで、参照オブジェクトに関連するプライマリ表示フィールドの値(関連連絡先の名前など)を保持します。

  • DCL外部キー・フィールド

    このセカンダリ・フィールドの名前はContact_Id_cで、参照担当者の主キーの値が保持されます。

  • DCL関連オブジェクト・アクセサ・フィールド

    このセカンダリ・フィールドの名前はContact_Obj_cで、スクリプト・コードの関連するコンタクト・オブジェクトにプログラムでアクセスできます

関連オブジェクトの表示名以外の追加フィールドにアクセスするには、次のような関連オブジェクト・アクセサ・フィールドを使用できます:

// Assume script runs in context of TroubleTicket object
def contactEmail = Contact_Obj_c?.EmailAddress_c

関連オブジェクトから複数のフィールドを参照する場合、関連オブジェクトを変数に保存し、このオブジェクト変数を使用して複数のフィールドを参照できます:

// Assume script runs in context of TroubleTicket object
def contact = Contact_Obj_c
def email = contact?.EmailAddress_c
def linkedIn = contact?.LinkedInUsername_c

TroubleTicketが関連付けられている連絡先を変更するには、次のいずれかの方法を使用して新しい連絡先を設定できます。 新しい担当者の主キー値がわかっている場合は、次のアプローチを使用します:

// Assume script runs in context of TroubleTicket object
def newId = /* ... Get the Id of the New Contact Here */
Contact_Id_c = newId

担当者のプライマリ表示フィールドの値がわかっている場合は、かわりに次のアプローチを使用します:

// Assume script runs in context of TroubleTicket object
Contact_c = 'James Smith'
ヒント: スクリプトが動的選択リスト・フィールドに割り当てる値(Contact_cなど)が参照オブジェクトを一意に識別する場合、外部キー・フィールドの対応する値(Contact_Id_cなど)が自動的に更新され、一致するオブジェクトの主キーが反映されます。
注意: スクリプトがDCLフィールドに割り当てる値が参照オブジェクトを一意に識別しない場合、割当ては無視です。