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