【发布时间】:2020-03-11 17:31:03
【问题描述】:
我正在尝试显示使用 PXFormula 计算的值,但该字段未显示该值。 我的 CustomDAC 名为 EDITran
public class EDITran : IBqlTable
{
#region Doctype
[PXDBString(50, IsKey = true, IsUnicode = true, InputMask = "")]
[PXUIField(DisplayName = "Doctype")]
[PXStringList
(new string[]
{"SO", "SHI", "INV" },
new string[]
{"Sales Order", "Shipment", "Invoice"}
)]
public virtual string Doctype { get; set; }
public abstract class doctype : PX.Data.BQL.BqlString.Field<doctype> { }
#endregion
#region Erprefnbr
[PXDBString(30, IsKey = true, IsUnicode = true, InputMask = "")]
[PXUIField(DisplayName = "ERP RefNbr")]
public virtual string Erprefnbr { get; set; }
public abstract class erprefnbr : PX.Data.BQL.BqlString.Field<erprefnbr> { }
#endregion
#region Sync
[PXDBBool()]
[PXUIField(DisplayName = "Sync")]
public virtual bool? Sync { get; set; }
public abstract class sync : PX.Data.BQL.BqlBool.Field<sync> { }
#endregion
}
}
所以我要在销售订单屏幕上显示同步字段的值。关键是 ERP RefNbr(即 SOOrder.OrderNbr)
我已使用此属性在 SOOrderExt DAC 上添加了自定义非持久字段
using PX.Objects.SO;
[PXBool]
[PXUIField(DisplayName="EDI Sync" , Enabled = false)]
[PXFormula(typeof(Selector<SOOrder.orderNbr,
Selector<EDITran.erprefnbr,
EDITran.sync>>))]
但是当我在 EDITran 中添加一条记录并尝试在 SOOrder Form 中对其进行可视化并检查 EDITran.Sync = 1 时,它没有显示保存的值。
我做错了什么?是否正确使用了 PXFormula?
【问题讨论】:
标签: acumatica