我有自定义对象KeywordAccountAssociation__c
。该对象有三个字段
Account__c
- Master-Detail(帐户)Keyword__c
- Master-Detail(关键字)Compositecp__c
- 文本(255)(外部ID)(唯一区分大小写)我在帐户中有自定义字段
DD_Segment__c
- 多选项列表现在,每当DD_Segment__c
更新时,我想要更新{插入也很好'KeywordAccountAssociation__c
值。我可以为此写出触发器,但我不知道怎么做?我是Salesforce Development的新手,我的背景是红宝石(因此习惯于顶点对我来说有点困难)。
KeywordAccountAssociation__c
有多行Account__c
,其中包含相同的account_id,而且这些account_id与自定义对象Keyword__c
的记录相关。我想获得与一个帐户相关的所有关键字,并在其(帐户的)多选择列表中进行更新。我怎样才能做到这一点?如果您对此有疑问,请询问。谢谢!
答案 0 :(得分:1)
一个问题与学习使用触发器有关,一般可以使用Salesforce Apex Developer Documents on Triggers
开始但要回答您的实际问题,您基本上需要针对更新相关帐户的自定义对象构建触发器。它可能看起来像这样:
trigger keywordAccountUpdate on KeywordAccountAssociation__c (after insert, after update){
set<id> = new set<id>();
for (KeywordAccountAssociation__c a : Trigger.new)
accountIds.put(a.Account__c);
map<id,Account> accountMap = new map<id,Account>([select id, DD_Segment__c from Account where id in :accountIds]);
for (KeywordAccountAssociation__c kaa : Trigger.new){
if (AccountMap.containskey(kaa.Account__c)){
Account thisAccount = AccountMap.get(kaa.Account__c);
String s = thisAccount.DD_Segment__c + ';new value'; // Always add value
if ((thisAccount.DD_Segment__c).contains('second value')
s += ';second value';
AccountsToUpdate.add(new Account(id=thisAccount.id, DD_Segment__c = s));
}
}
}
请记住,我没有测试此触发器的结构,我只是免费提供它,所以YMMV。