Acumatica - BQL查询三个" ands"

时间:2018-01-04 22:54:48

标签: acumatica

有人能告诉我我的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);

1 个答案:

答案 0 :(得分:0)

看来你错过了一个结束括号'&gt;'最后。

无论如何,这应该是非常明智的语法:

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。