0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

レコードのアクセス権限に相関

Posted at

レコード共有の情報はどこで管理されているのでしょうか?
Shareオブジェクト

Salesforceには、レコードの共有を管理するオブジェクトとして、各オブジェクトごとにShareオブジェクトなるものが存在しています。ShareオブジェクトのAPI名は以下のようにされています。

標準オブジェクトの場合:AccountShare, OpportunityShare, ContactShare, etc...
カスタムオブジェクトの場合:CustomObject名__Share

項目は以下の通りです。詳しくはこちらを参照してください。
項目 データ型 説明
ParentID 参照 共有するレコードのIDです。
UserOrGroupId 参照 共有先のユーザ・グループのIDです。
AccessLevel picklist レコードへどの程度アクセスできるのかを指定します。
値は以下の通りです。
Read:参照可能
Edit:編集可能
All:すべて可能
RowCause picklist 共有の理由です。主な値は以下の通りです。
Manual
Owner
Rule
...
以上の値以外の独自の理由も設定することができるらしいです。(Apex共有の理由)

このオブジェクトのレコードをどうにかして作成すれば、個人に対するレコードの共有ができるわけです。
このレコードを作成する方法はいくつか考えられます。

Data Loaderなどで、Shareオブジェクトのレコードを作成する。
Apexトリガを用いて、Shareオブジェクトのレコードを作成する。(これなら、個人レベルの共有も自動化できます。)
フローを用いて、Shareオブジェクトのレコードを作成する。(後述)

フローを使って共有を自動化する
レコードトリガーフローを使用して、Shareオブジェクトのレコードを作成することで、特定の状況におけるレコードの共有を自動化することができます。

レコード保存後のトリガーフローをします。
トリガー条件としては、「面接官項目が空白ではない・条件に一致する度にトリガ」でいいと思います。
キャンバスに配置する要素は「レコードを作成」要素だけでいいでしょう。面接官の変更とかを考慮すると、他の要素も検討したほうがいいんじゃないかなって思いますが。面倒なので今回はスルーしますが。

実際に作成した要素がこちらです。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?