Tuesday, February 4, 2025

Code to get workflow assignee in X++

     public UserId getWorkflowAssignee()

    {

        WorkflowTrackingStatusTable workflowTrackingStatusTable;

        WorkflowWorkItemTable workflowWorkItemTable;

        UserInfo userInfo;

        UserId ret;

 

        select firstonly workflowWorkItemTable

            where workflowWorkItemTable.Type == WorkflowWorkItemType::WorkItem

                && workflowWorkItemTable.Status == WorkflowWorkItemStatus::Pending

            join workflowTrackingStatusTable

                where workflowWorkItemTable.CorrelationId == workflowTrackingStatusTable.CorrelationId

                    && workflowTrackingStatusTable.ContextTableId == this.TableId //your table id

                    && workflowTrackingStatusTable.ContextRecId == this.RecId 

                    && workflowTrackingStatusTable.TrackingStatus == WorkflowTrackingStatus::Pending

            join userInfo

                where workflowWorkItemTable.UserId == userInfo.id;

 

        if (workflowWorkItemTable.RecId)

        {

            ret = userInfo.id;

        }

        return ret;

    }

No comments:

Post a Comment