我正在從事Dynamics AX7表單開發。我必須在按鈕的'Clicked'方法中編寫代碼,但'Clicked'方法中已經有一些'Sys Layer'代碼。我必須對它施加一些條件。但我不想做'over-layering',我必須用擴展來做,但是如果我在onClicked事件中編寫代碼,問題是,我的代碼在sys層代碼之前或之後運行,但是我需要在該系統層代碼上應用一些條件。在AX7的擴展中寫入事件處理程序
我的問題是,我們可以用擴展事件處理程序來實現這個邏輯嗎?我已經完成了over-layering,但是我需要使用擴展來完成。那麼可以用擴展來做到這一點嗎?
代碼在下面添加。
void clicked()
{
super();
// My logic will be written here
if(result == true) //This is my code, based on above logic I applied this check
{
// start of sys layer code
remainSalesPhysical.realValue(0);
remainInventPhysical.realValue(0);
if (formCtrl)
{
formCtrl.cancelLine();
}
element.closeOk();
// end of sys layer code
} //this is my code
else //this is my code
{ //this is my code
error("Some error message"); //this is my code
} //this is my code
}
感謝@Alex, 是的,你說得對,我們之前和之後的事件,但專門針對上述問題,這些事件也沒有辦法。所以我和代表一起做了。但仍然需要一些覆蓋層委託,但我們需要堅持下去,直到MS介紹一些新的方法。 –
沒有看到更多的代碼,我不明白爲什麼你不能在沒有覆蓋的情況下做到這一點。 'super()'做了一些事情,所以爲了讓你的代碼在你需要的地方得到,你只需要通過按鈕實際上做的事情來獲得'super()'的'post'。 –
請再次關注我的代碼。我已經提到過每件事情。 super()調用後已經有一些sys層的代碼。我想要'if'條件內的代碼。我怎樣才能做到這一點 ? –