Axapta 为什么工作流事件处理程序不执行其工作?

Axapta 为什么工作流事件处理程序不执行其工作?,axapta,Axapta,我一步一步地创建工作流,以便能够批准项目 最后,工作流的一部分只是部分工作。工作流是可见的,它正在从更改项目状态,但它看起来好像从未调用该方法,因此它不会将状态更改为“已批准” 当工作流被取消时,状态变为“已拒绝”,因此有点奇怪 所以我的问题是:AX工作流的哪个部分调用了方法completed? Microsoft dynamics AX 2012 R3要批准/拒绝提交到工作流的工作项,请尝试以下代码段,例如批准项目预算: ProjId _projId = '1

我一步一步地创建工作流,以便能够批准项目

最后,工作流的一部分只是部分工作。工作流是可见的,它正在从更改项目状态,但它看起来好像从未调用该方法,因此它不会将状态更改为“已批准”

当工作流被取消时,状态变为“已拒绝”,因此有点奇怪

所以我的问题是:AX工作流的哪个部分调用了方法completed
Microsoft dynamics AX 2012 R3要批准/拒绝提交到工作流的工作项,请尝试以下代码段,例如批准项目预算:

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);
}
ProjId _ProjId='120152';
ProjBudget _ProjBudget=ProjBudget::findOrCreateProjectBudget(_projId);
WorkflowWorkItemTable WorkflowWorkItemTable;
同时选择workflowWorkItemTable,其中
(workflowWorkItemTable.Type==WorkflowWorkItemType::WorkItem)&&
(workflowWorkItemTable.Status==WorkflowWorkItemStatus::Pending)&&
//workflowWorkItemTable.DueDateTime
我无法访问Murray Fife的指南,但以下博客对我的工作流程有很大帮助:

  • 尤其是MSDN
  • ,适用于AX 2009

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

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);
}
ProjId _ProjId='120152';
ProjBudget _ProjBudget=ProjBudget::findOrCreateProjectBudget(_projId);
WorkflowWorkItemTable WorkflowWorkItemTable;
同时选择workflowWorkItemTable,其中
(workflowWorkItemTable.Type==WorkflowWorkItemType::WorkItem)&&
(workflowWorkItemTable.Status==WorkflowWorkItemStatus::Pending)&&
//workflowWorkItemTable.DueDateTime
我无法访问Murray Fife的指南,但以下博客对我的工作流程有很大帮助:

  • 尤其是MSDN
  • ,适用于AX 2009

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

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);
}
ProjId _ProjId='120152';
ProjBudget _ProjBudget=ProjBudget::findOrCreateProjectBudget(_projId);
WorkflowWorkItemTable WorkflowWorkItemTable;
同时选择workflowWorkItemTable,其中
(workflowWorkItemTable.Type==WorkflowWorkItemType::WorkItem)&&
(workflowWorkItemTable.Status==WorkflowWorkItemStatus::Pending)&&
//workflowWorkItemTable.DueDateTime
我无法访问Murray Fife的指南,但以下博客对我的工作流程有很大帮助:

  • 尤其是MSDN
  • ,适用于AX 2009

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

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);
}
ProjId _ProjId='120152';
ProjBudget _ProjBudget=ProjBudget::findOrCreateProjectBudget(_projId);
WorkflowWorkItemTable WorkflowWorkItemTable;
同时选择workflowWorkItemTable,其中
(workflowWorkItemTable.Type==WorkflowWorkItemType::WorkItem)&&
(workflowWorkItemTable.Status==WorkflowWorkItemStatus::Pending)&&
//workflowWorkItemTable.DueDateTime
我无法访问Murray Fife的指南,但以下博客对我的工作流程有很大帮助:

  • 尤其是MSDN
  • ,适用于AX 2009

您是否阅读了原始指南文章()的评论?您是否尝试与指南的作者联系?您是否阅读了原始指南文章()的评论?您是否尝试联系指南的作者?您是否阅读了原始gui的注释