Какой самый простой способ в Salesforce программно изменить владельца контакта И уведомить этого пользователя (по электронной почте) об изменении?

#salesforce #apex #apex-code

#salesforce #apex #apex-code

Вопрос:

При ручной смене владельцев контактов в Salesforce появляется флажок с надписью «Отправить уведомление по электронной почте». Есть ли способ программно установить этот флажок при обновлении контактов с помощью APEX?

Ответ №1:

Вам нужны DMLOptions класс и Database.update(records, options) версия вызова, а не обычные update records; . Что-то вроде

 Database.DmlOptions options = new Database.DmlOptions();
options.emailHeader.triggerUserEmail = true;
List<Contact> contacts [SELECT Id FROM Contact LIMIT 10];
Database.update(contacts, options);
  

Но это означает, что неудачное обновление (правило проверки, обязательное поле и т. Д.) Больше Не будет генерировать исключение. Ваша задача — изучить, что Database.update возвращается, и решить, нужно ли вам откатить транзакцию или, может быть, вы согласны с «сохранить то, что можете, проглотить все ошибки»…

Это работает 😉 Мне не нравится работа. Вам действительно нужен код apex для этого? Может быть, будет достаточно workflow, flow или process builder on ISCHANGED(OwnerId) email alert?