【Salesforce勉強日記#1】項目が編集できない?原因を切り分ける4つのチェックポイントと解決策
みなさん、こんにちは。アクセンチュアの北海道オフィス(AIH)で働いている高橋です。
Salesforceを使っていて、「あれ、この項目、編集できるはずなのにペンマークが出ない…」「入力したのに保存できない!」といった経験はありませんか?これはSalesforceの管理に携わる人なら、誰もが一度は通る道かもしれません。
その原因は、単純な権限設定の問題から、ページの表示設定、さらにはシステムの裏側で動いている自動化プロセスまで、多岐にわたります。
この記事では、項目が編集できないときに考えられる原因を体系的に整理し、どこから手をつければ良いのかを明確にするための4つのチェックポイントを、具体的な確認方法とともに解説します。
1. 権限設定の不足
まず最初に疑うべきは、ユーザーの「権限」です。権限がなければ、当然項目は編集できません。権限の設定は大きく2つの階層に分かれています。
オブジェクト権限
項目レベルの前に、より大きな枠組みであるオブジェクトそのものを編集する権限が必要です。これは、「家(オブジェクト)に入る許可がないのに、その中の家具(項目)を動かすことはできない」と考えると分かりやすいでしょう。
ユーザーのプロファイルや権限セットで、対象オブジェクトに対する「編集」権限が許可されているかを確認します。ここが「参照」のみになっていると、個別の項目権限がいくらあっても編集はできません。
- 確認場所:[設定] > [ユーザ] > [プロファイル] または [権限セット] > [オブジェクト設定]
 
項目レベルセキュリティ
オブジェクトへの編集権限があることを確認したら、次に個別の項目に対する権限、項目レベルセキュリティを見ます。
プロファイルや権限セットで、対象項目のアクセス権が「編集アクセス権」にチェックが入っているかを確認します。ここが「参照のみ」になっていると、その項目だけが編集できなくなります。
ここで重要な注意点があります。たとえ項目レベルセキュリティで「編集可能」になっていても、その前のステップで確認したオブジェクト権限が「参照のみ」の場合は、やはり編集はできません。常に、より大きな枠組みであるオブジェクト権限が優先されると覚えておきましょう。
- 確認場所:[設定] > [ユーザ] > [プロファイル] または [権限セット] > [オブジェクト設定] > (対象オブジェクト) > [項目権限]
 
2. ページレイアウトの表示設定
権限は完璧なはずなのに、まだ編集できない。そんな時は、ユーザーが見ている「画面」の設定、つまりページレイアウトを疑いましょう。
ページレイアウトでは、項目ごとに「参照のみ」または「必須」というプロパティを設定できます。ここで「参照のみ」にチェックが入っていると、権限の有無に関わらず、そのページ上では編集ができなくなります。
- 確認方法:対象レコードページの右上にある歯車マークから [編集ページ] を選択し、コンポーネントをクリック。または、[設定] > [オブジェクトマネージャ] > (対象オブジェクト) > [ページレイアウト] から、該当のレイアウトを開き、項目の横にあるレンチ(プロパティ)アイコンをクリックして確認します。
 
では、データに対する「権限設定」と、画面の見た目を制御する「ページレイアウト設定」はどちらが優先されるのでしょうか?
結論はシンプルです。最も制限の厳しい設定が常に適用されると覚えてください。ユーザーが項目を編集するためには、データレベルの「権限」と、UIレベルの「ページレイアウト」、その両方で許可されている必要があります。
この関係性を表にまとめると、以下のようになります。
| オブジェクト権限 | 項目レベルセキュリティ | ページレイアウト | 最終的な操作 | 
|---|---|---|---|
| 編集可 | 編集可 | 参照のみ | 編集不可 (UIでブロック) | 
| 編集可 | 参照のみ | 編集可 | 編集不可 (権限でブロック) | 
| 参照のみ | 編集可 | 編集可 | 編集不可 (権限でブロック) | 
| 編集可 | 編集可 | 編集可 | 🎉 編集可 | 
つまり、ユーザーが項目を編集できるのは、3つの関門(オブジェクト権限、項目レベルセキュリティ、ページレイアウト)がすべて「編集可」となっている唯一のケースだけです。どれか一つでもブロックされれば、編集はできません。
3. 編集できない仕様の項目
そもそも、その項目がユーザーによる直接編集を前提としていない可能性もあります。代表的なものが以下の2つです。
数式項目
「単価」と「数量」から自動で計算される「合計金額」のように、他の項目の値を使って計算結果を表示するのが数式項目です。計算の元となる項目を編集することはできても、計算結果である数式項目自体を直接編集することはできません。
積み上げ集計項目
主従関係にある子レコードの件数や合計金額などを、親レコードに表示する項目です。例えば、「商談」に紐づく「商談商品」の合計金額を計算するなど。これも数式項目と同様、自動で集計される値のため直接編集は不可能です。
4. レコードの状態や自動化プロセスによる制限
ここからは少し高度な内容です。権限もレイアウトも問題ないのに、特定のレコードだけ編集できない場合、システムの裏側で動いているプロセスが影響しているかもしれません。
承認プロセスによるレコードロック
経費申請や稟議などでレコードが承認プロセスに申請されると、内容が勝手に変更されないようレコードがロックされます。申請者本人であっても、承認者が許可するかプロセスが完了するまで編集できなくなります。
入力規則による保存エラー
これは「編集はできるが、保存ができない」というケースです。例えば、「フェーズが『受注』になったら、受注日は必須」といったルールが設定されている場合、受注日を空欄のまま保存しようとするとエラーが発生し、結果として編集が完了しません。
【上級編】Apexトリガやフローによる動的な制御
さらに高度なカスタマイズとして、Apexトリガ(プログラム)やフロー(自動化ツール)が動いている可能性があります。「特定の条件を満たしたレコードは、システム管理者以外は更新できない」といった制御が裏側でかかっている場合です。これはシステム管理者に確認が必要です。
まとめ
項目が編集できないという問題は、必ずどこかに原因があります。慌てずに、今回ご紹介した確認ポイントに沿って一つずつ確認していけば、きっと解決の糸口が見つかるはずです。
Discussion