66、saleforce 的 approval process

public class TestApproval { 
    public void submitAndProcessApprovalRequest() { 
        // Insert an account 
        Line_Item__c a = new Line_Item__c();
        a.Name = 'Test_Line_Item_code_approval';
        a.Quantity__c =2;
        a.Unit_Price2__c =1200;
        Merchandise__c merchan = new Merchandise__c();
        merchan.Name ='Test_merchandise_code_approval';
        merchan.Quantity__c = 100;
        merchan.Price__c = 20000;
        insert merchan;
        a.Merchandise__c = merchan.Id;
        Invoice__c invo = new Invoice__c();
        invo.Status__c ='Open';
        insert invo;
        a.Invoice__c = invo.Id;
        insert a; 
        User user1 = [SELECT Id FROM User WHERE Alias='weizh']; 
        // Create an approval request for the account 
        Approval.ProcessSubmitRequest req1 = new Approval.ProcessSubmitRequest(); 
        req1.setComments('Submitting request for approval.'); 
        req1.setObjectId(a.id); 
        // Submit on behalf of a specific submitter 
        req1.setSubmitterId(user1.Id);
        ID[] ids = new ID[]{user1.Id}; 
        req1.setNextApproverIds(ids);
        // Submit the record to specific process and skip the criteria evaluation 
        //req1.setProcessDefinitionNameOrId('PTO_Request_Process'); 
        req1.setSkipEntryCriteria(true); // Submit the approval request for the account 
        Approval.ProcessResult result = Approval.process(req1); // Verify the result 
        System.assert(result.isSuccess()); 
        System.assertEquals( 'Pending', result.getInstanceStatus(), 'Instance Status'+result.getInstanceStatus()); 
        // Approve the submitted request 
        // First, get the ID of the newly created item 
        List<Id> newWorkItemIds = result.getNewWorkitemIds(); 
        // Instantiate the new ProcessWorkitemRequest object and populate it 
        Approval.ProcessWorkitemRequest req2 = new Approval.ProcessWorkitemRequest(); 
        req2.setComments('Approving request.'); 
        req2.setAction('Approve'); 
        req2.setNextApproverIds(new Id[] {UserInfo.getUserId()}); 
        // Use the ID from the newly created item to specify the item to be worked
        req2.setWorkitemId(newWorkItemIds.get(0)); 
        // Submit the request for approval 
        Approval.ProcessResult result2 = Approval.process(req2); 
        // Verify the results 
        System.assert(result2.isSuccess(), 'Result Status:'+result2.isSuccess()); 
        System.assertEquals( 'Approved', result2.getInstanceStatus(), 'Instance Status'+result2.getInstanceStatus());
    }
}

 

转载于:https://www.cnblogs.com/weizhen/p/6417399.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值