我正在尝试解决的问题是我们无法报告待审批。
我已经看到建议我们更新在每个步骤之后执行的操作中路由的对象上的字段 - 但是当步骤用于并行批准时,这不起作用。
我无法找到一个可以附加触发器的物体,在每个人批准之后它会触发。
在一天结束时,我需要能够制作一份报告,说明谁需要批准什么(我知道每个人都会在他们的主页上看到他们需要批准的内容,我需要其他人能够关于所有未决批准的报告。)
有什么想法吗?
答案 0 :(得分:4)
由于我真的需要任何人能够在任何给定时间检查特定用户的所有待批准或待批准我创建了一个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页面中。
答案 1 :(得分:0)
首先 - 转到报告 - >行政报告 - >所有待批准的审批请求。
检查一下,看看是否可以根据您的需要进行微调。如果您需要能够与非管理员共享 - 考虑制作一个仪表板(可以是表格)并安排日常运行&电子邮件发送...
如果您觉得仍需要解决方法 - 我们当然可以尝试
但是当步骤用于并行批准时,这不起作用
您是否尝试过在更新中使用公式?像someHiddenNumberField +1
这样的东西可能会起作用(我现在无法在我的开发版中测试它);如果不是那么直接那样用一些语法糖,如PRIORVALUE()
。或者甚至更好 - 拥有一个文本字段并在其中附加日期/时间+批准的人。然后在最后一步中清除“计数器”并完成。
如果使用基于公式的更新的技巧不起作用(没有承诺,这只是一个想法),那么可能保留设置特殊字段的旧方法,但在此对象上也定义“更新前”触发器(或工作流程?但这又是一个公式),它将检查值,更新“计数器”并将隐藏字段设置回原始值。