0
votes

when I add a new field, in the payment configuration tab.

It adds the field in location to the database, but at the same time I create DAC addressExt, I don't understand why.

here is the DAC of each one that created me.

First.

the field is created in this table: Location

namespace PX.Objects.CR.Standalone {

public class LocationExt : PXCacheExtension<PX.Objects.CR.Standalone.Location>
{
    #region UsrTest
    [PXDBBool]
    [PXUIField(DisplayName="test")]
    public virtual bool? UsrTest { get; set; }
    public abstract class usrTest : PX.Data.BQL.BqlBool.Field<usrTest> { }
    #endregion
}

}

second.

namespace PX.Objects.CR {

public class AddressExt : PXCacheExtension<PX.Objects.CR.Address>
{
    #region UsrTest
    [PXDBBool]
    [PXUIField(DisplayName = "test")]
    public virtual bool? UsrTest { get; set; }
    public abstract class usrTest : PX.Data.BQL.BqlBool.Field<usrTest> { }
    #endregion
}

}

view image:

I hope you understand, I'm not good at English.

enter image description here

1
I'm not sure I understand your question. Could you make it clearer or try asking it a different way? - Deetz

1 Answers

0
votes

This is actually being done by design. The DAC you are editing is a Projection consisting of multiple DACs. Check this link out from Sergey Marenich

PXProjection uses 2 Data Access Classes for quotes:

One class represents the table – PX.Objects.CR.Standalone.CRQuote. Another represents view as combination of DACs in select – PX.Objects.CR.CRQuote. And to correctly work, custom field needs to be added in both of the places. And Projection field should be linked to table field using BqlField property of DBFieldAttributes.