Apex 中的参考父对象
Posted
技术标签:
【中文标题】Apex 中的参考父对象【英文标题】:Reference Parent Object in Apex 【发布时间】:2011-08-23 14:08:35 【问题描述】:我在 Salesforce 中设置了一个名为 Solar_Install 的自定义对象。我与另一个 Salesforce 安装建立了 S2S 连接。我想与他们共享自定义对象以及父对象(帐户),部分原因是子对象从其父对象继承了 autoshare 属性,所以我必须这样做。
我在子对象(Solar_Install)上有一个 Apex 触发器,如下所示:
trigger shareWithPartner on Solar_Install__c (after insert)
PartnerNetworkRecordConnection newConnection =
new PartnerNetworkRecordConnection(
ConnectionId = '12AB3456789CDEF',
LocalRecordId = trigger.new[0].id,
SendClosedTasks = false,
SendOpenTasks = false,
SendEmails = false,
ParentRecordId = ???);
insert newConnection;
但我不知道该放什么 ???价值。我尝试了各种方法:
trigger.new[0].Account_c.AccountId
错误:编译错误:无效的外键关系:Solar_Install__c.Account_c 在第 10 行第 57 列
帐户_c
错误:编译错误:变量不存在:Account_c 在第 10 行第 42 列
等等。有谁知道我如何从这个自定义对象中引用父(帐户)ID,以便我可以将其指定为 ParentRecordId?
干杯
【问题讨论】:
您是否尝试过使用Account__r.Id
或Account__c
(带有两个下划线)遍历Account 关系?这些应该是相同的,但后者更受欢迎,因为它不需要连接。
嗨。是的,对于其中的每一个,我都会收到一个错误:编译错误:变量不存在:Account__c... 在对象定义中有一个 Master-Detail(Account),API 名称为 Account__c,字段标签为 Account
知道了。也需要引用自定义对象。这行得通。 ParentRecordId = trigger.new[0].Account__c 发表您的评论作为答案,我会这样标记它
【参考方案1】:
您是否尝试使用 Account_r.Id 或 Account_c(带有两个下划线)遍历 Account 关系?这些应该是相同的,但后者更受欢迎,因为它不需要连接。
【讨论】:
以上是关于Apex 中的参考父对象的主要内容,如果未能解决你的问题,请参考以下文章
更新用户对象时 Salesforce Apex 触发器中的 MIXED_DML_OPERATION 错误
Salesforce Apex学习 : 利用Schema命名空间中的DescribeSObjectResult类型来获取sObject对象的基本信息