我已成功修改了通过采购订单页面上的“创建 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 来完成我需要的功能?
创建预付款操作在
Prepayment
命名空间中的 PX.Objects.PO.GraphExtensions.POOrderEntryExt
图扩展上声明。
您需要创建辅助图形扩展,并覆盖其中的 CreatePrepaid 操作。
public class PrepaymentExt : PXGraphExtension<Prepayments, POOrderEntry> {}