在Salesforce中的一组元素上循环
我正在sfdc中使用下面apex代码中的soql获取一组10条记录。 在获取记录后,我只需要更新ILR_c字段的新值(ilrItemClone.ILR_c=ilrClone.id),然后需要插入一组新的10条记录,除ILR_c外,所有其他字段与原始记录相同。 但是,我在列表“ilrItem”中的循环运行不正常,在调试日志中,我发现第一组记录出现了10次,因此无法在系统中插入记录 请让我知道如何通过所有10条记录进行遍历,并获得所需的记录。 我确信我在循环中犯了一个基本的错误,但我想不出来。 谢谢你的帮助 这是代码段在Salesforce中的一组元素上循环,salesforce,salesforce-service-cloud,Salesforce,Salesforce Service Cloud,我正在sfdc中使用下面apex代码中的soql获取一组10条记录。 在获取记录后,我只需要更新ILR_c字段的新值(ilrItemClone.ILR_c=ilrClone.id),然后需要插入一组新的10条记录,除ILR_c外,所有其他字段与原始记录相同。 但是,我在列表“ilrItem”中的循环运行不正常,在调试日志中,我发现第一组记录出现了10次,因此无法在系统中插入记录 请让我知道如何通过所有10条记录进行遍历,并获得所需的记录。 我确信我在循环中犯了一个基本的错误,但我想不出来。 谢谢
ilrItem=[选择Id、名称、,
账户c,
评论(c),
伊尔鲁克,
前驱体样品掉落,
PFE_完成_呼叫__c
来自ILR\u项目\uu\c
式中,ILR__c=:presentId];
用于(ILR_项目:ilrItem){
对于(整数i=0;i
此处不需要第二个内部循环,只需将其删除即可。此外,每次添加新值时,都需要创建ilrItems
的新实例
ilrItem=[选择Id、名称、,
账户c,
评论(c),
伊尔鲁克,
前驱体样品掉落,
PFE_完成_呼叫__c
来自ILR\u项目\uu\c
式中,ILR__c=:presentId];
用于(ILR_项目:ilrItem){
试一试{
如果(ilrItems!=null){
//我不知道ilrItemClone变量的对象类型,因为您在上面定义了它
ilrItemClone=新的ilrItemClone__u c();
ilrItemClone.Name=ilrItems.Name;
ilrItemClone.ILR\uuu c=ilrClone.id;
ilrItemClone.Account\uuu c=ilrItems.Account\uu c;
ilrItemClone.Comments\uuuu c=ilrItems.Comments\uuuu c;
ilrItemClone.PFE_Planned_Calls_c=ilrItems.PFE_Planned_Calls_c;
ilrItemClone.PFE_Completed_Calls_uc=ilrItems.PFE_Completed_Calls_uc;
添加(ilrItemClone);
}
}捕获(例外e){}
}
系统调试('******'+ilrItemClist);
插入列表;
}
另一个麻烦是捕获常见异常。这是一种不好的做法。Hi Pavel,谢谢你的建议。但我仍然得到了使用soql检索的第一组记录,每次都会重复。请建议。Hi@Apurbo,看起来你已经得到了答案,但是你知道Salesforce.stackexchange.com上有一个专门针对Salesforce的新stackexchange网站。来加入那边的社区吧!:)作为参考,与SO相比,新stackexchange上的问题大约是SO的4倍,参与者更为活跃。