使用 PreHandler AX7 从 SalesEditLines 表单 formRun 获取 SalesFormLetter class
Get SalesFormLetter class from SalesEditLines form formRun using PreHandler AX7
我需要对 SalesEditLines 表单的 closeOk 进行一些更改。据我所知,我无法更改标准方法,因此我需要为 closeOk 创建一个事件处理程序。
[PreHandlerFor(formStr(SalesEditLines), formMethodStr(SalesEditLines, closeOk))]
public static void SalesEditLines_Pre_closeOk(XppPrePostArgs args)
{
FormRun sender = args.getThis() as FormRun;
Object callerObject = sender.args().caller();
}
问题是 - 如何使用 PreHandler 通过 SalesEditLines 表单 formRun 访问 SalesFormLetter?
你可以在SalesEditLines
形式的init
方法中看到下面一行
salesFormLetter = element.args().caller();
所以您的 callerObject
是 SalesFormLetter class 的实例,您只需将其转换为正确的类型即可。
请检查以下内容link:
https://docs.microsoft.com/en-us/dynamicsax-2012/developer/expression-operators-is-and-as-for-inheritance
我需要对 SalesEditLines 表单的 closeOk 进行一些更改。据我所知,我无法更改标准方法,因此我需要为 closeOk 创建一个事件处理程序。
[PreHandlerFor(formStr(SalesEditLines), formMethodStr(SalesEditLines, closeOk))]
public static void SalesEditLines_Pre_closeOk(XppPrePostArgs args)
{
FormRun sender = args.getThis() as FormRun;
Object callerObject = sender.args().caller();
}
问题是 - 如何使用 PreHandler 通过 SalesEditLines 表单 formRun 访问 SalesFormLetter?
你可以在SalesEditLines
形式的init
方法中看到下面一行
salesFormLetter = element.args().caller();
所以您的 callerObject
是 SalesFormLetter class 的实例,您只需将其转换为正确的类型即可。
请检查以下内容link: https://docs.microsoft.com/en-us/dynamicsax-2012/developer/expression-operators-is-and-as-for-inheritance