トリガの呼び出し
前提条件:
このレッスンでは、前のレッスンで作成したトリガを呼び出します。トリガは、請求書明細の削除の前に起動するため、ユーザインターフェースまたはプログラムで請求書明細を削除することで、起動させることができます。このレッスンでは、ユーザインターフェースで削除を実行するため、請求書明細に品目名が含まれていると、トリガから返されるエラーメッセージを確認できます。品目名を含まない請求書明細も作成します。トリガは品目名を含まない請求書明細の削除は防止しないため、この新しい請求書明細は削除できます。
- Salesforce ユーザインターフェースで、[+] タブをクリックします。
- [Invoice Statement] をクリックします。
- [ビュー] ドロップダウンリストを [すべて] が選択された状態にし、[Go!] をクリックします。
- [INV-0000] のような名前の付いたサンプル請求書明細をクリックします。
- 請求書明細の詳細ページで、[削除] をクリックします。
-
確認を求められたら、[OK] をクリックします。
新しいページに次のエラーメッセージが表示されます。
- リンクをクリックして請求書明細ページに戻ります。
- [最後に開いたビュー: 請求書明細] をクリックします。
- 次に、品目名を含まない別の請求書明細を作成します。[新規 Invoice Statement] をクリックします。
- [保存] をクリックします。
- この請求書明細を削除してみましょう。削除するには、[削除] をクリックします。
-
確認を求められたら、[OK] をクリックします。
今度は、請求書明細が削除されました。トリガが呼び出されると、ト���ガのクエリは、品目名を含む請求書明細のみを選択し、それらのレコードをエラーとマークして削除されないようにします。この請求書明細には品目名が含まれていないため、トリガがエラーでマークするレコードに該当せず、削除が可能になります。
もうひとこと...
- サンプル請求書明細を削除したときに表示される検証エラーメッセージは、トリガで addError メソッドを使用して請求書明細 sObject に対して指定されたエラーメッセージ「Cannot delete invoice statement with line items (品目名を含む請求書明細は削除できません)」です。
- トリガは、操作がユーザ、別のプログラム、一括操作がどこから行われても関係なく、すべてにビジネスルールを適用します。このレッスンでは、ユーザインターフェースを使用して手動で削除を実行しました。