Salesforceの承認プロセスにおいて、特定のユーザーだけ代理承認者が選択できない、または参照できないというトラブルが発生することがあります。この問題は、承認プロセスの設定やユーザーの権限、組織の共有設定など複数の要因が絡むため、管理者が系統立てて調査する必要があります。本記事では、代理承認者が一部のユーザーに見えない原因を切り分ける手順を具体的に解説します。管理者が最初に確認すべきポイントや、よくある設定ミス、Salesforceサポートに問い合わせる前に試すべきことを網羅しました。
【要点】この記事で確認すること
- 最初に見る場所: 承認プロセスの「エントリ条件」と「ステップ」の設定、および代理承認者として指定したいユーザーのプロファイルと権限セット
- 切り分けの軸: 見えないユーザーが「ステップ承認者に指定されているか」「代理承認者設定の対象ユーザーか」「組織全体の共有設定やロール階層による制限を受けているか」の3点
- 注意点: プロファイルの「承認プロセスの管理」や「承認プロセスの表示」権限、代理承認者機能が有効化されているか、またAPI名の違いによる誤設定など、細かい設定を見落としがちです。
ADVERTISEMENT
目次
1. 代理承認者が見えない問題の原因概要
Salesforceの承認プロセスでは、承認ステップごとに「承認者」を指定できますが、さらに「代理承認者」を設定することで、本来の承認者が不在の場合に代理のユーザーが承認できるようになります。この代理承認者は、レコードの所有者や特定のユーザー、ロール上の上位者などから選べる仕組みです。しかし、あるユーザーは代理承認者リストに表示されるのに、別のユーザーには表示されないという現象が起こります。
原因は大きく以下の4つに分類されます。
- 承認プロセス設定の問題: 承認ステップで代理承認者を「特定のユーザー」と指定している場合、そのユーザーだけが表示される。あるいは「レコード所有者のマネージャ」など動的条件で表示されるユーザーが異なる。
- 権限不足: 代理承認者にしたいユーザーに「承認プロセスの表示」権限や「承認申請の代理承認」権限がない。
- 共有設定・ロール階層: 代理承認者として表示されるためには、そのユーザーが承認レコードに対して参照権限を持っている必要がある。ロール階層や共有ルールで制限されている可能性がある。
- 代理承認者設定の制限: 代理承認者として指定できるのは、同じ承認プロセスの承認ステップに参加しているユーザーか、特定の条件を満たすユーザーに限られる。
実際のトラブルでは、これらの原因が複合していることも多いため、一つずつ確認していきましょう。
2. 管理者が行うべき確認手順(基本フロー)
以下の手順に沿って調査を進めると、原因を効率的に特定できます。なお、操作は「設定」からシステム管理者権限で行ってください。
- 承認プロセスの設定を確認する
設定の「承認プロセス」から該当する承認プロセスを開き、問題のステップを選択します。「代理承認者」の設定がどのように指定されているか確認します。もし「特定のユーザー」にチェックが入っているなら、そこで指定されたユーザーのみが表示されます。動的条件(例:「レコード所有者のマネージャ」)の場合は、その条件に合致するユーザーが動的にリストアップされます。 - 代理承認者にしたいユーザーの権限を確認する
そのユーザーのプロファイルまたは権限セットで、「承認プロセスの表示」と「承認申請の代理承認」権限が有効になっているか確認します。これらの権限がない場合、代理承認者リストに表示されません。 - 代理承認者設定の有効化を確認する
組織全体で代理承認者機能が有効かどうか確認します。設定の「承認設定」で「代理承認者を許可」がオンになっている必要があります。また、ユーザー個別の「代理承認者設定」も有効になっているか確認します(各ユーザーの個人設定から設定可能)。 - 共有設定とロール階層を確認する
代理承認者として表示したいユーザーが、承認対象レコードに対して参照権限を持っているか確認します。例えば、レコードが非公開でロール階層の上位にないユーザーは代理承認者として表示されません。共有ルールや手動共有が適切に設定されているか確認します。 - 実際のレコードで代理承認者選択画面を確認する
テスト用のレコードで承認申請を行い、実際にどのユーザーが代理承認者一覧に表示されるか確認します。その際、開発者コンソールのログやブラウザのデベロッパーツールでエラーメッセージがないかも確認します。
3. 原因別の症状と解決策の比較表
| 原因 | 症状 | 解決策 |
|---|---|---|
| 承認プロセスで代理承認者が「特定のユーザー」固定 | 指定されたユーザーしか表示されない | 必要に応じて動的条件に変更するか、追加のユーザーを指定する |
| ユーザー権限不足 | 該当ユーザーが代理人として表示されない | プロファイルまたは権限セットに「承認申請の代理承認」権限を追加する |
| 代理承認者機能自体が無効 | 一切のユーザーが代理承認者として表示されない | 設定の「承認設定」で「代理承認者を許可」を有効にする |
| 共有設定・ロール階層による制限 | 特定のレコードでは見えるが、別のレコードでは見えない | 対象レコードへの参照権限を付与する(共有ルール、ロール階層の見直し) |
| レコード所有者や関連オブジェクトの条件不一致 | 動的条件で指定されたユーザーが存在しない | 条件に合うユーザーがいるか確認し、必要なら条件を見直す |
4. よくある失敗パターンと注意点
4-1. 代理承認者設定をユーザー個人設定で無効にしている
管理者が組織設定で代理承認者を許可していても、個々のユーザーが自分の設定で「代理承認者として機能」を無効にしていると、そのユーザーは代理承認者として表示されません。ユーザーが自分で設定を変更できるため、管理者はユーザーに確認を促す必要があります。
4-2. プロファイルで「承認プロセスの表示」権限がない
代理承認者になるためには、最低限「承認プロセスの表示」権限が必要です。この権限がないユーザーは、承認プロセス自体を参照できないため、代理承認者一覧に表示されません。システム管理者権限があれば表示されますが、一般ユーザーでは不可です。
4-3. 動的条件で指定したフィールドが空
例えば「レコード所有者のマネージャ」を代理承認者に設定した場合、レコード所有者の「マネージャ」項目が空欄だと、該当するユーザーがおらず、代理承認者が表示されません。この場合は、マネージャが設定されているか確認し、適切なユーザーを割り当てる必要があります。
4-4. 承認プロセスが「キュー」ベースの場合の注意
承認ステップの承認者がキュー(参照グループ)の場合、代理承認者はキューに所属するユーザーが自動的に候補になるわけではありません。代理承認者設定は個人ユーザーに対してのみ機能するため、キューを承認者にしている場合は代理承認者を別途設定する必要があります。
5. 管理者が確認すべき追加ポイント
上記の基本フローで原因が特定できない場合、以下の項目もチェックしてください。
- プロファイルのオブジェクト権限: 代理承認者になりたいユーザーが、承認対象オブジェクトに対して「参照」権限を持っているか確認します。権限がない場合は表示されません。
- 権限セットの割り当て: プロファイルに権限がない場合でも、権限セットで付与できるため、権限セットの割り当て漏れがないか確認します。
- ロール階層の設定: ロール階層が適切に設定されていないと、代理承認者として表示されないことがあります。特に「上位ロールのユーザー」を条件にしている場合、ロール階層を確認します。
- 大量データ環境での制限: ユーザー数が多い組織では、代理承認者リストの表示に時間がかかったり、一部のユーザーが表示されないことがあります。Salesforceの制限(SOQLの行数制限など)も考慮しましょう。
- カスタムオブジェクトの承認プロセス: カスタムオブジェクトの場合、組織の共有設定や外部オブジェクトの権限が影響する可能性があります。
6. よくある質問(Q&A)
Q1: 代理承認者を全ユーザーから選択できるようにするには?
承認プロセスのステップで「代理承認者」を「特定のユーザー」ではなく「レコード所有者のマネージャ」などの動的条件に設定すると、条件に合うユーザーが自動的にリストアップされます。ただし、全ユーザーを無条件にリストアップする設定は標準ではありません。その場合はApexトリガやカスタム開発が必要になることがあります。
Q2: 代理承認者リストに表示されないユーザーがログインすると見えるようになる?
いいえ、見えない原因が権限や設定によるものなら、ログインしても変わりません。ただし、ブラウザのキャッシュやセッションの問題で一時的に表示されないことがあるため、一度ログアウトして再度ログインすると改善する場合があります。
Q3: システム管理者は代理承認者として表示されるが、一般ユーザーが表示されない
システム管理者は強力な権限を持つため、多くの制限が適用されません。一般ユーザーが表示されない場合は、そのユーザーの権限や共有設定を重点的に確認してください。
7. まとめ
Salesforceの承認プロセスで代理承認者が一部のユーザーにしか見えない問題は、承認プロセス設定、ユーザー権限、共有設定、代理承認者機能の有効状態など、複数の要素を総合的に確認する必要があります。本記事で紹介した基本フローに沿って調査すれば、多くのケースで原因を特定できるはずです。特に、動的条件を使用している場合は、その条件を満たすユーザーが存在するか、またフィールド値が正しいかを確認することが重要です。管理者は定期的に承認プロセスの設定を見直し、ユーザーから報告があった際に迅速に対応できるよう、チェックリストを用意しておくとよいでしょう。
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
