У меня есть экран запроса с одним полем фильтра вверху.Это работает, как и ожидалось.
Среди данных сетки также есть два поля, которые НЕ привязаны к базе данных, и это типы [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 (это связано с тем, что в зависимости от нескольких факторов он будет получать бизнес-счет из разныхЦАПы, поэтому необходима условная логика. Может, поэтому я получаю ошибку? Все компилируется нормально.