Triggers SalesForce.com-报告批准流程解决方案

Triggers SalesForce.com-报告批准流程解决方案,triggers,workflow,salesforce,apex-code,Triggers,Workflow,Salesforce,Apex Code,我试图解决的问题是,我们无法报告待定的批准 我看到过这样的建议,即我们更新在每个步骤后执行的操作中路由的对象上的字段——但是,当该步骤用于并行批准时,这不起作用 我还没有找到一个可以在每个人同意后触发的物体 在一天结束时,我需要能够生成一份报告,报告谁需要批准我知道的内容,每个人都会在他们的主页上看到他们需要批准的内容,我需要其他人能够获取所有待批准的报告 有什么想法吗?首先-进入报告->管理报告->所有待审批请求 检查一下,看看是否可以根据您的需要进行微调。如果你需要能够与非管理员共享它-考虑

我试图解决的问题是,我们无法报告待定的批准

我看到过这样的建议,即我们更新在每个步骤后执行的操作中路由的对象上的字段——但是,当该步骤用于并行批准时,这不起作用

我还没有找到一个可以在每个人同意后触发的物体

在一天结束时,我需要能够生成一份报告,报告谁需要批准我知道的内容,每个人都会在他们的主页上看到他们需要批准的内容,我需要其他人能够获取所有待批准的报告


有什么想法吗?

首先-进入报告->管理报告->所有待审批请求

检查一下,看看是否可以根据您的需要进行微调。如果你需要能够与非管理员共享它-考虑制作一个仪表板从它可以是表,并安排它的日常运行和电子邮件发送…< / P > 如果你觉得你仍然需要一个解决方案,我们当然可以尝试

但是,当该步骤用于并行批准时,这不起作用

您是否尝试过在更新中使用公式?像someHiddenNumberField+1这样的东西可能会起作用,我现在无法在我的开发版本中测试它;如果不是直接这样,那么使用一些语法糖,比如PRIORVALUE。或者更好——有一个文本字段,并在其中添加日期/时间+谁批准。然后在最后一步中,您清除计数器并完成


如果使用基于公式的更新的技巧不起作用没有承诺,这只是一个想法,那么可能会保留设置特殊字段的旧方法,但在该对象或工作流上定义更新前触发器?但这又是一个可以检查数值的公式,更新计数器并将隐藏字段设置回原始值。

因为我确实需要任何人能够在任何给定时间检查特定用户的所有待定批准或待定批准,所以我创建了一个VisualForce页面,并根据查找每个待定批准或某个用户的待定批准使用以下查询

对于所有待定批准:

[SELECT Status, TargetObject.Name, TargetObjectId, TargetObject.Type, (SELECT Actor.Id, Actor.Name, Actor.Email, CreatedDate FROM WorkItems)
                                    FROM ProcessInstance
                                    WHERE TargetObject.Type = 'ObjectICareAbout__c' and Status='Pending']
对于给定用户的待定批准:

[SELECT ActorId, Actor.Name, Actor.Email, CreatedDate, ProcessInstance.Status, ProcessInstance.TargetObjectId, ProcessInstance.TargetObject.Name
                                            FROM ProcessInstanceWorkitem
                                            WHERE ActorId = :user AND ProcessInstance.Status = 'Pending' AND ProcessInstance.TargetObject.Type = 'ObjectICareAbout__c']

然后,它们被映射到一个公共视图模型,显示在VF页面中。

在报告->管理报告->所有待审批请求中,刚刚听说了这一点,但由于某些原因,它在我们的组织中不可用。SFDC的人不知道为什么-go figure.FYI-他们知道我可以使用下面的SOQL访问这些信息;[选择Status,TargetObject.Name,TargetObjectId,TargetObject.Type,选择Actor.Id,Actor.Name,Actor.Email,从ProcessInstance的工作项创建数据,其中TargetObject.Type='ObjectCareAuto\uu c'和Status='Pending']将其放在VF页面后面是我的核心选项。