预定进程 return

Scheduled process return

我已经安排了 ProcessAll 操作。我有一个

throw new PXOperationCompletedException(statusText);

如果过程中没有错误,则在例程结束时。但是,这会导致计划在“自动化计划”屏幕上显示为带有红色 X 图标。注释掉异常允许计划显示一个绿色的复选标记,但是当鼠标悬停在屏幕顶部的复选标记上时,状态文本不会返回,也不会显示在常规流程页面上。是否有另一个 PXOperationCompleted 变体来处理这个问题?

PXProcessing class 包含以下静态方法:

  • PXProcessing.SetCurrentItem - 设置当前处理的项目
  • PXProcessing.SetError - 设置错误信息
  • PXProcessing.SetWarning - 设置警告信息
  • PXProcessing.SetInfo - 设置信息消息(绿色复选标记)
  • PXProcessing.SetProcessed - 设置成功标志

public static void ProcessDelegate(List<DAC> dacRecords)
{
    int rowIndex = 0;
    bool isError = false;

    foreach (DAC dacRecord in dacRecords)
    {
        PXProcessing<DAC>.SetCurrentItem(dacRecord);

        try
        {
            // Set Error Message
            PXProcessing<DAC>.SetError(rowIndex, new PXException("Error Message"));

            // Set Warning Message
            PXProcessing<DAC>.SetWarning(rowIndex, new PXException("Warning Message"));

            // Set Info Message (green check mark)
            PXProcessing<DAC>.SetInfo(rowIndex, "The record has been processed successfully.");  
        }
        catch (Exception ex)
        {
            PXProcessing<DAC>.SetError(rowIndex, new PXException(ex.ToString()));
            isError = true;
        }

        rowIndex++;
    }

    if (isError)
    {
        throw new PXOperationCompletedWithErrorException();
    }
    else
    {                
        PXProcessing<DAC>.SetProcessed()      
    }
}

这似乎是 Acumatica 方面的一个潜在问题。抛出 PXOperationCompletedException 不应导致在自动化计划屏幕上显示错误状态。

为了回答您的问题,在后台操作结束时抛出 PXOperationCompletedException 是目前唯一受支持的选项,可以为成功完成的流程显示自定义消息。

我已将所有详细信息发送给 Acumatica 工程团队进行审核。希望该修复程序将很快在即将发布的更新之一中发布。