Salesforce のレコードに対し、
一部の項目のみ編集を許可して、他の項目の編集を禁止したい
という場合を考えます。
これを入力規則だけで実現しようとすると、上手いやり方がありません。
逆に編集禁止する項目を入力規則に列挙していく感じになります(保守が面倒)。
今回はこの一部編集許可を何とか実現する方法を考えました。
今回考える例
フェーズが Closed Won のとき、商談が編集不可の場合を考えます。これに対し、「説明」項目のみ編集可にしようと思います。

編集用アクションを作成
編集用アクションを作成し、このアクション経由の場合のみ編集できるようにします。

編集可能にしたい項目をレイアウトする
今回は説明のみレイアウトに追加

アクションからの編集か判定する項目を作成
アクション経由かどうか判定するために、数値項目を追加します。

アクション実行時 -1 をかけるようにすると、この編集前後でこの項目の値が変化します。

アクションのボタンをレコードページに配置
設定ボタン → 編集ページでページ編集画面を開き、アクションボタンを追加します。
フェーズが Closed Won の時のみボタンが表示されるようにします。

入力規則を編集
以下のように入力規則を編集します。
追加したフラグの値が変化している = アクション経由での編集
の場合のみ、編集可能にします。

コメント