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

我已经看到建议我们在每个步骤之后执行的操作中更新在对象上的字段 - 但是,当该步骤是对并行批准的步骤时,这无效。

我找不到一个可以将扳机附加到每个人批准后会发射的对象。

在一天结束时所有等待批准)。

有任何想法吗?

有帮助吗?

解决方案

由于我真的需要任何人都可以在任何给定时间内对特定用户进行所有未决批准或未决批准,因此我创建了一个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页面中显示的通用视图模型。

其他提示

首先 - 去 报告 - >行政报告 - >所有等待批准请求.

检查一下,看看是否可以微调以满足您的需求。如果您需要能够与非Admins共享 - 考虑从中制作仪表板(可以是表格),并安排它以进行日常运行和电子邮件发送...

如果您觉得自己仍然需要解决方法 - 我们当然可以尝试

但是,当该步骤进行并行批准时,这无效

您是否尝试过在更新中使用公式?类似的东西 someHiddenNumberField +1 可能会起作用(目前我无法在开发版中测试它);如果不是直接的话,那么用一些句法糖喜欢 PRIORVALUE(). 。或者甚至更好 - 在批准的日期/时间 +中拥有一个文本字段并附加附加。然后,在最后一步中,您清除了“计数器”并完成。

如果具有基于公式的更新的技巧将不起作用(没有承诺,这只是一个想法),那么可以保留旧的设置特殊字段的方法,但还定义了此对象上的“更新之前”触发器(还是工作流?但这再次是一个公式)检查值,更新“计数器”,然后将隐藏的字段设置为原始值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top