Salesforce 如何限制仅由触发器执行更新

Salesforce 如何限制仅由触发器执行更新,salesforce,apex-code,visualforce,Salesforce,Apex Code,Visualforce,我有一个要求,即特定记录类型的机会只能由触发器更新。换句话说,不应该从ui或数据加载程序进行更新 这可能吗 当然。暴力方式是限制应用程序帐户对表执行插入/更新的权限 您可以将以下代码添加到“更新前”触发器中,并在记录提交到数据库之前回滚人们对记录所做的任何更改。在同一个触发器中,您可以放置您希望它进行的任何其他更改 差不多 for(Account a : Trigger.new){ if(a.recordtypeId != 'recordTypeToExclude') continue;

我有一个要求,即特定记录类型的机会只能由触发器更新。换句话说,不应该从ui或数据加载程序进行更新


这可能吗

当然。暴力方式是限制应用程序帐户对表执行插入/更新的权限

您可以将以下代码添加到“更新前”触发器中,并在记录提交到数据库之前回滚人们对记录所做的任何更改。在同一个触发器中,您可以放置您希望它进行的任何其他更改

差不多

for(Account a : Trigger.new){
    if(a.recordtypeId != 'recordTypeToExclude') continue;
    a = Trigger.oldMap.get(a.id);        
}

正如Brad所说,锁定安全性,这样它就不会被各种配置文件更新(可能除了管理员之外)。触发器仍然能够更新记录而不会出现问题。