Получите класс SalesFormLetter из формы FormRun SalesEditLines, используя PreHandler AX7 - PullRequest
0 голосов
/ 27 сентября 2018

Мне нужно внести некоторые изменения в closeOk из SalesEditLines .Как я знаю, я не могу изменить стандартные методы, поэтому мне нужно создать обработчик событий для 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();
}

Вопрос в том, как я могу получить доступ к SalesFormLetter через форму SalesEditLines, используя PreHandler?

1 Ответ

0 голосов
/ 27 сентября 2018

Вы можете увидеть следующую строку в init методе SalesEditLines формы

salesFormLetter = element.args().caller();

Итак, ваш callerObject является экземпляром класса SalesFormLetter, вам просто нужно привести его к правильному типу.

Пожалуйста, проверьте следующую ссылку: https://docs.microsoft.com/en-us/dynamicsax-2012/developer/expression-operators-is-and-as-for-inheritance

...