0

結合されたフィールドを含む電子メール テンプレートを作成しています。

アカウント フィールドを追加すると、正常に動作します。

しかし、カスタム オブジェクトからフィールドを追加しようとすると、機能しません。

上で述べたように、「関連先」をカスタムオブジェクトレコードに設定することにより、手動で行いましたが、次のコードを使用すると、含まれるフィールドがテンプレートで空白になります

Inquery__c inquery = trigger.new[0];
 String[] toAddresses = new String[] {inquery.email__c};
 Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
  mail.setTargetObjectId(inquery.OwnerID);
 mail.setSenderDisplayName('Salesforce Support');
  mail.setUseSignature(false);
  mail.setBccSender(false);
  mail.setSaveAsActivity(false);
 EmailTemplate et=[Select id from EmailTemplate where DeveloperName=:'Invitation_to_register_for_Training'];
 mail.setTemplateId(et.id);
 Messaging.SendEmailResult [] r = Messaging.sendEmail(new Messaging.SingleEmailMessage[] {mail});

次のようにsetWhatIDを追加しようとしましたが、

mail.setWhatId(inquery.OwnerID);

しかし、次のようなエラーが表示されました: WhatId は UserIds にメールを送信するために使用できません

ありがとう

4

1 に答える 1

1

メソッド setWhatId() では、OwnerID フィールドの代わりにクエリ ID を挿入する必要があります。

mail.setWhatId(inquery.ID);

修正してみてください。

于 2013-07-23T10:35:40.177 に答える