ADVERTISEMENT

【Salesforce】承認済みレコードを編集できない時の解除確認

【Salesforce】承認済みレコードを編集できない時の解除確認
🛡️ 超解決

Salesforceで承認プロセスが設定されたレコードは、承認中や承認済みの状態で編集が制限されることがあります。特に、承認済みレコードを編集しようとした際に「編集できない」というエラーやグレーアウトが表示され、困惑するケースは少なくありません。本記事では、承認済みレコードが編集できない原因を体系的に切り分け、安全に編集を可能にする方法を解説します。また、管理者が行う設定の変更点や、解除後に注意すべきポイントも紹介します。

【要点】この記事で確認すること

  • 最初に見る場所: レコードの詳細画面で「承認履歴」関連のリストや「編集」ボタンの有無を確認します。
  • 切り分けの軸: 端末側(ブラウザキャッシュなど)・ユーザ権限側(プロファイル・権限セット)・承認プロセス設定側(最終承認アクション)の3軸で原因を特定します。
  • 注意点: 承認プロセスの設定変更やレコードのロック解除は管理者のみ実行可能です。一般ユーザが勝手にシステム設定を変更しないでください。必ず管理者に相談しましょう。

ADVERTISEMENT

承認済みレコードが編集できない主な原因

承認済みレコードが編集できない原因は、大きく分けて3つのカテゴリに分類されます。それぞれの原因を理解することで、適切な対処が可能になります。

原因カテゴリ 具体的な状態 影響範囲
承認プロセス設定 最終承認アクションで「レコードをロック」が有効 全ユーザが編集不可
ユーザ権限不足 プロファイルまたは権限セットに編集権限がない 該当ユーザのみ
ブラウザ・端末の問題 キャッシュや拡張機能、JavaScriptエラー 該当端末のみ

最も多いのは、承認プロセスの「最終承認アクション」でレコードがロックされる設定になっているケースです。次いで、ユーザの権限が不足している場合、またはブラウザの問題で編集ボタンが表示されない場合があります。以下の手順で1つずつ切り分けてください。

原因別の確認手順

1. ブラウザ・端末の問題を確認する

まずは手軽に確認できる端末側の問題をチェックします。以下の手順を順番に試してください。

  1. ブラウザのキャッシュとCookieをクリアします。Chromeの場合は設定→プライバシーとセキュリティ→閲覧履歴データの削除から、期間を「全期間」にし、「キャッシュされた画像とファイル」と「Cookieとその他のサイトデータ」を選択して削除してください。
  2. ブラウザの拡張機能を一時的に無効にします。特に広告ブロッカーやスクリプト制御ツールがSalesforceの動作を妨げることがあります。シークレットモードでSalesforceを開いて編集できるかどうか確認するのも有効です。
  3. 別のブラウザ(Firefox、Edgeなど)や別の端末から同じレコードを開き、編集ボタンが表示されるか確認します。表示される場合は端末固有の問題です。
  4. Salesforceの「Lightning Experience」と「Salesforce Classic」のどちらで操作しているか切り替えてみます。左上のユーザアイコンから「Switch to Salesforce Classic」(または逆)を選択し、編集可能か確認します。
  5. 上記で解決しない場合、端末の再起動やネットワークの再接続も試してください。まれにVPNやプロキシの影響で編集権限が正しく評価されないことがあります。

2. ユーザ権限を確認する

端末の問題ではない場合、自身のユーザ権限を確認します。Salesforceでは、プロファイルと権限セットによってレコードの編集権限が制御されます。

  • プロファイルの確認: 自分のプロファイルが、該当オブジェクトに対して「編集」権限を持っているか確認します。設定(歯車アイコン)→「自分のプロファイル」→「権限」タブで対象オブジェクトの「読み取り」「作成」「編集」「削除」が有効になっているか確認してください。管理者でないとプロファイルの変更はできません。
  • 権限セットの確認: プロファイルで権限が不足している場合、権限セットで補完されている可能性があります。設定→「権限セット」→自分に割り当てられている権限セットを確認し、その中で編集権限が設定されているか確認します。
  • 共有ルールの確認: 自分がレコードの所有者であるか、共有ルールによってアクセス権が付与されているかを確認します。レコードの詳細画面で「共有」ボタンから自分のアクセスレベルが「編集」以上であることを確認します。

権限不足が原因の場合、管理者に連絡して権限の追加を依頼する必要があります。その際、どのオブジェクトのどんな編集が必要かを具体的に伝えるとスムーズです。

3. 承認プロセス設定を確認する

