【发布时间】:2012-05-17 21:17:13
【问题描述】:
我有一个包含三个步骤的审批流程,所有这些步骤都设置为分配的审批者 = 手动选择。当用户提交记录以供批准时,我想让 Apex 代码确定三个批准者是谁。但是,我看不到一种方法可以连接到批准请求提交。
如果我使用 Approval.process() 通过 Apex 提交批准,我可以使用 ProcessSubmitRequest.setNextApproverIds() 设置初始(并且仅初始)批准者。此调用使您相信您可以指定多个批准者,因为它需要一个 Id 数组,但该数组只能有 1 个元素,否则运行时会发生错误。
一旦我知道第一个审批者的响应是什么,我就可以使用 Apex 提交她的响应,然后再次通过将 ProcessWorkitemRequest 实例传递给 Approval.process() 来设置下一个审批者。这里需要注意的是,审批者不得通过标准 UI 进行审批。相反,他们必须执行一些调用 Apex 代码的操作,以便我们可以设置下一个批准者。审查对象上的触发器或自定义按钮 + VF 页面可用于调用 Apex。
我的主要问题是,如何确保用户不使用标准的批准按钮?它们出现在 Approvals 相关列表和 salesforce 主屏幕上。它也可能在其他地方。同样,如果他们使用标准的提交和批准按钮,我就无法设置下一个批准者。
【问题讨论】:
标签: salesforce apex-code