由于您使用的是使用货币的字段,因此必须始终在数据库中创建2列。第一个是没有应用货币的字段。第二个将应用货币。
使用该属性时 PXDBCurrency ,如文档中所述,第一个参数用于传递货币信息。第二个参数用于传递字段而不应用其中的货币。
PXDBCurrency
所以,如果你想获得总利润 SOLine ,你需要在中创建2个字段 SOLine DAC扩展: TotalProfit 和 CuryTotalProfit 。
SOLine
TotalProfit
CuryTotalProfit
这是2个字段的代码:
#region CuryTotalProfit public abstract class curyTotalProfit : PX.Data.IBqlField { } protected Decimal? _CuryTotalProfit; [PXDBCurrency(typeof(SOLine.curyInfoID), typeof(totalProfit))] [PXUIField(DisplayName = "Total Profit")] [PXFormula(typeof(Sub<SOLine.curyLineAmt, SOLine.curyExtCost>))] [PXDefault(TypeCode.Decimal, "0.0")] public virtual Decimal? CuryTotalProfit { get { return this._CuryTotalProfit; } set { this._CuryTotalProfit = value; } } #endregion #region TotalProfit //This field has no Display UI public abstract class totalProfit : PX.Data.IBqlField { } protected Decimal? _TotalProfit; [PXDBDecimal(4)] [PXDefault(TypeCode.Decimal, "0.0")] public virtual Decimal? TotalProfit { get { return this._TotalProfit; } set { this._TotalProfit = value; } } #endregion