【发布时间】:2013-02-19 15:49:09
【问题描述】:
我正在尝试编写我的第一个 Apex 更新触发器,并且在尝试设置自定义查找字段的值时略有挣扎。
我有一个名为 Deployment__c 的对象,它是与名为 Service__c 的对象建立主从关系的主对象(名称简化!)
Service__c 字段在 Salesforce 中没有 Owner,因为它是主-详细信息关系中的子/详细信息。因此,我们在此对象上创建了一个名为 Owner__c 的伪所有者字段,这是在 Salesforce 中查找 User 对象的查找字段。
触发器的目的是将Service__c.Owner__c 的值设置为Deployment__c 的所有者用户的值,如果Service__c 上尚未设置Owner__c。
我的代码如下:
trigger AfterServiceUpdate on Service__c (before update) {
for (Service__c oldService : Trigger.new) {
if (oldService.Owner__c == null) {
User defaultUser = [Select Id FROM User WHERE User.Id = :oldService.Deployment__r.OwnerId];
oldService.Owner__c = defaultUser.Id;
}
}
}
但是,当我尝试保存此触发器时出现错误:
错误:编译错误:SObject ASE_Deployment__c 在第 5 行第 13 列的字段 Owner__c 无效
我已验证我的字段名称正确,但无法使其正常工作。欢迎大家指点!
【问题讨论】:
标签: salesforce apex-code