Если вы разрабатываете пользовательскую форму с нуля, то да, как @DAXaholic указал, что вы можете переопределить run
и init
методы непосредственно в вашей форме, а затем реализовать свою пользовательскую логику там, как вы делали в предыдущих версиях AX.
Однако наложение сильно не рекомендуется в D365 и больше не будет поддерживаться Microsoft.Это означает, что если вы настраиваете стандартную форму или любую другую форму, которая не входит в тот же пакет, вы должны использовать подход расширяемости для реализации пользовательской логики.Это может быть достигнуто с помощью extensions и обработчиков событий .
Предположим, у вас есть форма и вам необходимо выполнить некоторый код до и после инициализации формы.Вместо наложения объекта и переопределения метода init
вы можете создать класс обработчика событий и подписаться на события OnInitializing
и OnInitialized
:
[FormEventHandler(formStr(Test), FormEventType::Initializing)]
public static void Test_OnInitializing(xFormRun sender, FormEventArgs e)
{
// your code here
}
[FormEventHandler(formStr(Test), FormEventType::Initialized)]
public static void Test_OnInitialized(xFormRun sender, FormEventArgs e)
{
// your code here
}