На экране пользовательских запросов возникает ошибка, связанная с просмотром BQL - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть экран запроса с одним полем фильтра вверху.Это работает, как и ожидалось.

Среди данных сетки также есть два поля, которые НЕ привязаны к базе данных, и это типы [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 '='.

Поле в ЦАП экрана запроса не привязано к базе данных и заполняется с помощью события xTACToDoDetail_RowSelecting (это связано с тем, что в зависимости от нескольких факторов он будет получать бизнес-счет из разныхЦАПы, поэтому необходима условная логика. Может, поэтому я получаю ошибку? Все компилируется нормально.

...