最後に、承認プロセスそのものの設定を確認します。承認済みレコードは、多くの場合「最終承認アクション」で「レコードをロックする」が有効になっているため編集できません。この設定は管理者のみ変更できます。

  • 承認プロセスの詳細を確認: 設定→「プロセスビルダー」→「承認プロセス」から該当オブジェクトの承認プロセスを開き、「最終承認アクション」の「レコードのロック」がチェックされているか確認します。
  • ロックを無効にする方法: 管理者が「最終承認アクション」において「レコードのロック」のチェックを外すことで、承認済みレコードを編集可能にできます。ただし、この変更はすべての承認済みレコードに影響するため、影響範囲を事前に評価してください。
  • 個別のレコードをアンロックする方法: 承認プロセス設定を変更せずに、特定のレコードだけロックを解除したい場合、管理者は「レコードのロックを解除」権限を持つ権限セットをユーザに割り当てるか、Apexでプログラム的に解除する方法もあります。ただし、後者は開発者のサポートが必要です。

承認プロセス設定の変更は組織全体に影響するため、慎重に行う必要があります。変更前に必ずステージング環境でテストしてください。

承認プロセス設定の確認と変更(管理者向け)

ここでは、管理者が行う具体的な設定変更手順を紹介します。一般ユーザはこの操作を実行できないため、管理者のみ参考にしてください。

承認プロセスの編集手順

  1. Salesforce設定画面で「プロセスビルダー」を開きます。クイック検索に「承認プロセス」と入力すると直接アクセスできます。
  2. 該当の承認プロセスをクリックして開きます。一覧で対象オブジェクト名やプロセス名を確認してください。
  3. 「最終承認アクション」セクションまでスクロールし、「レコードのロック」のチェックボックスを確認します。チェックが入っている場合は、クリックして外します。
  4. 必要に応じて「初回承認アクション」や「差戻しアクション」のロック設定も確認します。状況によっては、承認プロセス全体でロックを管理する必要があります。
  5. 変更を保存し、必要なら「アクティブ化」をクリックしてプロセスを有効にします。既存の承認済みレコードには即座に反映されない場合があるため、注意してください。

この変更により、今後承認されたレコードはロックされなくなります。ただし、既にロックされているレコードは自動的にアンロックされません。既存レコードのロックを解除するには、次の方法を使用します。

既存のロック済みレコードを一括解除する方法

  • Apexバッチの使用: 開発者に依頼して、対象レコードのロックを解除するApexスクリプトを作成し、実行します。例: Approval.unlock(recordId);
  • データローダの使用: データローダでレコードをエクスポートし、編集後再インポートする方法もありますが、承認履歴が失われるリスクがあります。
  • 個別の手動解除: 各レコードの詳細画面で、管理者権限があれば「ロック解除」ボタンが表示される場合があります。ただし、このボタンは標準では表示されず、設定が必要です。

どの方法を選ぶにしても、事前にバックアップを取り、テスト環境で検証してから本番適用することをお勧めします。

よくある質問(FAQ)

ここでは、承認済みレコード編集に関するよくある質問とその回答をまとめました。

  • Q: 承認済みレコードに「編集」ボタンが表示されません。
    A: まずブラウザのキャッシュクリアをお試しください。それでも表示されない場合は、承認プロセスでレコードがロックされている可能性が高いです。管理者に問い合わせてロック解除を依頼してください。
  • Q: レコードを編集しようとすると「レコードはロックされています」とエラーが出ます。
    A: 確認すべきは2点です。①自分に編集権限があるか。②承認プロセスのロック設定が有効になっていないか。権限があれば、管理者にロック解除を依頼します。
  • Q: 承認プロセスを経ずに強制的に編集する方法はありますか?
    A: システム管理者であれば、レコードのロックを解除する権限を持つ権限セット「Modify All Data」などを割り当てることで編集可能になります。ただし、監査証跡が残らない可能性があるため、運用ルールを明確にしてから使用してください。一般ユーザは行わないでください。
  • Q: 承認プロセスを削除すれば編集できるようになりますか?
    A: 承認プロセスを削除すると、そのプロセスでロックされていたレコードは自動的にアンロックされます。ただし、承認プロセスが不要になるため、ビジネスプロセス全体に影響します。削除前に必ず影響分析を行い、バックアップを取ってください。
  • Q: 編集後に再度承認プロセスを通す必要はありますか?
    A: 通常、承認済みレコードを編集した場合、承認ステータスは「承認済み」のまま変わらないか、あるいは差戻し(Pending)状態になる可能性があります。これは承認プロセスの設定次第です。具体的な動作は組織のルールに従ってください。

まとめ

承認済みレコードが編集できない問題は、多くの場合ブラウザのキャッシュ、ユーザ権限、承認プロセス設定のいずれかが原因です。最初に手軽なブラウザキャッシュのクリアを試し、次に権限を確認し、最後に管理者に承認プロセス設定の確認を依頼する流れが効率的です。管理者は、承認プロセスの「最終承認アクション」でレコードロックを無効にするか、一時的にアンロック権限を付与することで対応できます。設定変更を行う前には必ず影響範囲を評価し、テスト環境で検証することをお勧めします。適切な対処により、業務の停滞を防ぎ、スムーズなデータ管理を実現してください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT