機械翻訳について

関連オブジェクト・アクセサ・フィールドを使用した参照オブジェクトの操作

ContactAssignedToなどの参照フィールドを持つTroubleTicketなどのオブジェクトのビジネス・ロジックを記述する場合は、それぞれの参照フィールドのセカンダリ関連オブジェクト・アクセサ・フィールドを使用して、参照フィールドによって参照されるオブジェクトにアクセスできます。

詳細は、「動的選択リスト・フィールドに関連するセカンダリ・フィールドの理解」を参照してください。

ContactおよびAssignedTo参照フィールドの場合、セカンダリ関連オブジェクト・アクセサ・フィールドの名前は、それぞれContact_Obj_cおよびAssignedTo_Obj_cになります。 次の例では、TroubleTicketのコンテキストで記述されたスクリプトから2つの参照オブジェクトを参照し、各フィールドの1つにアクセスする方法を示します。 次の例に示すように、参照される参照オブジェクトを常にローカル変数に格納することをお薦めします。 これにより、関連オブジェクトから何個のフィールドにアクセスしても、1回のみ取得できます。

// Store the contact object and assignedTo object in a local variable
def customer = Contact_Obj_c
def supportRep = AssignedTo_Obj_c
// Now reference one or more fields from the parent
if ((endsWith(customer?.EmailAddress_c,'.gov') ||
     endsWith(customer?.EmailAddress_c,'.com')
    )
    &&
    (startsWith(supportRep?.PhoneNumber_c,'(202)')||
     startsWith(supportRep?.PhoneNumber_c,'(206)')
    )
   ) 
{
  // Do something here because contact's email address
  // is a government or business email and assigned-to
  // support rep is in 202 or 206 Washington DC area code
}

動的選択リスト・フィールドContact_cおよびAssignedTo_cはオプションである可能性があるため、その値はnullである可能性があるため、関連オブジェクト・アクセサの値もnullである可能性があります。 このため、関連オブジェクトがnullの場合に、Groovyセーフ・ナビゲーション演算子(?.)を使用して関連オブジェクトのフィールドを参照します。