问题描述
尝试将标记为不可折扣的项目添加到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 (将#修改为@)