[英]How to get custom table value Acumatica
嗨,我很难将我的自定义表继承到我的dac并在此处进行选择器是我的自定义表Branded.cs
[Serializable]
public class Branded : IBqlTable
{
#region BrandID
[PXDBInt(IsKey = true)]
[PXUIField(DisplayName = "Brand ID")]
public virtual int? BrandID { get; set; }
public abstract class brandID : PX.Data.BQL.BqlInt.Field<brandID> { }
#endregion
#region Brand
[PXDBString(InputMask = "")]
[PXUIField(DisplayName = "Brand")]
public virtual string Brand { get; set; }
public abstract class brand : PX.Data.BQL.BqlString.Field<brand> { }
#endregion
}
然后这是我的自定义dac,我想使用
public class InventoryItemExt : PXCacheExtension<PX.Objects.IN.InventoryItem>
{
#region UsrCategory
[PXDBString(100)]
[PXUIField(DisplayName="Category")]
public virtual string UsrCategory { get; set; }
public abstract class usrCategory : PX.Data.BQL.BqlString.Field<usrCategory> { }
#endregion
#region UsrBrand
[PXDBString(100)]
[PXUIField(DisplayName="Brand")]
//red
[PXSelector(
typeof(Search<Branded.brand>),
typeof(Branded.brandID),
typeof(Branded.brand))]
public virtual string UsrBrand { get; set; }
public abstract class usrBrand : PX.Data.BQL.BqlString.Field<usrBrand> { }
#endregion
当我将它们加入在一起时,如何在我的dac上继承自定义表以创建选择器
函数“ MoveNext”中发生未处理的异常。 请参阅跟踪日志以获取更多详细信息。
感谢您的提前帮助
#region UsrBrand
[PXDBString(100)]
[PXUIField(DisplayName="Brand")]
//red
[PXSelector(
typeof(Search<Branded.brand>),new Type[]
{
typeof(Branded.brandID),
typeof(Branded.brand))]
}
public virtual string UsrBrand { get; set; }
public abstract class usrBrand : PX.Data.BQL.BqlString.Field<usrBrand> { }
#endregion
我假设由于BrandID是要在表中存储密钥但要显示Brand值(使用ID / CD配置)的密钥。 如果是这样,那么您将希望InventoryItemExt中的UsrBrand为Int并使用如下选择器:
[PXDBInt]
[PXUIField(DisplayName = "Brand")]
[PXSelector(
typeof(Search<Branded.brandID>),
SubstituteKey = typeof(Branded.brand))]
public virtual int? UsrBrand { get; set; }
public abstract class usrBrand : PX.Data.BQL.BqlInt.Field<usrBrand> { }
如果将主DAC中ui字段属性的可见性设置为SelectorVisible,则也无需跳过选择器中的列。 标记为SelectorVisible的所有列将按照在dac中出现的顺序在选择器中显示。 同样不要忘记包括字符串大小。
[PXDBString(100, InputMask = "")]
[PXUIField(DisplayName = "Brand", Visibility = PXUIVisibility.SelectorVisible)]
public virtual string Brand { get; set; }
如果不是这种情况,那么您应该具有跟踪详细信息,如发布的错误所指示。 在此处查看更多详细信息,然后发布完整错误。 这可能与您的DAC配置无关。
我明白了,谢谢。 我意识到我有一个代码和一个dac,并且正在制作两个表os,我必须删除其中的一个,并且它工作得很好,谢谢大家
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.