需要调整动作的工作方式

时间:2017-07-28 17:53:40

标签: acumatica

我必须调整动作的工作方式。我知道我无法调整运行操作本身的代码,所以有没有办法在执行特定操作时执行额外的代码?

1 个答案:

答案 0 :(得分:1)

您只需在扩展程序中声明操作与基本操作相同,以及#34;覆盖"

以下是覆盖GL日记帐分录上的查看源文档操作的示例:

public class JournalEntryMyExtension : PXGraphExtension<JournalEntry>
{
    public PXAction<Batch> viewDocument;
    [PXLookupButton]
    [PXUIField(DisplayName = "View Source Document", MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select)]
    public virtual IEnumerable ViewDocument(PXAdapter adapter)
    {
        // Logic Before Base Action

        Base.viewDocument.Press(adapter);

        // Logic After Base Action

        return adapter.Get();
    }
}

以下是直接从基础图进行比较的操作:

public PXAction<Batch> viewDocument;
[PXUIField(DisplayName = Messages.ViewSourceDocument, MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select)]
[PXLookupButton()]
public virtual IEnumerable ViewDocument(PXAdapter adapter)
{
    if (this.GLTranModuleBatNbr.Current != null)
    {
        GLTran tran = (GLTran) this.GLTranModuleBatNbr.Current;

        OpenDocumentByTran(tran, BatchModule.Current);
    }

    return adapter.Get();
}