如何在AP 503000屏幕的过程按钮中添加条件

时间:2018-11-07 22:03:44

标签: acumatica acumatica-kb

当我单击处理按钮时,我需要显示一条消息。如果所选的数量大于700而小于所选的数量,则不显示消息。

image01

但是通过单击确定。显示此消息

image02

我的代码是:

image03 image04

非常感谢!

1 个答案:

答案 0 :(得分:0)

避免在RowSelected方法中显示对话框。每次获取记录时都会调用该方法,因此它将以无法控制的循环显示它。

还要检查对话框的返回值,以了解按下了哪个按钮。

要在按下“处理”按钮时显示对话框,请覆盖“处理”方法。您可能需要根据上下文(PXGraph / PXGraphExtension)更改“基础”:

[PXProcessButton]
[PXUIField(DisplayName = "Process", MapEnableRights = PXCacheRights.Update, MapViewRights = PXCacheRights.Update)]
protected override IEnumerable Process(PXAdapter adapter)
{
    if (Base.Ask("ConfirmationTitle", "ConfirmationMessage", MessageButtons.YesNo) != WebDialogResult.Yes)
    {
        // Click on No, don't execute the base Process action
        return adapter.Get();
    }

    // Click on Yes, execute the base Process action
    return Base.Process(adapter);               
}