setWhatId in salesforce verwenden von E-Mail-Vorlage
habe ich eine E-Mail senden, um einen Benutzer in salesforce verwenden von E-Mail-Vorlage.diese Vorlage enthält Platzhalter Typ des benutzerdefinierten Objekts.
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setTargetObjectId(user.get(0).id);
mail.setTargetObjectId(user.get(0).Id)
mail.setTemplateId(specifier.get(0).Template_id__c);
mail.saveAsActivity = false;
mail.setWhatId(custom_object.Id);
Las ich in der Dokumentation
Wenn Sie einen Kontakt angeben, die für die targetObjectId Feld können Sie eine whatId als gut. Dies hilft, um sicherzustellen, dass die merge-Felder in der Vorlage enthalten die korrekten Daten. Der Wert muss einer der folgenden Typen:
Konto
Asset
Kampagne
Fall
Vertrag
Gelegenheit
Um
Produkt
Lösung
Benutzerdefinierte
aber wenn wir eine E-Mail an einen Benutzer, der nicht zu Kontaktieren, dann, wie zum zuweisen eines benutzerdefinierten Objekts für die merge-Feld geben Sie benutzerdefinierte Objekte, wie Sie im obigen code
InformationsquelleAutor Ritesh Mehandiratta | 2012-06-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht sicher, ob dies möglich ist, zu tun, aber es hängt von der Beziehung zwischen Ihrem benutzerdefinierten Objekts und Ihrer Nutzer, wird der Empfang der E-Mails zusammengeführt. Sie haben eine 1-zu-1-Beziehung zwischen Benutzer und CustomObject? Wenn ja, vielleicht mit einem Verweis auf das einzige benutzerdefinierte Objekt-Instanz, die jedem Benutzer-Objekt verweist, und dann das hinzufügen von benutzerdefinierten Formel Felder im user-Objekt mit
CustomObject__r.CustomField__c
würde den trick tun.In eine benutzerdefinierte Feld Formel, die auf Ihrem Nutzer-Objekt:
Dann Ihre Vorlage kann geändert werden in ein Benutzer-template und die Seriendruckfelder wäre die Formel-Felder, die eigentlich wies auf Ihre eigene Objekt-Instanz. Aber wenn Sie einige andere Beziehung wie 1-zu-viele oder viele-zu-viele zwischen dem Nutzer und CustomObject__c ich denke, Sie sind aus Glück heraus.
InformationsquelleAutor Adam
Dies ist eine GIGANTISCHE ganzes in Ihrer E-Mail-Methoden, und einer, der genervt hat mich seit Jahren. Insbesondere angesichts der Tatsache, workflow E-Mail-Benachrichtigungen zu haben scheinen, kein problem, senden Sie eine E-Mail Vorlage für einen Benutzer. Ach, Sie können nicht setWhatId() wenn Ihr Ziel ist ein Benutzer. Aber Sie können Stimmen für Sie, um diese Funktionalität hinzufügen,
Ich gearbeitet habe, um das ich normalerweise einen Kontakt erstellen mit dem gleichen Namen und E-Mail wie die Benutzer es verwenden, um die E-Mail senden, und klicken Sie dann löschen. Dies funktioniert gut, obwohl der Umgang mit Validierungsregeln auf der Kontakt-Objekt kann eine Herausforderung sein. Finden Sie Ihre dev boards für eine vollständige Diskussion.
InformationsquelleAutor Ralph Callaway
Können Sie die Vorlage und ersetzen Sie die Platzhalter wie folgt:
Soweit keine neuen Felder Hinzugefügt werden, in der Vorlage, dies wird gut funktionieren. Der admin kann Chaos mit dem format der E-Mail ohne code-änderungen.
InformationsquelleAutor ceiroa