Wednesday, February 18, 2026

Perform actions to workflow with code in d365fo x++

 Scenario:- We can do some actions in workflow through code 

1) Submit:-

Code:-

WorkflowTypeName   workflowTypeName  =  workflowTypeStr(YNY_BudgetTransactionLineWorkflowType);

Workflow::activateFromWorkflowType(workflowTypeName,  Table.RecId, workflowComment, NoYes::No);

2) Approve:-

Code:-

WorkflowWorkItemTable workflowWorkItemTable;

WorkflowTypeName  workflowTypeName  =  workflowTypeStr(CustomWorkflowType);
select firstonly workflowWorkItemTable
where  workflowWorkItemTable.Type   == WorkflowWorkItemType::WorkItem
&&  workflowWorkItemTable.Status    == WorkflowWorkItemStatus::Pending
&&  workflowWorkItemTable.RefTableId== tableNum(EmployeeTable)
&&  workflowWorkItemTable.RefRecId  ==  5637144576;

 

if(workflowWorkItemTable)
{
     WorkflowWorkItemActionManager::dispatchWorkItemAction(workflowWorkItemTable,"Auto Approve by system",curUserId(), WorkflowWorkItemActionType::Complete,menuitemDisplayStr(Employee));       

}

3) cancel or recall  :-

Code:-

         WorkflowWorkItemTable workflowWorkItemTable;

WorkflowTypeName  workflowTypeName  =  workflowTypeStr(CustomWorkflowType);
  select firstonly workflowWorkItemTable
where  workflowWorkItemTable.Type   == WorkflowWorkItemType::WorkItem
&&  workflowWorkItemTable.Status    == WorkflowWorkItemStatus::Pending
&&  workflowWorkItemTable.RefTableId== tableNum(EmployeeTable)
&&  workflowWorkItemTable.RefRecId  ==  5637146826;

 

if(workflowWorkItemTable)
{

  Workflow::cancelWorkflow(workflowWorkItemTable.CorrelationId, "cancel by code");
  }


4) Resume:-

Code:-

         Workflowtrackingstatustable workflowTrackingStatusTable;

    select * from workflowTrackingStatusTable where workflowTrackingStatusTable.CONTEXTRECID == 5637147576
&& workflowTrackingStatusTable.CONTEXTTABLEID == tableNum(EmployeeTable);


    if(workflowTrackingStatusTable)
   {

     Workflow::resumeWorkflow(workflowTrackingStatusTable.CorrelationId, "resume by code");

  }

Thankyou!!


No comments:

Post a Comment

Perform actions to workflow with code in d365fo x++

 Scenario:- We can do some actions in workflow through code  1) Submit:- Code:- WorkflowTypeName   workflowTypeName  =  workflowTypeStr(YNY_...