如何自定义 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
// [...]
});
}
}
}
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
// [...]
});
}
}
}