【问题标题】:Acumatica - BQL Query with three "ands"Acumatica - 带有三个“和”的 BQL 查询
【发布时间】:2018-01-05 07:06:45
【问题描述】:

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

【问题讨论】:

    标签: acumatica


    【解决方案1】:

    您似乎在末尾缺少一个右括号“>”。

    在任何情况下,这应该是非常安全的语法:

    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。

    【讨论】:

    • 是的,这是我正在开发的自定义。感谢您的回答。
    猜你喜欢
    • 1970-01-01
    • 2016-05-23
    • 2016-10-30
    • 1970-01-01
    • 2019-02-11
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    相关资源
    最近更新 更多