Acumatica-覆盖_createPayments方法

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

我正在尝试在“支票和付款”屏幕(AP302000)上添加自定义字段数据,并将通过“准备付款”屏幕(AP503000)填充数据。我在下面编写了用于创建付款的扩展方法。

**public delegate void _createPaymentsDelegate(List<APAdjust> list, PayBillsFilter filter, CurrencyInfo info, PaymentMethod paymenttype);
[PXOverride]
public void _createPayments(List<APAdjust> list, PayBillsFilter filter, CurrencyInfo info, PaymentMethod paymenttype, _createPaymentsDelegate baseMethod)
{   
     baseMethod?.Invoke(list, filter, info, paymenttype);
}**

我只需要更新用户定义字段。有人可以提供指导或为我指出适当解决方案的方向吗?

任何帮助都会很棒。

谢谢。

acumatica
1个回答
0
投票

我创建了APRegisterExt的dac扩展,并添加了自定义字段UsrABC。

***[PXDBString(50)]
    [PXUIField(DisplayName = "Test")]

    public virtual string UsrABC { get; set; }
    public abstract class usrABC : PX.Data.BQL.BqlString.Field<usrABC> { }***

Check and Payments

此处正常工作,并保存用户定义字段的数据。

也在PayBillsFilterExt中创建了相同的字段。

从“准备付款”屏幕创建支票时,我无法在“支票和付款”屏幕上添加自定义字段数据。

Prepare Payments

***public delegate void _createPaymentsDelegate(List<APAdjust> list, PayBillsFilter filter, CurrencyInfo info, PaymentMethod paymenttype);
        [PXOverride]
        public void _createPayments(List<APAdjust> list, PayBillsFilter filter, CurrencyInfo info, PaymentMethod paymenttype, _createPaymentsDelegate baseMethod)
        {
            foreach (APAdjust adj in list)
            {
                APAdjustExt adjext = PXCache<APAdjust>.GetExtension<APAdjustExt>(adj);
                PayBillsFilterExt pbillext = 
           PXCache<PayBillsFilter>.GetExtension<PayBillsFilterExt>(filter);
                adjext.UsrSendMethod = pbillext.UsrSendMethod;
                APPaymentEntry pe = APPaymentEntry.CreateInstance<APPaymentEntry>();
                var res = payments.Select();
                APPayment ct = (APPayment)res;
                var ds = ct.GetExtension<APRegisterExt>();
                ds.UsrSendMethod = adjext.UsrSendMethod;
                pe.Save.Press();
            }
            baseMethod?.Invoke(list, filter, info, paymenttype);
        }***
© www.soinside.com 2019 - 2024. All rights reserved.