微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Acumatica中可搜索的用户定义字段

如何解决Acumatica中可搜索的用户定义字段

我最近在StockItem中添加了一些用户定义的字段,在一些记录中添加了值,然后尝试按值搜索它们。不幸的是,搜索引擎不知道我的UDF值。

有没有办法让用户定义的字段可搜索

解决方法

是的,正如Brian指出的,我们需要为该特定DAC的NoteID字段添加一个PXSearchable属性。以下来自SOOrder DAC文件的代码,它可以帮助您满足要求。

    #region NoteID
    public abstract class noteID : PX.Data.BQL.BqlGuid.Field<noteID> { }
    protected Guid? _NoteID;
    [**PXSearchable**(SM.SearchCategory.SO,"{0}: {1} - {3}",new Type[] { typeof(SOOrder.orderType),typeof(SOOrder.orderNbr),typeof(SOOrder.customerID),typeof(Customer.acctName) },new Type[] { typeof(SOOrder.customerRefNbr),typeof(SOOrder.customerOrderNbr),typeof(SOOrder.orderDesc) },NumberFields = new Type[] { typeof(SOOrder.orderNbr) },Line1Format = "{0:d}{1}{2}{3}",Line1Fields = new Type[] { typeof(SOOrder.orderDate),typeof(SOOrder.status),typeof(SOOrder.customerRefNbr),typeof(SOOrder.customerOrderNbr) },Line2Format = "{0}",Line2Fields = new Type[] { typeof(SOOrder.orderDesc) },MatchWithJoin = typeof(InnerJoin<Customer,On<Customer.bAccountID,Equal<SOOrder.customerID>>>),SelectForFastIndexing = typeof(Select2<SOOrder,InnerJoin<Customer,On<SOOrder.customerID,Equal<Customer.bAccountID>>>>)
   )]
    [PXNote(new Type[0],ShowInReferenceSelector = true,Selector = typeof(
        Search2<
            SOOrder.orderNbr,LeftJoinSingleTable<Customer,Equal<Customer.bAccountID>,And<Where<Match<Customer,Current<AccessInfo.userName>>>>>>,Where<
            Customer.bAccountID,IsNotNull,Or<Exists<
                Select<
                    SOOrderType,Where<
                    SOOrderType.orderType,Equal<SOOrder.orderType>,And<SOOrderType.aRDocType,Equal<ARDocType.noUpdate>>>>>>>,OrderBy<
            Desc<SOOrder.orderNbr>>>))]
    public virtual Guid? NoteID
    {
        get
        {
            return this._NoteID;
        }
        set
        {
            this._NoteID = value;
        }
    }
    #endregion

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。