4

我在自定义项目中对 CROpportunity 进行了 DAC 扩展,该项目在 6.10 和 2017R2 中运行良好。现在我将我的网站升级到 2018R1,我的自定义字段不再起作用。保存记录后,即使数据库正确保存了值,自定义字段也会变为空白。

为什么会这样?

4

1 回答 1

8

在 2018R1 版本中,PX.Objects.CR.CROpportunity成为PX.Objects.CR.Standalone.CROpportunity.

为了使投影正确获取其自定义字段值,您还需要自定义独立 DAC 并将PX.Objects.CR.CROpportunity点的 BQL 字段设置为PX.Objects.CR.Standalone.CROpportunity.

这是一个例子:

public class CROpportunityExt : PXCacheExtension<PX.Objects.CR.CROpportunity> 
{
    #region UsrTest
    [PXDBDecimal(BqlField = typeof(CROpportunityStandaloneExt.usrTest))]
    [PXUIField(DisplayName="Test Field")]

    public virtual Decimal? UsrTest { get; set; }
    public abstract class usrTest : IBqlField { }
    #endregion
}

public class CROpportunityStandaloneExt : PXCacheExtension<PX.Objects.CR.Standalone.CROpportunity>
{
    #region UsrTest
    [PXDBDecimal]
    [PXUIField(DisplayName="Test Field")]

    public virtual Decimal? UsrTest { get; set; }
    public abstract class usrTest : IBqlField { }
    #endregion
}
于 2018-06-15T17:18:07.530 回答