微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PXScalar仅返回零

如何解决PXScalar仅返回零

尝试将标记为不可折扣的项目添加到APInvoice。我在InventoryItem DAC(Nondiscountable)上添加一个选中标记,现在正尝试创建未绑定字段来读取该标记并计算总数。我正在尝试使用DBScalar来完成此任务,但是它似乎不想工作,并且在屏幕上仅显示零。

代码

        public class APInvoice_Extension : PXCacheExtension<APInvoice>
        {
            #region CuryClientTotal
            [PXCurrency(typeof(APInvoice.curyInfoID),typeof(APInvoice_Extension.clientTotal))]
            [PXFormula(typeof(Sub<APInvoice_Extension.clientTotal,APInvoice.curydiscTot>))]
            [PXUIField(displayName = "Client Total")]
            public virtual Decimal? CuryClientTotal { get; set; }
            public abstract class curyClientTotal : PX.Data.IBqlField {}
            #endregion
    
            #region ClientTotal
            [PXDBScalar(typeof(
                Search5<
                APTran.tranAmt,LeftJoin<InventoryItem,On<InventoryItem.inventoryID,Equal<APTran.inventoryID>,And<InventoryItemExt.nondiscountable,Equal<True>>>>,Where<
                    APTran.tranType,Equal<Current<APInvoice.docType>>,And<APTran.refNbr,Equal<Current<APInvoice.refNbr>>,And<APTran.lineType,NotEqual<SOLineType.discount>,And<InventoryItem.inventoryID,IsNull>>>>,Aggregate<Sum<APTran.tranAmt>>>))]
            [PXUIField(displayName = "discountable Total")]
            [PXDecimal(4)]
            public virtual Decimal? ClientTotal { get; set; }
            public abstract class clientTotal : PX.Data.IBqlField { }
            #endregion
    }

我已经通过测试代码运行了查询(临时事件直接写入字段),并获得了正确的结果,但是当我在屏幕上包含[CuryClientTotal]时,它始终为零,并且拒绝更新。我在做什么错了?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。