Resubmit Work flow Method in D365fo x++

 Resubmit Work flow Method in D365fo x++

Code: 

 static void reSubmit(Args _args)
    {
        VendTable VendTable = _args.record();

        WorkflowWorkItemTable           workItem            = _args.caller().getActiveWorkflowWorkItem();
        WorkflowWorkItemActionDialog    workflowWorkItemActionDialog;
        if (workItem.RecId > 0)
        {
            try
            {
                workflowWorkItemActionDialog = WorkflowWorkItemActionDialog::construct( workItem,
                                                                                    WorkflowWorkItemActionType::Resubmit,
                                                                                    new MenuFunction(_args.menuItemName(),_args.menuItemType()));
                workflowWorkItemActionDialog.run();
                if (workflowWorkItemActionDialog.parmIsClosedOK())
                {
                    workItem    = _args.caller().getActiveWorkflowWorkItem();
                    WorkflowWorkItemActionManager::dispatchWorkItemAction(  workItem,
                                                                    workflowWorkItemActionDialog.parmWorkflowComment(),
                                                                    workflowWorkItemActionDialog.parmTargetUser(),
                                                                    WorkflowWorkItemActionType::Resubmit,
                                                                    _args.menuItemName());

                    // Change the WFStatus to Pending Approval.
                    ttsbegin;
                    VendTable.DSSH_WorkFlowStatus= DSSH_WorkFlowStatus::PendingApproval;
                    VendTable.dataSource().write();
                    ttscommit;
                }
            }
            catch(Exception::Error)
            {
                throw error('Error in resubmitting workflow');
            }
        }
        _args.caller().updateWorkflowControls();
    }

Comments

Popular posts from this blog

D365FO – AX – X++ –Refresh, Reread, Research, and ExecuteQuery

Create Inventory Journal through Code in D365FO X++

SalesLine Reservation in D365fo x++