Требуется ли, чтобы шаблоны электронной почты Salesforce VF сохраняли связанный объект? - PullRequest
0 голосов
/ 16 июля 2011

Когда приходит новое лидерство, я хочу использовать триггер до и шаблон электронной почты Visualforce, который содержит значения поля интересов, для отправки электронного письма с помощью класса SingleEmailMessage. Электронная почта генерируется, но все поля лидирующих значений пусты, хотя (известные через System.Debug) они имеют значения, входящие в вызов.

Поскольку я передаю еще несохраненный идентификатор Id с помощью метода mail.setWhatId(lead.Id), я начинаю думать, что почтовый класс использует значение Id и пытается выполнить поиск в базе данных, а не в качестве ссылки к еще неспасенному свинцу в памяти.

Кто-нибудь знает, так ли это? Мой класс работает безупречно, когда лидерство уже существует.

Если почтовый класс Apex выполняет чтение из БД, то есть ли какие-либо примеры шаблонов для случая, когда необходимо отправить и отправить по электронной почте и обновить значение поля интереса до сохранения заявки? Я не могу использовать уведомление по электронной почте Workflow, потому что электронное письмо адресовано клиентам, и есть некоторый дополнительный код Apex, который сортирует, какой адрес нужно извлечь из существующих записей Аккаунта, на основе некоторых полей Lead - поэтому я думаю, что нужно использовать VF шаблоны электронной почты на первом месте.

1 Ответ

2 голосов
/ 18 июля 2011

setWhatId (и почти любой метод, который принимает значение идентификатора в качестве аргумента) определенно ожидает, что строка уже будет сохранена. Чтобы обойти это, вы можете просто обновить поле в триггере до и добавить триггер после, чтобы отправить электронное письмо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...