【问题标题】:Acumatica-Copying data from custom field on the Sales order discount detail tab to custom field on the Invoice discount detail tabAcumatica-将销售订单折扣详细信息选项卡上的自定义字段中的数据复制到发票折扣详细信息选项卡上的自定义字段
【发布时间】:2021-08-06 01:07:03
【问题描述】:

我在SOOrderDiscountDetailARInvoiceDiscountDetail DAC 中添加了名为CustomField 的自定义字段。

public class SOOrderDiscountDetailExt : PXCacheExtension<PX.Objects.SO.SOOrderDiscountDetail>
{
    [PXDBString(40)]
    [PXUIField(DisplayName="CustomField")]
    public virtual string UsrCustomField { get; set; }
    public abstract class usrCustomField : PX.Data.BQL.BqlString.Field<usrCustomField> { }
}

public class ARInvoiceDiscountDetailExt : PXCacheExtension<PX.Objects.AR.ARInvoiceDiscountDetail>
{
    [PXDBString(40)]
    [PXUIField(DisplayName="CustomField")]
    public virtual string UsrCustomField { get; set; }
    public abstract class usrCustomField : PX.Data.BQL.BqlString.Field<usrCustomField> { }
}

我尝试覆盖SOInvoiceEntry 中的InvoiceOrder 方法。 我是否覆盖了正确的方法以及如何覆盖原始方法?

【问题讨论】:

  • 我认为正确的做法是先将这个新字段复制到 Shipment 中。然后从 Shipment 副本到 Invoice。
  • 但据我了解,发货屏幕上没有折扣详情选项卡。

标签: customization acumatica


【解决方案1】:

看看 InvoiceCreated 方法是否适合你的情况。

以下是要覆盖的示例

 public delegate void InvoiceCreatedDelegate(ARInvoice invoice, SOOrder source);

        [PXOverride]
        public void InvoiceCreated(ARInvoice invoice, SOOrder source, InvoiceCreatedDelegate baseMethod)
        {
            baseMethod(invoice, source);

            if (invoice != null && source != null)
            {
                ARInvoiceExt invoiceExt = invoice.GetExtension<ARInvoiceExt>();
                SOOrderExt orderExt = source.GetExtension<SOOrderExt>();

                //your code here ... 
                
            }
        }
        #endregion

【讨论】:

    猜你喜欢
    • 2021-07-04
    • 2015-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多