【问题标题】:Acumatica-Custom Data field carry from one table to anotherAcumatica-Custom Data 字段从一个表携带到另一个表
【发布时间】:2021-08-11 21:50:06
【问题描述】:

我在SOOrderDiscountDetail 表和ARInvoiceDiscountDetail 表上添加了自定义字段。当我从销售订单屏幕创建发票时,我希望我的自定义字段中的值 SOORderDiscountDetailExtARInvoiceDiscountDetailExt。我目前已经覆盖了SOInvoiceEntry Graph 的InvoiceOrder 方法。这是我尝试过的代码。问题是当我以调试模式运行时,数据被携带,但实际屏幕上没有携带。我错过了什么吗?

我的 DAC 扩展程序

公共类 SOOrderDiscountDetailExt : PXCacheExtension {

    #region UsrEXTDiscount
    [PXDBString]
    [PXUIField(DisplayName="EXTDiscount")]
    public virtual string UsrEXTDiscount { get; set; }
    public abstract class usrEXTDiscount : PX.Data.BQL.BqlString.Field<usrEXTDiscount> { }
    #endregion
}

公共类 SOOrderDiscountDetailExt : PXCacheExtension {

    #region UsrEXTDiscount
    [PXDBString]
    [PXUIField(DisplayName="EXTDiscount")]
    public virtual string UsrEXTDiscount { get; set; }
    public abstract class usrEXTDiscount : PX.Data.BQL.BqlString.Field<usrEXTDiscount> { }
    #endregion
}

这是我的图形扩展

公共类 SOInvoiceEntry_Extension : PXGraphExtension {

    public delegate void InvoiceOrderDelegate(DateTime invoiceDate, PXResult<SOOrderShipment, SOOrder, CurrencyInfo, SOAddress, SOContact> order, PXResultset<SOShipLine, SOLine> details, Customer customer, InvoiceList list, PXQuickProcess.ActionFlow quickProcessFlow, bool groupByDefaultOperation);
    [PXOverride]
    public void InvoiceOrder(DateTime invoiceDate, PXResult<SOOrderShipment, SOOrder, CurrencyInfo, SOAddress, SOContact> order, PXResultset<SOShipLine, SOLine> details, Customer customer, InvoiceList list, PXQuickProcess.ActionFlow quickProcessFlow, bool groupByDefaultOperation,InvoiceOrderDelegate basemethod)
    {
        basemethod?.Invoke(invoiceDate, order, details, customer, list, quickProcessFlow, groupByDefaultOperation);

        PXCache cache = Base.Caches[typeof(SOLine)];
        PXSelectBase<SOLine>transactions=new PXSelect<SOLine, Where<SOLine.orderType, Equal<Current<SOOrder.orderType>>, And<SOLine.orderNbr, Equal<Current<SOOrder.orderNbr>>>>>(Base);
        PXSelectBase<SOOrderDiscountDetail> discountdetail = new PXSelect<SOOrderDiscountDetail,Where<SOOrderDiscountDetail.orderType, Equal<Current<SOOrder.orderType>>,And<SOOrderDiscountDetail.orderNbr, Equal<Current<SOOrder.orderNbr>>>>>(Base);
        TwoWayLookup<SOOrderDiscountDetail, SOLine> discountCodesWithApplicableSOLines = DiscountEngineProvider.GetEngineFor<SOLine, SOOrderDiscountDetail>().GetListOfLinksBetweenDiscountsAndDocumentLines(cache, transactions, discountdetail);
        TwoWayLookup<ARInvoiceDiscountDetail, ARTran> discountCodesWithApplicableARLines = new TwoWayLookup<ARInvoiceDiscountDetail, ARTran>(leftComparer: new ARInvoiceDiscountDetail.ARInvoiceDiscountDetailComparer());
        ARInvoiceDiscountDetail arinvoice = new ARInvoiceDiscountDetail();
        foreach (SOOrderDiscountDetail docGroupDisc in discountCodesWithApplicableSOLines.LeftValues)
        {
            ARInvoice newdoc =new ARInvoice();
            ARInvoiceDiscountDetail dd = new ARInvoiceDiscountDetail();
            SOOrderDiscountDetailExt sodiscountdetailExt = docGroupDisc.GetExtension<SOOrderDiscountDetailExt>();

            ARInvoiceDiscountDetailExt ardiscountdetailExt = PXCache<ARInvoiceDiscountDetail>.GetExtension<ARInvoiceDiscountDetailExt>(dd);

            PXCache<ARInvoiceDiscountDetail>.GetExtension<ARInvoiceDiscountDetailExt>(dd).UsrEXTDiscount = docGroupDisc.GetExtension<SOOrderDiscountDetailExt>().UsrEXTDiscount;
            Base.Caches[typeof(ARInvoiceDiscountDetail)].SetValueExt<ARInvoiceDiscountDetailExt.usrEXTDiscount>(ardiscountdetailExt, sodiscountdetailExt.UsrEXTDiscount);
            Base.Caches[typeof(ARInvoiceDiscountDetail)].Update(ardiscountdetailExt);

}

【问题讨论】:

    标签: customization acumatica


    【解决方案1】:

    黛博拉,

    调用 InvoiceOrderDelegate 最底部的 Base.Actions.PressSave(),它会在记录生成和显示之间丢失。

    【讨论】:

      猜你喜欢
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 2014-03-06
      • 2011-08-30
      • 2015-10-03
      • 2011-02-15
      • 1970-01-01
      • 2012-06-25
      相关资源
      最近更新 更多