在PMQuoteMaint中覆盖CopyToQuote。

问题描述 投票:0回答:1

我试图覆盖PMQuoteMaint中的CopyToQuote方法,但当我加载屏幕时,我得到一个错误,说没有找到该签名的方法。我验证了该方法在PMQuoteMaint中是public的,我的方法签名也符合。我觉得我错过了一些明显的东西,但我不知道是什么地方没有工作。这是我的代码。

    public delegate void CopyToQuoteDelegate(PMQuote currentquote, PMQuoteMaint.CopyQuoteFilter param);
    [PXOverride]
    public void CopyToQuote(PMQuote currentquote, PMQuoteMaint.CopyQuoteFilter param, CopyToQuoteDelegate baseMethod)
    {
        //My Code here
        baseMethod(currentquote, param);
    }

先谢谢你的帮助!

acumatica
1个回答
1
投票

在项目报价界面(PM304500)中,可以扩展覆盖Action "Copy Quote".该动作返回一个枚举器,并接受PXAdapter作为输入参数.在你的情况下,"CopyToQuote "方法在基础图中 PMQuoteMaint,没有标记为虚拟,所以你不能覆盖它。 如果你想改变基本行为,我建议你覆盖Action,并添加你的自定义逻辑。

    public delegate IEnumerable CopyQuoteDelegate(PXAdapter adapter);
    [PXOverride]
    public IEnumerable CopyQuote(PXAdapter adapter, CopyQuoteDelegate baseMethod)
    {
        // add your custom logic here
        // to override the base logic           

        return adapter.Get();  //just returns the enumerator
    }
© www.soinside.com 2019 - 2024. All rights reserved.