Auto Approve the workflow if a user already approve it in an hierarchy of Wotkflow
public void insert()
{
next insert();
switch(this.RefTableId)
{
case tableNum(PurchReqTable):
case tableNum(PurchTable):
{
if(this.CheckForApproval(this.CorrelationId, this.UserId))
{
WorkflowWorkItemActionManager::dispatchWorkItemAction(this, 'Auto Approve', this.UserId, WorkflowWorkItemActionType::Complete, this.MenuItemName);
}
}
}
}
public workflowtrackingtable CheckForApproval(WorkflowCorrelationId _correlationId, UserId _UserId)
{
Workflowtrackingstatustable workflowtrackingstatustable;
Workflowtrackingtable workflowtrackingtable;
select firstonly workflowtrackingstatustable
join workflowtrackingtable
where workflowtrackingstatustable.RECID == workflowtrackingtable.WORKFLOWTRACKINGSTATUSTABLE
&& workflowtrackingtable.TrackingContext == workflowtrackingcontext::WorkItem
&& workflowtrackingtable.TrackingType == workflowtrackingtype::Approval
&& workflowtrackingstatustable.CorrelationId == _correlationId
&& workflowtrackingtable.User == _UserId;
return workflowtrackingtable;
}
Comments
Post a Comment