Workflow Error: Function WorkflowSubmitDialog.run has been incorrectly called solution Dynamics 365 Finance and Operations

 Workflow Error: Function WorkflowSubmitDialog.run has been incorrectly called solution Dynamics 365 Finance and Operations

Code: 

 public static void main(Args args)
	{
		//  TODO:  Write code to execute once a work item is submitted.
        SalesTable               SalesTable;
        WorkflowComment         note = "";
        WorkflowSubmitDialog    workflowSubmitDialog;
        WorkflowCorrelationId   workflowCorrelationId;
        WorkflowVersionTable    workflowVersionTable;

        WorkflowTypeName        workflowTypeName = workFlowTypeStr(DSSH_SalesOrderWFType);

        workflowVersionTable = args.caller().getActiveWorkflowConfiguration();

        if(!workflowVersionTable)
        {
            workflowVersionTable = DSSH_SalesOrderWFTypeSubmitManager::findWorkFlowVersionTable();
        }

        workflowSubmitDialog = WorkflowSubmitDialog::construct(workflowVersionTable);

        workflowSubmitDialog.run();
        if (workflowSubmitDialog.parmIsClosedOK())
        {
            SalesTable = args.record();
            // Get comments from the submit to workflow dialog.
            note = workflowSubmitDialog.parmWorkflowComment();

            try
            {
                ttsbegin;
                workflowCorrelationId = Workflow::activateFromWorkflowType(workflowTypeName, SalesTable.RecId, note, NoYes::No);
                SalesTable.DSSH_WorkFlowStatus = DSSH_WorkFlowStatus::Submitted;

                SalesTable.update();
                ttscommit;
                // Send an Infolog message.
                info("Submitted to workflow.");

            }
            catch (Exception::Error)
            {
                error("Error on workflow activation.");
            }

        }

        args.caller().updateWorkFlowControls();
	}

    // <summary
    /// find the WorkflowVersionTable
    /// </summary>
    /// <returns>WorkflowVersionTable</returns>
    public static WorkflowVersionTable findWorkFlowVersionTable()
    {
        WorkflowVersionTable workflowVersionTblBfr;
        WorkflowTable        workflowTblBfr;


        select  firstonly * 
        from workflowVersionTblBfr
        join workflowTblBfr
        where workflowVersionTblBfr.WorkflowTable   == workflowTblBfr.RecId
        && workflowVersionTblBfr.Enabled            == NoYes::Yes
        && workflowTblBfr.TemplateName              == 'DSSH_SalesOrderWFType' 
        && workflowTblBfr.DATAAREA == curExt();


        
        return workflowVersionTblBfr;
        
    }

Comments

Popular posts from this blog

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

SalesLine Reservation in D365fo x++

Create Inventory Journal through Code in D365FO X++