我创建了一个审批流程,并从自定义按钮后面的Apex代码启动它。这工作正常,但我面临的问题是我无法从Apex代码设置批准者。始终需要在审批流程中设置审批人。
这是我的代码:
Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest();
req.setComments('Submitted for approval. Please approve. Source:ApexClass');
req.setObjectId(dcr.Id);
req.setNextApproverIds(new Id[] {'0057E000001dn5T'}); // This is the id of a user
Approval.ProcessResult result = Approval.process(req);
提交审批记录,但将其发送给审批流程中设置的审批人,而不是发送给代码中设置为id为'0057E000001dn5T'的用户
我也试过改变上面代码中的以下行
req.setNextApproverIds(new Id[] {'0057E000001dn5T'});
到
List<Id> approverIdList = new List<Id>();
Id approverId = [SELECT DCR_Send_to_Approver_AGN__c FROM User
WHERE Id = :UserInfo.getUserId()].DCR_Send_to_Approver_AGN__c;
approverIdList.add(approverId);
req.setNextApproverIds(approverIdList);
和
list<string> approverIdList = new list<string>();
group g = [SELECT (select userOrGroupId from groupMembers) FROM group
WHERE name= 'testUserGroup'];
for (GroupMember gm : g.groupMembers) {
approverIdList.add(gm.userOrGroupId);
}
req.setNextApproverIds(approverIdList);
......但没有任何效果。
那么如何从Apex代码设置批准者?任何帮助将不胜感激。