Salesforce setNextApproverIds()无法正常工作

时间:2016-10-26 15:45:17

标签: salesforce apex sfdc

我创建了一个审批流程,并从自定义按钮后面的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代码设置批准者?任何帮助将不胜感激。

0 个答案:

没有答案