Я хочу удалить только что созданную учетную запись в Salesforce. Подскажите пожалуйста по следующему коду на скриншоте, возможно ли удалить запись с помощью триггера.

enter image description here

0
ramnathbiswas 2 Мар 2020 в 11:42

2 ответа

trigger HelloWorldTrigger on Account(after Insert){
   List<Account> accList = new List<Account>();
   for(Account acc : [select id from account where id IN :trigger.new){
      accList.add(acc);
   }
   if(!accList.isEmpty()){
     Delete accList;
   }
}
1
Rijwandeltax 2 Мар 2020 в 11:51

Хотя это возможно сделать, вероятно, стоит рассмотреть другие варианты достижения вашей цели. Одна из проблем с предыдущим ответом заключается в том, что вы, скорее всего, отправите своего пользователя на страницу «Похоже, есть проблема ...» — Salesforce обычно перенаправляет пользователя на новую запись (которой больше не существует, так как вы ее удалили, следовательно, вы получаете эту страницу с ошибкой). В качестве общего правила хорошей практики/здравого смысла неэффективно вставлять в базу данных только для того, чтобы сразу после этого удалить запись.

Я предполагаю, что вы делаете что-то еще в триггере, например, фиксируете вводимые данные или условно удаляете учетную запись. Если вы используете Lightning, потоки могут лучше соответствовать вашим потребностям. В противном случае, возможно, пользовательские объекты? Например, вы можете создать объект «Запрос учетной записи» с запланированным заданием, которое считывает запросы учетной записи и определяет, соответствуют ли они критериям X и Y, а затем либо создаете учетные записи, либо отправляете какое-либо уведомление об отклонении.

0
D. Salvadori 2 Мар 2020 в 12:30