问题
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