如何修改采购订单上的创建预付款操作/按钮?

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

我已成功修改了通过采购订单页面上的“创建 AP 账单”操作创建 AP 账单时的流程,但当用户想要创建预付款时,我需要执行相同的操作。

为了修改采购订单中 AP 账单的创建,我刚刚创建了一个委托和新的 InvoicePOOrder 函数。但由于预付款是预付款屏幕的弹出窗口,因此它的工作方式似乎不同。我在代码中搜索了正确的方法,但无济于事。我找到的唯一部分是 CodeRepository.xml 文件。

    public PXAction<POOrder> createPrepayment;

    [PXUIField(DisplayName = "Create Prepayment Request", MapEnableRights = PXCacheRights.Select,
        MapViewRights = PXCacheRights.Select, Visible = true)]
    [PXButton(OnClosingPopup = PXSpecialButtonType.Cancel)]
    public virtual void CreatePrepayment()
    {
        if (Base.Document.Current != null)
        {
            Base.Save.Press();
            var target = PXGraph.CreateInstance<APInvoiceEntry>();
            var prepaymentExt = target.GetExtension<APInvoiceEntryExt.Prepayments>();
            prepaymentExt.AddPOOrderProc(Base.Document.Current, true);

            throw new PXPopupRedirectException(target, "New Prepayment", true);
        }
    }

是否可以直接在我的自定义中访问它,或者我是否需要修改 xml 来完成我需要的功能?

c# acumatica acumatica-kb
1个回答
0
投票

创建预付款操作在

Prepayment
命名空间中的
PX.Objects.PO.GraphExtensions.POOrderEntryExt
图扩展上声明。

您需要创建辅助图形扩展,并覆盖其中的 CreatePrepaid 操作。

public class PrepaymentExt : PXGraphExtension<Prepayments, POOrderEntry> {}
© www.soinside.com 2019 - 2024. All rights reserved.