我需要在執行現有操作後執行更多操作。例如,在分配>銷售訂單>裝運>操作>確認裝運後,我需要將所有跟蹤號碼填充到另一個文本框中。 請建議。延長現有活動
Q
延長現有活動
0
A
回答
1
在我看來,最好的事情就是重寫庫存方法的邏輯。這將允許您添加您所需的代碼,而無需觸摸基本方法,也可以在調用基本方法之前和之後驗證信息。
在您的例子中,「確認出貨」的動作,最終執行其定義爲下面的方法「ConfirmShipment」:
public virtual void ConfirmShipment(SOOrderEntry docgraph, SOShipment shiporder)
{
.....
}
爲了自定義在這裏的邏輯,你有幾種選擇。
- 創建替代方法(添加到隊列的方法,基地稱爲第一,那麼所有「覆蓋」的方法)
- 創建首先調用股票之一的方法,那麼你的代碼。 - 這實際上將「替換」股票邏輯,但允許您仍然調用基本方法。在這樣做的時候,你可以在調用基礎之前運行一些檢查。
要做到第二,你會做以下
在代碼中創建第一個委託:
public delegate void ConfirmShipmentDelegate(SOOrderEntry docgraph, SOShipment shiporder)
然後定義您的覆蓋方法:
[PXOverride]
public virtual void ConfirmShipment(SOOrderEntry docgraph, SOShipment shiporder, ConfirmShipmentDelegate baseMethod = null)
{
// Call our base method first if it exists
if (baseMethod != null)
{
baseMethod(docgraph,shiporder);
}
// Do my stuff here
}
夫婦項目注意這裏。
該定義有第三個參數給我們的代表,這允許我們調用stock方法,然後做進一步的工作。它還告訴Acumatica框架我們的方法應優先於庫存方法。
stock方法在實際代碼中由baseMethod調用調用。
以這種方式創建擴展可以在不必每次都完全重新定義方法的情況下進行升級。
第二種方法可能只是重寫stockcode。這與以下語法
[PXOverride]
public virtual void ConfirmShipment(SOOrderEntry docgraph, SOShipment shiporder)
{}
完成時採取這種方法,股票方法是首先調用,然後你重寫方法被調用。
這兩個將在圖形擴展處理定義爲:
public class SOShipmentEntryExt : PXGraphExtension<SOShipmentEntry>
之前嘗試要麼,我想看看在Wiki上PXOverride的文章,因爲他們提供進一步的例子/情況下對這些
相關問題
- 1. 啓動另一項活動不會延長活動超類
- 2. 從不延長的類調用活動活動
- 3. 延長現有令牌的過期
- 4. 拖延活動 - VBA
- 5. 延伸NavigationDrawer活動
- 6. 活動堆疊在現有活動上
- 7. 活動家長
- 8. 啓動時延遲活動
- 9. 動態ListView延伸活動
- 10. jQuery的延長()在延長()
- 11. ViewPager + SurfaceView =長延時導航回活動時
- 12. UISearchDisplayController變爲活動之前的長延遲
- 13. 如何將活動的意圖傳遞給延長LinearLayout的類
- 14. 如何顯示在從類敬酒消息不延長活動
- 15. 如何延長活動對象的生命週期
- 16. 長時間運行後延遲自旋活動指標
- 17. 從不是活動的緩衝區的延長線
- 18. 停止延期活動,延期。
- 19. 延長UIPickerView [selectRow:inComponent:animated:]的動畫
- 20. 調出現有的活動
- 21. UIButton長按活動
- 22. 如何在從另一個活動調用活動時出現延遲?
- 23. 將活動延伸到AppCompatActivity
- 24. 與家長溝通活動,提升家長活動
- 25. 沒有啓動器活動發現Android
- 26. Android沒有啓動器活動發現
- 27. 我的活動延伸AppCompatActivity和啓動
- 28. 活動啓動延遲(使用WakeLock)
- 29. 子菜單出現的延遲時間有多長?
- 30. 的JPanel沒有出現正確,同時延長JFrame的