gpt4 book ai didi

triggers - 更新后触发器待批准请求 OriginalActorId

转载 作者:行者123 更新时间:2023-12-04 12:50:47 25 4
gpt4 key购买 nike

下面的触发器用于从批准过程列表中拉出最近的“分配给”用户(或 OriginalActorId),即 Approval_started__c字段被检查为来自特定批准流程的初始提交操作。

我遇到的问题是下面的 system.debug 语句没有显示在最后一个待处理的批准请求中分配给​​用户的最新请求,而是在用户单击提交以供批准之前显示分配给用户的最新请求,因此它跳过了“批准请求提交步骤”,当用户单击提交以供批准时执行的初始提交操作待处理步骤(用户选择批准者)是待批准/拒绝,并返回在这些之前的旧请求2.

我的目标是提取“分配给”用户的最新待处理请求或 OriginalActorId值(value)。

有什么想法吗 ?谢谢。

这是审批流程列表的屏幕截图,黑色是我在调试日志行上使用此触发器获取的值,蓝色是预期值。

Approval process List

trigger Assigned2testTrigger on LLC_BI__Product_Package__c(after update) {

list < LLC_BI__Product_Package__c > listpp = new list < LLC_BI__Product_Package__c > ();
for (LLC_BI__Product_Package__c pp: trigger.new) {
If(!checkRecursive.SetOfIDs.contains(pp.Id)) {


if (pp.Approval_started__c == true) {


system.debug('---------> My ProcessInstance ' + string.valueof([Select Id, (Select TargetObjectId, SystemModstamp, StepStatus, RemindersSent, ProcessInstanceId, OriginalActorId, IsPending, IsDeleted, Id, CreatedDate, CreatedById, Comments, ActorId From ProcessSteps order by SystemModstamp desc) from LLC_BI__Product_Package__c where Id =: pp.id].ProcessSteps[0].OriginalActorId));
}
checkRecursive.SetOfIDs.add(pp.Id);
}
}
}

最佳答案

在您的查询中,您将要查找最新的 ProcessInstance ,然后是最新的关联 ProcessInstanceStep .您的查询将如下所示:

SELECT Id
, SystemModStamp
, Status
, (SELECT SystemModstamp
, StepStatus
, ProcessInstanceId
, OriginalActorId
, Id
, CreatedDate
, CreatedById
, Comments
, ActorId
From Steps
ORDER BY SystemModstamp DESC)
FROM ProcessInstance
WHERE TargetObjectId = :pp.Id
ORDER BY SystemModStamp DESC

这里同样重要的是,为了触发此触发器,您需要对记录本身执行更新。默认情况下,如果没有字段更新操作,则仅对流程实例相关记录进行更改,而不对正在批准的记录进行更改。

如果您为要触发触发器的每个步骤创建单独的复选框字段和相应的字段更新操作,您应该在每个步骤之后开始看到触发器触发。

每个步骤一个字段,默认为未选中:

enter image description here

每个步骤的一个字段更新以选中复选框,以便触发器在相关对象上触发。如果审批过程可能发生多次,您还希望在初始提交时将复选框重置为未选中状态:

enter image description here

关于triggers - 更新后触发器待批准请求 OriginalActorId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51344071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com