单击“释放”按钮时收据屏幕希望挂钩

Receipt screen looking to hook into the when the Release button is clicked

我正在研究如何在收据页面上按下释放按钮时挂钩到操作中。我们现有的开发人员有一些代码具有以下内容:

public class INReceiptEntryPXExt : PXGraphExtension<INReceiptEntry>
{
    PXOverride public delegate IEnumerable ReleaseDelegate(PXAdapter adapter);
    [PXOverride]
    public IEnumerable Release(PXAdapter adapter, ReleaseDelegate baseMethod)
    {
        PXGraph.InstanceCreated.AddHandler<INReleaseProcess>((graph) =>
        {
          graph.RowPersisting.AddHandler<INLotSerialStatus>((cache, e) =>
          {
            INLotSerialStatus lss = e.Row as INLotSerialStatus;

我只是觉得这不是正确的做法,我找不到正确处理它的好例子。任何帮助将不胜感激。我在这方面完全是个新手。

您应该谨慎尝试覆盖发布或坚持。发布或持久化方法会导致并发性问题。我认为一般的经验法则是不要覆盖这些方法。话虽如此,我在做错事方面有很多经验。如果您坚持要覆盖此事件,则需要像这样调用基本方法。 var baseMethodResult = baseMethod(适配器);然后 return thebaseMethodResulst 完成后作为 IEnumerable。您可以在该过程之前或之后执行您的自定义逻辑,但正如我之前提到的那样,尝试过程中会遇到龙和很多麻烦。我的建议是将您的逻辑放入 PXAction 定义中,然后使用自动工作流触发它,该工作流将在您的屏幕上查找特定状态。这将避免完全覆盖这些方法。