我需要在执行现有操作后执行更多操作。例如,在分配>销售订单>装运>操作>确认装运后,我需要将所有跟踪号码填充到另一个文本框中。 请建议。延长现有活动
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. 延伸NavigationDrawer活动
- 3. 拖延活动 - VBA
- 4. 活动堆叠在现有活动上
- 5. 活动家长
- 6. 启动时延迟活动
- 7. 动态ListView延伸活动
- 8. 如何显示在从类敬酒消息不延长活动
- 9. ViewPager + SurfaceView =长延时导航回活动时
- 10. 调出现有的活动
- 11. UIButton长按活动
- 12. 如何在从另一个活动调用活动时出现延迟?
- 13. 我的活动延伸AppCompatActivity和启动
- 14. 活动启动延迟(使用WakeLock)
- 15. 延长角2现有的类单张TileLayer
- 16. 延长的QMainWindow现有UI通过使用Qt Designer
- 17. 的JPanel没有出现正确,同时延长JFrame的
- 18. 子菜单出现的延迟时间有多长?
- 19. 塞格动画黑屏/毛刺&延长滑动手势长度
- 20. 延长addDocumentListener
- 21. 延长BufferedImage
- 22. 延长htmloptionscollection
- 23. 蟒蛇延长
- 24. 延长jQuery的
- 25. 延长电子
- 26. 延长枝IF
- 27. 多个家长活动
- 28. Windows Workflow Foundation 4.0选择包含延迟活动的活动
- 29. 在活动中画线从'活动'延伸
- 30. Android:在活动中使用ButterKnife从其他活动延伸