首页 > 解决方案 > 与查看 BQL 相关的自定义查询屏幕上出现错误

问题描述

我有一个自定义查询屏幕,顶部有一个过滤器字段。这按预期工作。

在网格数据中,还包含了两个与数据库无关的字段,分别是[PXInt]和[PXString]类型。当前(工作)过滤器 BQL 使用与数据库绑定的字段之一,如下所示:

    [PXFilterable]
    public PXSelectReadonly<xTACTodoDetail,
           Where<Current<ToDoFilter.employeeID>, IsNull,
           Or<xTACTodoDetail.assignTo, Equal<Current<ToDoFilter.employeeID>>>>> TodoDetail;

正如我所说,这按预期工作。现在我在屏幕过滤器和 BQL 中添加了一个字段,如下所示:

场地:

    #region BusAcct
    public abstract class busAcct : IBqlField
    {
    }
    [PXString(30, IsUnicode = true, InputMask = "")]
    [PXUIField(DisplayName = "Bus. Acct.")]
    [PXDimensionSelector("BIZACCT", typeof(BAccount.acctCD),typeof(BAccount.acctCD), DescriptionField = typeof(BAccount.acctName))]
    public virtual string BusAcct { get; set; }
    #endregion

BQL:

    [PXFilterable]
    public PXSelectReadonly<xTACTodoDetail,
            Where2<Where<Current<ToDoFilter.employeeID>, IsNull,
                   Or<xTACTodoDetail.assignTo, Equal<Current<ToDoFilter.employeeID>>>>,
            And<Where<Current<ToDoFilter.busAcct>, IsNull,
                Or<xTACTodoDetail.busAcct, Equal<Current<ToDoFilter.busAcct>>>>>>> TodoDetail;

现在我收到以下错误:

Incorrect syntax near '='.

查询屏幕的 DAC 中的字段不绑定到数据库,并且使用 xTACToDoDetail_RowSelecting 事件填充(这是因为取决于几个因素,它会从不同的 DAC 获取业务帐户,所以需要条件逻辑。这可能是为什么我得到了错误?一切都编译得很好。

标签: acumatica

解决方案


推荐阅读