EventRelation
EventRelation では、Shared Activities が有効かどうかに応じて、許可されるリレーション数が異なり、削除された行動が異なる方法で処理されます。
- Shared Activities が有効な場合
-
- 1 つの行動を最大 50 件の取引先責任者または 1 件のリードに関連付けることができます。
- 行動はリード、取引先責任者、リソース、取引先、または商談に関連付けることができます。
- 行動は、HasActivities 属性が true に設定されたカスタムオブジェクトに関連付けることができます。
- 行動を削除すると、その行動と指定された取引先責任者、リード、その他のレコード間のリレーションも削除されます。
- リレーションを表す EventRelation レコードを削除すると、対応する行動のリレーション項目がクリアされることがあります。
- 行動の WhoId を表す EventRelation レコードを削除すると、もう 1 人 (いる場合) が行動の EventWhoIds 項目から WhoId に昇格されます。
- 削���した行動を復元すると、その行動と指定された取引先責任者、リード、レコード間のリレーションも復元されます。WhoId、WhatId、および AccountId 項目値は、EventRelation の項目値を使用して再計算されます。
- Shared Activities が有効ではない場合
-
- 行動は、行動の WhoId 項目で参照される 1 つの取引先責任者またはリードにのみ関連付けることができます。EventRelations は招待者のみです (取引先責任者、ユーザ、リソース)。
- 行動を、行動の EventWhoIds 項目で表される 1 つまたは複数のユーザまたはリソースに関連付けることもできます。
Shared Activities が有効かどうかに関係なく、1 つの行動には、取引先、商談、カスタムオブジェクトなど、他の種類のレコード 1 件に関連付けることができます。
サポートされているコール
create()、delete()、describeSObjects()、getDeleted()、getUpdated()、query()、queryAll()、retrieve()、update()、upsert()
項目
| 項目 | 詳細 |
|---|---|
| AccountId |
|
| EventId |
|
| IsDeleted |
|
| IsInvitee |
|
| IsParent |
|
| IsWhat |
|
| RelationId |
|
| RespondedDate |
|
| Response |
|
| Status |
|
使用方法
- [招待者] 関連リストでは、コンテンツの表示方法が少し異なります。Salesforce1 では、[招待者] 関連リストには招待者のみが含まれていますが、フルサイトでは行動の所有者も含まれます。Salesforce1 のフルサイトの機能を複製するには、次の API クエリを使用します。
Salesforce 組織で Shared Activities を使用している場合は、次のクエリを使用します。
1SELECT RelationId FROM EventRelation WHERE isInvitee = true AND eventId='[Event_Id]'ここで、Event_Id は下位行動の ID です。
Shared Activities を使用していない場合は、次のクエリを使用します。
1SELECT RelationId FROM EventRelation WHERE eventId='[Event_Id]'これらのクエリでは主要な行動のリレーションを取得し、特定の下位行動でのそれらのリレーションを表示します。結果をさらに絞り込むには、WHERE 句を追加します。
- メール通知の送���
- 指定された行動のメール通知を送信するには、行動の EventRelation をクエリしてリストを反復処理し、状況を検証して、招待を受諾したすべての個人にメール通知を送信します。
- 指定された招待者が参加する行動の確認
- 特定の人物がある決まった期間 (例: 来週など) に出席するすべての行動を確認するには、クライアントアプリケーションを使用して、指定された日付の範囲の Event オブジェクトをクエリし、結果を反復し、各行動について EventRelation オブジェクトをクエリして特定の個人 (RelationId) がその行動への招待を受けたかどうかを確認します。
- Shared Activities が有効化されている場合 (または、有効化中やロールバック中) の招待者の作成
- 招待者がすでに取引先責任者またはリードの場合は、IsInvitee を true に更新します。
- 招待者がまだ取引先責任者またはリードではない場合は、IsInvitee を true に設定して招待者の EventRelation オブジェクトを作成します。
- Shared Activities が有効化されていない場合の招待者の作成
- 招待者の EventRelation オブジェクトを作成します。
- 取引先責任者またはリードに対するリレーションのクエリ
-
1List<EventRelation> whoRelations = [SELECT Id, Relation.Name FROM 2 EventRelation WHERE EventId = '00UD0000005zijD' AND isParent = true AND isWhat = false]; - 招待者リレーションのクエリ
-
1List<EventRelation> inviteeRelations = [SELECT Id, Relation.Name FROM 2 EventRelation WHERE EventId = '00UD0000005zijD' AND isInvitee = true]; - 招待者リレーションの取引先責任者またはリード招待者リレーションへの更新
-
1EventRelation er = [SELECT Id FROM EventRelation WHERE EventId = 2 '00UD0000005zijD' AND isInvitee = true and isParent = false LIMIT 1]; 3er.isParent = true; 4update er; - 取引先責任者またはリードリレーションの取引先責任者またはリード招待者リレーションへの更新
-
1EventRelation er = [SELECT Id FROM EventRelation WHERE EventId = 2 '00UD0000005zijD' AND isParent = true and isInvitee = false LIMIT 1]; 3er.isInvitee = true; 4update er; - 取引先責任者またはリードリレーションの挿入
-
1EventRelation er = new EventRelation(EventId = '00UD0000005zijH', 2 RelationId = '003D000000Q8aeV', isParent = true, isInvitee = false); 3insert er; - 招待者リレーションの挿入
-
isParent、isWhat、および IsInvitee が設定されておらず、RelationId が取引先責任者、リード、ユーザまたはカレンダーのいずれかである場合、IsInvitee はデフォルトの true に設定されます。つまり、EventRelation が取引先責任者またはリードに対するリレーションとして明確に挿入されない場合、デフォルトでは招待者リレーションとして処理されます。
1EventRelation er = new EventRelation(EventId = '00UD0000005zijH', 2 RelationId = '003D000000Q8adV'); 3insert er; - Salesforce1 での [招待者] 関連リスト機能の複製
- [招待者] 関連リストに表示されるコンテンツは、Salesforce1 とフルサイトで少し異なります。Salesforce1 では、[招待者] 関連リストには招待者のみが含まれていますが、フルサイトでは行動の所有者も含まれます。
Salesforce 組織で Shared Activities を使用している場合は、次のクエリを使用して Salesforce1 にフルサイトの機能を複製します。
1SELECT RelationId FROM EventRelation WHERE isInvitee = true AND eventId='[Event_Id]'ここで、Event_Id は下位行動の ID です。
Shared Activities を使用していない場合は、次のクエリを使用します。
1SELECT RelationId FROM EventRelation WHERE eventId='[Event_Id]'これらのクエリでは主要な行動のリレーションを取得し、特定の下位行動でのそれらのリレーションを表示します。結果をさらに絞り込むには、WHERE 句を追加します。