Получить класс SalesFormLetter из формы FormRun SalesEditLines, используя PreHandler AX7

Мне нужно внести некоторые изменения в 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 через форму FormEun SalesEditLines, используя PreHandler?

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам