Salesforce 更新自定义对象时更新多重选取列表
我有自定义对象Salesforce 更新自定义对象时更新多重选取列表,salesforce,apex-code,Salesforce,Apex Code,我有自定义对象关键字accountassociation\uu\c。此对象有三个字段 科目\uuu\c主明细表(科目) 关键字\uuu c-主详细信息(关键字) Compositecp\uuu c-文本(255)(外部ID)(区分大小写) 我在帐户中有一个自定义字段 DD\u段\uu c-多选取列表 现在,每当更新KeywordAccountAssociation\uu c时,我想更新DD\u段\uu c的值(插入也可以)。我可以为这个写触发器,但我不知道怎么写?我是Salesforce开发
关键字accountassociation\uu\c
。此对象有三个字段
科目\uuu\c
主明细表(科目)关键字\uuu c
-主详细信息(关键字)Compositecp\uuu c
-文本(255)(外部ID)(区分大小写)
-多选取列表DD\u段\uu c
KeywordAccountAssociation\uu c
时,我想更新DD\u段\uu c
的值(插入也可以)。我可以为这个写触发器,但我不知道怎么写?我是Salesforce开发的新手,我的背景是ruby(所以习惯apex对我来说有点困难)
KeywordAccountAssociation\uuuu c
有多行具有相同帐户id的Account\uu c
,这些帐户id与自定义对象的记录相关Keyword\uu c
。我想获得与一个帐户相关的所有关键字,并在其(帐户的)多选取列表中进行更新。我怎样才能做到这一点?如果您对此有疑问,请务必询问。谢谢 有一个问题与学习使用触发器有关,可以从
但要回答实际问题,您基本上需要针对自定义对象构建一个触发器来更新相关帐户。它可能看起来像这样:
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));
}
}
}
在KeywordAccountAssociation\uuu\c上触发keywordAccountUpdate(插入后,更新后){
集合=新集合();
for(关键字AccountAssociation\uuu c a:Trigger.new)
accountIds.put(a.Account\u\c);
map accountMap=新映射([从帐户中选择id,DD_段c,其中id位于:AccountID]);
for(关键字accountassociation\uuu\c kaa:Trigger.new){
if(AccountMap.containskey(kaa.Account_u__c)){
Account thisAccount=AccountMap.get(kaa.Account\uu\c);
字符串s=thisAccount.DD_段uu c+';新值;//始终添加值
if((thisAccount.DD_段__c.)包含('第二个值')
s+=';第二个值';
AccountsToUpdate.add(新帐户(id=thisAccount.id,DD_段_uuc=s));
}
}
}
请记住,我没有测试此触发器的结构,我只是随意处理它,所以YMMV。当您说要更新/插入
DD_Segment____c
的值时,您的意思是要更新该字段中的记录值,还是实际修改页面布局上可供选择的选择列表选项?在哪里我是否从?新值
,第二个值
获取此值。我已将关键字ID
存储在关键字帐户关联
中。