+ Start a Discussion
Yuta.NakagawaYuta.Nakagawa 

レコードの項目値で削除を制限する方法

レコードの項目値でレコードの削除を制限する方法あるでしょうか。
関連リストの左端にある削除をクリックした時に、項目値が特定の値(ex.商談のフェーズ=受注)であれば、削除できないようにしたいです。

本来は関連リストの編集・削除のリンクを非表示にしたいのですが、
ヘルプに問い合わせたところ、ユーザーのアクセス権限が影響し、削除を利用するユーザーは非表示にできないと回答があったため、
対策を検討しています。

ご教示いただけますと幸いです。
よろしくお願いいたします。
Best Answer chosen by Yuta.Nakagawa
Taiki YoshikawaTaiki Yoshikawa
エラーメッセージの表示が可能です。addErrorの処理でメッセージを表示できます。
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers_exceptions.htm?search_text=addError

メッセージのイメージはこちらです。
http://tyoshikawa1106.hatenablog.com/entry/2014/02/23/042845

All Answers

Taiki YoshikawaTaiki Yoshikawa
削除に関しては入力規則で対応ができませんので、ApexトリガのBefore Deleteを条件に処理を用意する必要があります。
Yuta.NakagawaYuta.Nakagawa
Taiki Yoshikawaさん
ご回答ありがとうございます。

追加でご質問があります。
APEXで設定した場合ですが、削除をクリック時に、エラーメッセージまたはポップアップで、ユーザーに削除できないことを伝えることは可能でしょうか。

ご教示ください。よろしくお願いします。
Taiki YoshikawaTaiki Yoshikawa
エラーメッセージの表示が可能です。addErrorの処理でメッセージを表示できます。
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers_exceptions.htm?search_text=addError

メッセージのイメージはこちらです。
http://tyoshikawa1106.hatenablog.com/entry/2014/02/23/042845
This was selected as the best answer
Yuta.NakagawaYuta.Nakagawa
Taiki Yoshikawaさん
いただいた内容で、ApexトリガのBefore Deleteを用いて設定できました。
ご教示いただきありがとうございました。
青 凌青 凌
ポップアップでユーザーに削除できないことを伝えることは可能でしょうか。
Taiki YoshikawaTaiki Yoshikawa
ポップアップの表示はできないと思います。