如何自定义 AP505200 屏幕上的处理按钮。阿库马提卡

How to customize the Process button on the AP505200 screen. Acumatica

AP 505200屏幕上的"process"按钮应该用什么方法自定义。 当我按下处理按钮

时,我需要在某个table中记录记录

非常感谢!

该方法映射到 Process/Process 使用处理数据视图的 SetProcessDelegate 方法的所有操作。

首先定位到AP505200屏幕的Graph(APReleaseChecks):

在源代码屏幕中搜索 APReleaseChecks 图并找到 SetProcessDelegate 方法:

APPaymentList.SetProcessDelegate(list => ReleasePayments(list, action));

流程委托 ReleasePayments 方法是静态的,因此您无法轻易覆盖它。 尝试使用 SetProcessDelegate 调用您自己的流程委托,该委托将依次调用基础流程委托。

public class APReleaseChecks_Extension : PXGraphExtension<APReleaseChecks>
{
    public virtual void ReleaseChecksFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
    {
        ReleaseChecksFilter filter = e.Row as ReleaseChecksFilter;

        if (filter != null)
        {
            Base.APPaymentList.SetProcessDelegate(delegate (List<APPayment> list)
            {
                // Do processing on list items before base process delegate
                // [...]

                // Call base process delegate
                APReleaseChecks.ReleasePayments(list, filter.Action);

                // Do processing on list items after base process delegate
                // [...]
            });
        }
    }
}