Triggers Salesforce:创建触发器以在自定义对象中插入记录

Triggers Salesforce:创建触发器以在自定义对象中插入记录,triggers,salesforce,apex,Triggers,Salesforce,Apex,我正在尝试将一条新记录插入我的自定义对象Commission_C中。代码中没有错误,但更新策略_C时不会发生任何事情。我做错了什么 trigger statusUpdate on Policy__c (before update) { List<Commission__c> comms = new List<Commission__c>(); for(Policy__c a : trigger.new) { Commission_

我正在尝试将一条新记录插入我的自定义对象Commission_C中。代码中没有错误,但更新策略_C时不会发生任何事情。我做错了什么

trigger statusUpdate on Policy__c (before update) 
{
    List<Commission__c> comms = new List<Commission__c>();

    for(Policy__c a : trigger.new)
    {
       Commission__c comm = new Commission__c ();
       comm.Name = 'testName'; 
       comms.add(comm);      
    }

    insert comms; 

}
触发策略上的状态更新(更新前)
{
列表命令=新列表();
for(Policy\uu c a:trigger.new)
{
佣金c comm=新佣金c();
通信名称='testName';
通信添加(通信);
}
插入命令;
}

我已经在谷歌上搜索过很多次了,从我所知道的来看,这似乎是我应该做的。我简化了我的代码,因为本质上我只需要这一部分就可以让它全部工作。

您需要检查是否遗漏了任何必需的佣金字段,还需要检查安全设置是否设置正确。打开调试日志,您应该能够看到出现了什么错误。

触发策略上的状态更新(更新后) { 列表命令=新列表()

}

现在你可以试试这个触发器了,我想它最有效。

触发器状态策略更新(更新前)
trigger statusUpdate on Policy__c (before update) 
{
    List<Commission__c> comms = new List<Commission__c>();

    for(Policy__c a : trigger.new)
    {
       Commission__c comm = new Commission__c ();
       comm.id=a.id
       comm.Name = 'testName'; 

       comms.add(comm);      
    }

    insert comms; 

}
{ 列表命令=新列表(); for(Policy\uu c a:trigger.new) { 佣金c comm=新佣金c(); 通信id=a.id 通信名称='testName'; 通信添加(通信); } 插入命令; }
在策略上触发状态更新(插入后) { 列表命令=新列表()


}

奇怪。触发器在目标环境中是否确实保存正常?(是沙箱还是生产组织?)是否标记为活动?例如,如果您强制它失败(
System.assert(false,'Die you dumby trigger!');
应该可以工作),该怎么办?您知道如何启用调试日志记录,从而跟踪更新策略时发生的情况吗?这就是我在插入后放置调试时发生的情况。我对这个很陌生,所以我不太知道如何使用salesforce/apex进行调试。10:52:53:184 USER_DEBUG[12]| DEBUG |(Commission|u c:{Name=testName,Id=a01i000000B2RIFAA3})噢,触发器本身很好,因为我能够让它在更新时发送电子邮件。但此部件不起任何作用。如果委员会已分配Id,则表示已成功保存。您应该能够使用url中的id值导航到它(比如
https://eu1.salesforce.com/a01i000000B2RIFAA3
)。也许你希望在相关的清单上看到它?但是您没有指定任何关系,比如
comms.Policy\uu c=a.Id…也许您可以使用更详细的信息来描述这是如何解决问题的。
trigger statusUpdate on Policy__c (before update) 
{
    List<Commission__c> comms = new List<Commission__c>();

    for(Policy__c a : trigger.new)
    {
       Commission__c comm = new Commission__c ();
       comm.id=a.id
       comm.Name = 'testName'; 

       comms.add(comm);      
    }

    insert comms; 

}
Commission__c comm = new Commission__c ();

for(Policy__c a : trigger.new)
{
   comm.id=a.id;
   comm.Name = 'testName'; 
   comms.add(comm);      
}

insert comms;