I have two customizations. The main customization add fields for Margin and Margin % for the Quotes screen.
This is the C# Code declaring them:
#region UsrASGMarginPercent
PXDBDecimal]
PXUIField(DisplayName = "Margin %", Enabled = false)]
public virtual decimal? UsrASGMarginPercent { get; set; }
public abstract class usrASGMarginPercent : PX.Data.BQL.BqlDecimal.Field<usrASGMarginPercent> { }
#endregion
#region UsrASGMarginCury
PXDBDecimal]
PXUIField(DisplayName = "Margin", Enabled = false)]
public virtual decimal? UsrASGMarginCury { get; set; }
public abstract class usrASGMarginCury : PX.Data.BQL.BqlDecimal.Field<usrASGMarginCury> { }
#endregion
In the second Customization, I have added a field for Markup:
#region UsrASGMarkup
PXDBDecimal]
PXUIField(DisplayName = "Markup ", Enabled = false)]
public virtual decimal? UsrASGMarkup { get; set; }
public abstract class usrASGMarkup : PX.Data.BQL.BqlDecimal.Field<usrASGMarkup> { }
#endregion
Everything is fine, except when I publish the second project, I am getting a duplicate of the UsrASGMarginCury field.
I want to position the UsrASGMarginCury column next to the Margin % field, (using the column configurator) but it ignores me when I try, always putting them at the end:
In the past, when I have seen this behavior, it was because there were multiple customizations, all declaring the use of the column via the Acumatica App Customization screens. But, in this case, the second package never declares the margin field as part of its customization. It is unused in it:
Nor do I ever set it to visible within the C# code. It is also not part of any runtime code:
Where is this extra field coming from? If I unpublish the second package, it goes away, so I know it is coming from there somehow, but I can’t figure out from where?
Any ideas of where I can go to squash this cockroach?