如果我覆盖特定屏幕上的方法怎么办。
For example:
假设日志交易屏幕,我已经覆盖了该方法Release()
,我已经让它在Posting Transactions
应用了自General Ledger
定义的情况下停止方法,会先申请吗?Journal Transaction
问问题
142 次
1 回答
1
从我所见,首先调用扩展,然后调用基本调用。如果您认为调用顺序不明确可能会导致处理程序中的特定代码出错,我建议您在被覆盖的方法中显式声明和调用基本方法。
使用 Acumatica 自定义项目编辑器是降低声明语法的最简单方法:
这样,调用顺序就毫无疑问了:
public delegate IEnumerable ReleaseDelegate(PXAdapter adapter);
[PXOverride]
public IEnumerable Release(PXAdapter adapter, ReleaseDelegate baseMethod)
{
// Put your code before calling base
return baseMethod(adapter);
/* Or after calling base
IEnumerable returnValue = baseMethod(adapter);
// put your code to be executed after base here
return returnValue;
*/
}
于 2019-01-04T15:19:18.460 回答