AP 505200 屏幕上的“进程”按钮应该使用什么方法来自定义。当我按下处理按钮时,我需要在某个表中记录记录
提前谢谢了!
使用处理数据视图的 SetProcessDelegate 方法将该方法映射到 Process/Process All 操作。
首先找到 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
// [...]
});
}
}
}