Acumatica PXSelector中的BQL以a开头进行过滤

Acumatica PXSelector中的BQL以a开头进行过滤,acumatica,Acumatica,我的DAC中有一个字段,我想在其中放置一个选择器,用于查找销售人员。我知道怎么做: [PXSelector(typeof(SalesPerson.salesPersonCD) ,typeof(SalesPerson.salesPersonCD) ,typeof(SalesPerson.descr))] 我的问题是,我想根据SalesPerson CD的前三个字符筛选此选择器,即,带有“SSR”或类似内容的starts。

我的DAC中有一个字段,我想在其中放置一个选择器,用于查找销售人员。我知道怎么做:

        [PXSelector(typeof(SalesPerson.salesPersonCD)
               ,typeof(SalesPerson.salesPersonCD)
               ,typeof(SalesPerson.descr))]

我的问题是,我想根据SalesPerson CD的前三个字符筛选此选择器,即,带有“SSR”或类似内容的starts。我知道您可以使用Search命令在选择器中使用BQL,并且我知道如何设置常量类,但我不确定通过开头字符过滤的语法。

除了创建自定义BQL运算符外,您还可以通过使用LIKE运算符实现“start with”,最后使用%通配符。您正在筛选的BQL字段可能是一个DAC属性,在get访问器中具有自定义代码,它接受用户输入的字段并在末尾添加通配符,如下所示:

        public abstract class myFieldWildcard : PX.Data.IBqlField { };
        [PXString(30, IsUnicode = true)]
        public virtual String MyFieldWildcard
        {
            [PXDependsOnFields(typeof(myField)]
            get
            {
                return MyField + PXDatabase.Provider.SqlDialect.WildcardAnything;
            }
        }
然后,您将能够使用该字段作为
PXSelector
属性的一部分:

[PXSelector(typeof(Search<SomeTable.someField, Where<SomeTable.someField,Like<Current<MyFilter.myFieldWildcard>>>>))]
[PXSelector(typeof(Search))]

非常感谢,伙计们;D