Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

承認プロセスからトリガーを評価する

公開日: May 1, 2026
説明
承認プロセスを開始または完了しても Apex トリガーを呼び出すことはできません。ただし、この記事の解決策で説明するように、起動をトリガーする承認プロセスの一部としてデータ (チェックボックス) を更新できます。

承認プロセスでレコードが承認された後に実行すると、次の Apex トリガーは想定したタイミングで動作しません。 
trigger CreateRecord on Case (after insert) {
 
        for (Case c :Trigger.new) {

            // Apex クラスの呼び出しで使用するパラメータを定義
            String objectType ='Case';  
            String objectId = c.id;
            String projectKey = 'SFDC'; 
            String issueType = '1';     
            // 実際のコールアウトを呼び出して別のレコードを作成
            SFDCSampleWebserviceCalloutCreate.createRecord(PARAM1, PARAM2, PARAM3);
        }
    }

解決策

承認プロセス中に更新された項目がない場合、レコード承認時にトリガーは自動的に起動されません。これに対処するには、レコードが承認されると「true」とマークされるチェックボックス項目を作成します。

ステップは次のとおりです。

  • 承認済みになると更新されるチェックボックス項目を作成します。
  • 承認時のアクションでこのチェックボックスを true に更新します。
  • トリガーで比較し、「IF」条件で「Check_ Box == True」かどうかを指定します。  

サンプルコード: 

trigger CreateRecord on Case (after insert) {

        for (Case c :Trigger.new) {
            if (Check_ Box__c = true) {
            // Apex クラスの呼び出しで使用するパラメータを定義
            String objectType ='Case';  
            String objectId = c.id;
            String projectKey = 'SFDC'; 
            String issueType = '1';     
            // 実際のコールアウトを呼び出して別のレコードを作成
            SFDCSampleWebserviceCalloutCreate.createRecord(PARAM1, PARAM2, PARAM3);
        }
    }

免責事項:  この記事に提供されているコードまたはアイデアはサンプルにすぎません。Salesforce で正式にサポートされているわけではありません。今後、コード違反が発生しても、サポートチームに解決策を頼ることはできません。このような要求は対象外です。  

 
ナレッジ記事番号

000383878

 
読み込み中
Salesforce Help | Article