salesforce中现有记录中的字段未更新
您好,我已经写了触发器和apex类如下,但这并没有更新帐户对象中的现有记录,我正在尝试更新亚马逊帐户的网站salesforce中现有记录中的字段未更新,salesforce,Salesforce,您好,我已经写了触发器和apex类如下,但这并没有更新帐户对象中的现有记录,我正在尝试更新亚马逊帐户的网站 trigger AccountTrigger on Account (After Insert) { if(Trigger.isAfter==true && Trigger.isInsert==true){ updateAmazon.check(); } } public class updateAmazon{ public static void Check
trigger AccountTrigger on Account (After Insert) {
if(Trigger.isAfter==true && Trigger.isInsert==true){
updateAmazon.check();
}
}
public class updateAmazon{
public static void Check(){
List<Account> Listrecord=new List<Account>();
Listrecord=[SELECT name,website from account where name='Amazon'];
List<Account> UpdateList=new List<Account>();
for(Account acc:Listrecord){
acc.website='www.amazon.com';
UpdateList.add(acc);
}
update UpdateList;
}
}
trigger AccountTrigger on Account(插入后){
if(Trigger.isAfter==true&&Trigger.isInsert==true){
updateAmazon.check();
}
}
公共类UpdateMapson{
公共静态无效检查(){
List Listrecord=新列表();
Listrecord=[从帐户中选择网站名称,其中name='Amazon'];
列表更新列表=新列表();
对于(科目科目:列表记录){
acc.website='www.amazon.com';
UpdateList.add(acc);
}
更新更新列表;
}
}
请帮助,除非我创建新记录,否则现有记录不会更新
感谢您的评论,我不确定这是否是一个触发点,除非您希望插入更多名为Amazon的帐户。如果是,那么您应该执行以下两个步骤 第一步
- 开放式开发人员控制台
- 打开“执行匿名顶点”
- 将check方法中的代码粘贴到窗口中并执行它
trigger AccountTrigger on Account (before Insert) {
for(Account a: Trigger.New)
{
if(a.Name == 'Amazon')
{
a.website='www.amazon.com'
}
}
}
这将确保创建的任何“亚马逊”帐户都能设置网站。您应该首先创建此触发器,然后运行匿名apex 你能更具体地说明你的目标吗?我不确定触发器中是否存在这种逻辑。但是对于您的语句“除非我创建一个新记录,否则现有记录不会得到更新”是正确的,因为您只按照类定义“触发器AccountTrigger on Account(after insert)”在after insert触发器中编写了此语句因此,它只会在创建新帐户时启动。感谢如何为现有记录启动它,我只想更新现有记录而不创建新记录。例如,我已经有10个名为Amazon的帐户记录,并且希望在不添加新记录的情况下更新这些记录的网站信息