首页 > 解决方案 > 如何获得自定义处理状态屏幕以显示进度或处理的记录

问题描述

我有一个自定义流程屏幕,它的工作方式与预期的差不多,只是在处理过程中弹出的状态/监控屏幕不显示进度,或者像在其他库存处理屏幕上那样处理的记录。

这是库存处理弹出窗口的样子:

在此处输入图像描述

这就是我的自定义弹出窗口的样子。它不显示“剩余”,并且在完成之前几乎看起来像这样:

在此处输入图像描述

然后在完成时显示:

在此处输入图像描述

我需要在处理屏幕中添加什么来获得此功能吗?

非常感谢...

标签: acumatica

解决方案


在您的处理方法中,您是使用 PXProcessing.SetCurrentItem(object) 设置当前处理项,然后使用 PXProcessing.SetProcessed() 或 PXProcessing.SetError(ExceptionObject) 设置当前处理项的状态。

例子:

public PXProcessing<SOLine> linesToBeProcessed;

protected virtual void ProcessOrderLines(List<SOLines> lines)
{
    foreach (SOLine line in lines)
    {
        PXProcessing<SOLine>.SetCurrentItem(line);
        try
        {
            //logic

            PXProcessing<SOLine>.SetProcessed();
        }
        catch (Exception ex)
        {
            PXProcessing<SOLine>.SetError(ex);
        } 
    }
}

注意:在这些方法中使用的 DACNAME 是在声明的 PXProcessing 视图中使用的主 DAC。


推荐阅读