有人能告诉我我的BQL查询有什么问题吗?到处都是VS的流血。不明白为什么Acumatica的开发人员决定采用这种笨拙的查询语言。
var oldRec = PXSelectReadonly<SOLine,
Where<SOLine.orderType, Equal<Required<SOLine.origOrderType>>,
And<SOLine.orderNbr, Equal<Required<SOLine.origOrderNbr>>,
And<SOLine.lineNbr, Equal<Required<SOLine.origLineNbr>>>>>.Select(Base, orderLine.OrigOrderType, orderLine.OrigOrderNbr, orderLine.OrigLineNbr);
看来你最后错过了一个结束括号'>'。
在任何情况下,这应该是非常明智的语法:
PX.Objects.SO.SOLine orderLine = new PX.Objects.SO.SOLine();
var oldRec = PXSelectReadonly<PX.Objects.SO.SOLine,
Where<PX.Objects.SO.SOLine.orderType, Equal<Required<PX.Objects.SO.SOLine.origOrderType>>,
And<PX.Objects.SO.SOLine.orderNbr, Equal<Required<PX.Objects.SO.SOLine.origOrderNbr>>,
And<PX.Objects.SO.SOLine.lineNbr, Equal<Required<PX.Objects.SO.SOLine.origLineNbr>>>>>>.Select(Base, orderLine.OrigOrderType, orderLine.OrigOrderNbr, orderLine.OrigLineNbr);
在图形扩展“PXGraphExtension”中使用时,您可以将“Base”指定为第一个参数,就像您所做的那样。 Base是指基本图,你使用'Base',因为第一个参数类型是PXGraph而不是PXGraphExtension。
在图形'PXGraph'中使用时,您使用'this'而不是base。