PXLongOperation中的PXRedirectRequired - 不重定向

时间:2017-08-02 12:10:05

标签: acumatica

我确定我遗漏了一些小问题,但是在BLC或ASPX页面中是否需要指定任何特定内容以允许重定向在PXLongOperation中运行?

在我的情况下,我正在为CRCaseMaint屏幕创建一个自定义按行动创建销售订单。

作为基础,在OpportunityMaint的CreateSalesOrder操作中,在长时间运行的进程中调用“DoCreateSalesOrder”方法

                PXLongOperation.StartOperation(this, delegate()
                {
                    var grapph = PXGraph.CreateInstance<OpportunityMaint>();
                    grapph.Opportunity.Current = opportunity;
                    grapph.CreateOrderParams.Current = CreateOrderParams.Current;
                    grapph.DoCreateSalesOrder();
                });

DoCreateSalesOrder方法的最后一步是重定向到销售订单屏幕

        throw new PXRedirectRequiredException(docgraph, "");

看到这个功能与我试图实现的功能大约99%相似,我在自定义中复制了这个功能。

一切都按照我的预期运行(我的操作被调用,我的智能面板显示,我的创建销售订单方法调用),除非我在PXLongOperation中放置我的等效“DoCreateSalesOrder”方法,重定向永远不会发生。

如果我注释掉PXLongOperation包装器,该方法将作为最后一步正确地重定向到销售订单页面。

附加调试器显示销售订单文档存在且它正在进行重定向,但最终重定向没有发生。

如前所述,我确信这是我忘了设置的一些小问题,但是有没有人遇到过这个并有任何想法?

1 个答案:

答案 0 :(得分:1)

回答我自己的问题,因为我知道这是一个小问题,但可能会帮助别人。

PXLongOperation定义不正确。

我有这个:

PXLongOperation.StartOperation(Base, delegate ()

但是看看这是一个GraphExtension应该是这样的:

{{1}}

更改后,它按预期工作