为什么工作流事件处理程序不能正常工作?

时间:2014-09-11 07:44:57

标签: axapta

我按照this guide的步骤逐步创建了可以批准项目的工作流程。

最后,工作流程的一部分只是部分工作。工作流程可见,它正在更改"NotSubmitted" to "Submitted"项的状态,但看起来方法completed从未被调用,因此它不会将状态更改为已批准

取消工作流程后,状态将更改为"已拒绝"所以这有点奇怪。

所以我的问题是:this guide的AX工作流程的哪一部分调用workflowEventHandler 上的方法已完成? Microsoft Dynamics AX 2012 R3

1 个答案:

答案 0 :(得分:3)

要批准/拒绝提交到工作流程的工作项,请尝试以下代码段,例如批准项目预算:

ProjId                  _projId = '120152';
ProjBudget              _projBudget = ProjBudget::findOrCreateProjectBudget(_projId);
WorkflowWorkItemTable   workflowWorkItemTable;

while select workflowWorkItemTable where
    (workflowWorkItemTable.Type == WorkflowWorkItemType::WorkItem) &&
    (workflowWorkItemTable.Status == WorkflowWorkItemStatus::Pending) &&
    //workflowWorkItemTable.DueDateTime < DateTimeUtil::getSystemDateTime() &&
    workflowWorkItemTable.RefRecId == _projBudget.RecId &&
    workflowWorkItemTable.RefTableId == _projBudget.TableId
{
    WorkflowWorkItemActionManager::dispatchWorkItemAction(
                        workflowWorkItemTable, 
                        "@SYS325206",//Approved budget 
                        curUserId(), 
                        WorkflowWorkItemActionType::Complete, 
                        "ProjBudgetOrigWorkflowApprove",
                        false);
}

我没有访问Murray Fife的指南,但以下博客帮助我测量了工作流程: