この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

AccountShare

Account の共有エントリを表します。

サポートされているコール

create()delete()describeSObjects()query()retrieve()update()upsert()

特別なアクセスルール

カスタマーポータルユーザはこのオブジェクトにアクセスできません。

項目

一部の項目で使用可能なプロパティは、組織でデフォルトとなっている共有設定によって異なります。一覧表示されているプロパティは、それらの項目のデフォルト設定の場合に該当します。

項目 詳細
AccountAccessLevel
picklist
プロパティ
Create、Defaulted on create、Filter、Group、Restricted picklist、Sort、Update
説明
Account に対して割り当てる User または Group のアクセスのレベル。値は次のとおりです。
  • Read
  • Edit
  • All (この値は、create コールまたは update コールには使用できません)。
この項目は、少なくとも組織のデフォルトである Account のアクセスレベルと同等のアクセスレベルに設定する必要があります。また、この項目、OpportunityAccessLevel 項目、CaseAccessLevel 項目のいずれかを、組織のデフォルトのアクセスレベルより高いレベルに設定する必要があります。
AccountId
reference
プロパティ
Create、Filter、Group、Sort
説明
この共有エントリに関連付けられた Account の ID。この項目は更新できません。
CaseAccessLevel
picklist
プロパティ
Create、Defaulted on create、Filter、Group、Restricted picklist、Sort、Update
説明
取引先に関連するケースに対して割り当てる User または Group のアクセスのレベル。値は次のとおりです。
  • None
  • Read
  • Edit
この項目は、少なくとも組織のデフォルトである CaseAccessLevel と同等のアクセスレベルに設定する必要があります。AccountAccessLevel 項目が「All」に設定されている場合、この項目を API を使用して更新することはできません。API を使用して、関連付けられている取引先所有者のこの項目を更新することはできません。Salesforce ユーザインターフェースを使用して、取引先所有者の CaseAccessLevel を更新する必要があります。
ContactAccessLevel
picklist
プロパティ
Filter、Group、Nillable、Restricted picklist、Sort
説明
取引先に関連する取引先責任者に対して持つ User または Group のアクセスのレベル。値は次のとおりです。
  • None
  • Read
  • Edit
この項目は、少なくとも組織のデフォルトである ContactAccessLevel と同等のアクセスレベルに設定する必要があります。ContactAccessLevel 項目が「Controlled by Parent」に設定されている場合、この項目を API を使用して更新することはできません。API を使用して、関連付けられている取引先所有者のこの項目を更新することはできません。Salesforce ユーザインターフェースを使用して、取引先所有者の ContactAccessLevel を更新する必要があります。
OpportunityAccessLevel
picklist
プロパティ
Create、Defaulted on create、Filter、Group、Restricted picklist、Sort、Update
説明
Account に関連する商談に対して割り当てる User または Group のアクセスのレベル。値は次のとおりです。
  • None
  • Read
  • Edit

この項目は、少なくとも組織のデフォルトの商談のアクセス権のレベルと同等のアクセスレベルに設定する必要があります。AccountAccessLevel 項目が「All」に設定されている場合、この項目を API を使用して更新することはできません。API を使用して、関連付けられている Account 所有者のこの項目を更新することはできません。Salesforce ユーザインターフェースを使用して、Account 所有者の opportunityAccessLevel を更新する必要があります。

RowCause
picklist
プロパティ
Create、Filter、Group、Nillable、Restricted picklist、Sort
説明
共有エントリが存在する理由。この項目に書き込めるのは、その値が省略されているか、Manual (デフォルト) に設定されている場合のみです。正しい組織の共有設定を使用して、API バージョン 32.0 以降でこの項目の値を作成できます。
使用できる値は次のとおりです。
  • Manual — 「All」のアクセス権を持つ User が手動で Account を User または Group と共有していたため、User または Group にアクセス権が割り当てられています。
  • ImplicitParent — User または Group は取引先を所有しているか、取引先に関連するレコード (商談、ケース、取引先責任者、契約、注文など) への共有アクセス権を持っているため、アクセス権が割り当てられています。
  • Owner: User は、Account の所有者です。
  • Team— User または Group には、チームアクセス権があります (AccountTeamMember です)。
  • Rule— User または Group には、Account 共有ルールを介したアクセス権が割り当てられています。
  • Territory2AssociationManual — エンタープライズテリトリー管理 API バージョン 44.0 以前では、取引先をテリトリーに手動で割り当てたときに TerritoryManual 理由コードが AccountShare レコードに書き込まれていました。API バージョン 45.0 以降では、TerritoryManual のすべてのインスタンスが Territory2AssociationManual に置き換わり、取引先をテリトリーに手動で割り当てたときに Territory2AssociationManual 理由コードが AccountShare レコードに書き込まれます。
UserOrGroupId
reference
プロパティ
Create、Filter、Group、Sort
説明
Account に対してアクセス権が割り当てられた User または Group の ID。この項目は更新できません。

使用方法

このオブジェクトを使用して、他のユーザが所有する Account レコードを参照および編集できるユーザやグループを指定できます。

既存のレコードに一致する AccountShare レコードを作成すると、要求は、変更された項目を更新し、既存のレコードを返します。

たとえば、次のコードは、ユーザが所有するすべての取引先を検索し、ポータルユーザに対してそれらの取引先の共有を直接設定します。

1QueryResult result = conn.query("SELECT Id FROM Account WHERE OwnerId = '005D0000001LPFB'");
2// Create a new AccountShare object
3List<AccountShare> shares = new ArrayList<AccountShare>();
4for (SObject rec : result.getRecords()) {  
5     AccountShare share = new AccountShare();
6    share.setAccountId(rec.getId());
7    //Set the portal user Id to share the accounts with
8    share.setUserOrGroupId("003D000000QA8Tl");
9    share.setAccountAccessLevel("Edit");
10    share.setOpportunityAccessLevel("Read");
11    share.setCaseAccessLevel("Edit");
12    shares.add(share);
13}
14conn.create(shares.toArray(new AccountShare[shares.size()]));

このコードは、ある時点でユーザが所有する取引先を共有しますが、その後所有することになった取引先は共有しません。このような共有では、AccountOwnerSharingRule のような所有者ベースの共有ルールを使用します。

取引先が複数の方法でユーザと共有されている場合、複数の共有レコードが表示されない場合があります。次の 1 つ以上の RowCause 値によってユーザに取引先へのアクセス権がある場合、AccountShare オブジェクトのレコードはアクセスレベルが最も高い 1 レコードに圧縮されます。
  • ImplicitParent
  • Manual
  • Owner