如何解决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 举报,一经查实,本站将立刻删除。