Custom field on CROpportunity doesn't display saved value since upgrading from 6.10 or 2017R2 to 2018R1

房东的猫 提交于 2019-11-28 04:52:50

问题


I made a DAC extension on CROpportunity in my customization project which was working well in 6.10 and 2017R2. Now I upgraded my site to 2018R1 and my custom fields don't work anymore. As soon as I save my record, the customized field goes blank even if the database saved the value correctly.

Why is this happening ?


回答1:


In version 2018R1, PX.Objects.CR.CROpportunity became a projection of PX.Objects.CR.Standalone.CROpportunity.

In order for the projection to get its customized fields values correctly, you need to also customize the Standalone DAC and set the BQL Field of PX.Objects.CR.CROpportunity point to PX.Objects.CR.Standalone.CROpportunity.

Here is an example :

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
}


来源:https://stackoverflow.com/questions/50880116/custom-field-on-cropportunity-doesnt-display-saved-value-since-upgrading-from-6

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!