gpt4 book ai didi

acumatica - PXSelector 中的 BQL 按开头进行过滤

转载 作者:行者123 更新时间:2023-12-02 04:05:38 31 4
gpt4 key购买 nike

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

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

我的问题是,我想根据 SalesPerson CD 的前三个字符(即 StartsWith“SSR”或类似的字符)过滤此选择器。我知道您可以使用 Search<> 命令在选择器中使用 BQL,并且我知道如何设置常量类,但我不确定按开头字符进行过滤的语法。

最佳答案

无需创建自定义 BQL 运算符,您可以通过使用 LIKE 运算符并在末尾添加 % 通配符来实现“开头为”。您要过滤的 BQL 字段可能是在 get 访问器中具有自定义代码的 DAC 属性,该属性采用用户输入的字段并在末尾添加通配符,如下所示:

        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>>>>))]

关于acumatica - PXSelector 中的 BQL 按开头进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39706304/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com