2011-03-29

Force.com : アプリケーションインタフェースにエラーメッセージを表示したい

 
アプリケーションインタフェースにエラーメッセージを表示したい



◆ Trigger

trigger AccountTrigger on Account (before insert) {
 Account[] accounts = Trigger.new;
 for(Account account : accounts) {
  account.addError('全体にえら');
  account.Name.addError('Nameにえら');
 }
}



● sObject Methods

  • void sObject#addError(String msg)
    • レコードにエラーメッセージを追加し、エラー発生から任意の DML 操作を止める
  • void sObject.filed#addError(String msg)
    • レコードのフィールドにエラーメッセージを追加し、 エラー発生から任意の DML 操作を止める
    • インタフェースにフィールドがない場合は[void sObject#addError(String msg)]と同じようにエラーメッセージが表示される
※ [prevents any DML operation from occurring.]が訳せないのであとで確かめる



○ メモ - 取引先(Account)のトリガと salesforce.com 画面

■ insert
trigger AccountTrigger on Account (before insert, after insert) {
 Account[] accounts = Trigger.new;
 if(Trigger.isBefore) {
  for(Account account : accounts) {
   account.addError('ERROR : befor insert');
  }
 } else if(Trigger.isAfter) {
  for(Account account : accounts) {
   account.addError('ERROR : after insert');
  }
 }
}
  1. salesforce.com の編集画面から取引先の保存を行う
  2. 画面上部にエラーメッセージが表示される(取引先の追加は行われない)

■ update
trigger AccountTrigger on Account (before update, after update) {
 Account[] accounts = Trigger.new;
 if(Trigger.isBefore) {
  for(Account account : accounts) {
   account.addError('ERROR : befor update');
  }
 } else if(Trigger.isAfter) {
  for(Account account : accounts) {
   account.addError('ERROR : after update');
  }
 }
}
  1. salesforce.com の編集画面から取引先の保存を行う
  2. 画面上部にエラーメッセージが表示される(取引先の更新は行われない)

■ delete
trigger AccountTrigger on Account (before delete, after delete) {
 Account[] accounts = Trigger.old;
 if(Trigger.isBefore) {
  for(Account account : accounts) {
   account.addError('ERROR : befor delete');
  }
 } else if(Trigger.isAfter) {
  for(Account account : accounts) {
   account.addError('ERROR : after delete');
  }
 }
}
  1. salesforce.com の詳細画面から取引先の削除を行う
  2. 「削除に関する問題」の画面でエラーメッセージが表示される(取引先の削除は行われない)



○ TODO

  • Trigger で別のオブジェクトのレコードを更新した場合の処理



◇ 環境

  • Salesforce - Developer Edition - API バージョン 21.0



◇ 参考

 

0 件のコメント:

コメントを投稿