下面是扩展数据存取控制器和图形代码,INRegisterKitAssemblyExt是一个数据存取控制器,我为它创建了一个数据库表。我想将usrSiteID值保存在INRegisterKitAssemblyExt(单独的)数据库表中。请检查如何使用INKitRegister DAC初始化扩展DAC并保存该值,以及如何在UI中使用usrSiteId?
[PXTable(typeof(INKitRegister.refNbr), typeof(INKitRegister.KitRevisionId))]
public class INRegisterKitAssemblyExt: PXCacheExtension<INKitRegister> {
#region RefNbr
public abstract class refNbr:PX.Data.BQL.BqlString.Field<refNbr> {
}
protected String _RefNbr;
[PXDBDefault(typeof(INKitRegister.refNbr))]
[PXDBString()]
[PXParent(typeof(Select<INKitRegister, Where<INKitRegister.refNbr, Equal<Current<refNbr>>,And<INKitRegister.kitRevisionID, Equal<Current<kitRevisionID>>>>>))]
public virtual String RefNbr {
get {
return this._RefNbr;
}
set {
this._RefNbr = value;
}
}
#endregion
#region KitRevisionID
public abstract class kitRevisionID:PX.Data.BQL.BqlString.Field<kitRevisionID> {
}
protected String _KitRevisionID;
[PXDBDefault(typeof(INKitRegister.kitRevisionID))]
[PXDBString()]
public virtual String KitRevisionID {
get {
return this._KitRevisionID;
}
set {
this._KitRevisionID = value;
}
}
#endregion
// My Fields as well as refNbr and KitRevison is also here
public virtual int? UsrQCSiteID {
get; set;
}
public abstract class usrQCSiteID:PX.Data.BQL.BqlInt.Field<usrQCSiteID> {
}
}
// Extension Graph
public class KitAssemblyEntryExt:PXGraphExtension<KitAssemblyEntry> {
}
发布于 2020-05-07 04:42:49
代码示例中的INRegisterKitAssemblyExt不是DAC。DAC继承自IBqlTable基类。
代码示例中的INRegisterKitAssemblyExt是一个DAC扩展。DAC扩展继承自PXCacheExtension基类。永远不要为DAC扩展创建数据库表。
DAC扩展中的自定义字段将自动保存到基本DAC表中。这里的主要问题是INKitRegister没有绑定到数据库表。它是一个投影DAC,并且INKitRegister数据库表不存在。
INKitRegister DAC投影指向INRegister DAC:
[PXPrimaryGraph(typeof(KitAssemblyEntry))]
[PXCacheName(Messages.INKit)]
[PXProjection(typeof(Select2<INRegister, InnerJoin<INTran, On<INRegister.FK.KitTran>>>), Persistent=true)]
[Serializable]
public partial class INKitRegister : IBqlTable, ILSPrimary
您应该在INRegister DAC而不是INKitRegister上创建扩展,因为INRegister绑定到同名的实际数据库表:
public class INRegisterKitAssemblyExt: PXCacheExtension<INRegister>
https://stackoverflow.com/questions/61642436
复制相似问题