WorkFlow Resubmit Code in d365 fo x++
public static void main(Args args)
{
// TODO: Write code to execute once work items are resubmitted.
recID recID = args.record().RecId;
tableId tableId = args.record().TableId;
XEN_OverTimeSummary XEN_OverTimeSummary = 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())
{
if (XEN_OverTimeSummary.Status == XEN_OvertimeSummaryWFStatus::ChangeRequest)
{
workItem = args.caller().getActiveWorkflowWorkItem();
WorkflowWorkItemActionManager::dispatchWorkItemAction(workItem, workflowWorkItemActionDialog.parmWorkflowComment(), workflowWorkItemActionDialog.parmTargetUser(), WorkflowWorkItemActionType::Resubmit, args.menuItemName());
XEN_OverTimeSummary.Status= XEN_OvertimeSummaryWFStatus::Submitted;
ttsbegin;
XEN_OverTimeSummary.dataSource().write();
ttscommit;
}
else
{
throw Exception::Error;
}
}
}
catch(Exception::Error)
{
throw error(strfmt("Can not resubmit some error occur"));
}
}
// Make the form refresh its common workflow UI controls.
args.caller().updateWorkflowControls();
}
Comments
Post a Comment