与视图BQL相关的自定义查询屏幕上发生错误

时间:2018-09-25 20:26:45

标签: acumatica

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

在网格数据中,还包括两个未绑定到数据库的字段,它们是[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获取业务帐户,因此需要条件逻辑。这就是为什么我会收到错误消息?一切都编译正常。

0 个答案:

没有答案