我有一个自定义查询屏幕,顶部有一个过滤器字段。这可以按预期工作。
在网格数据中,还包括两个未绑定到数据库的字段,它们是[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获取业务帐户,因此需要条件逻辑。这就是为什么我会收到错误消息?一切都编译正常。