繁体   English   中英

如何获得自定义表值Acumatica

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM