You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Acumatica中自定义视图过滤Open状态SOOrder的方法咨询

解决Acumatica自定义视图筛选Open状态SOOrder的问题

错误原因

直接添加独立的Where<SOOrder.Status, Equal<"N">>会和原视图里的Where2块冲突——PXSelectJoin只能包含一个Where/Where2条件容器;另外直接写字符串"N"的写法不符合Acumatica查询语法规范,应该用枚举成员指定状态值。

正确修改方法

把筛选Open状态的条件合并到现有Where2中,用And连接,同时使用SOOrderStatus.Open枚举成员指定状态(需确保已引用PX.Objects.SO命名空间)。

修改后的完整视图代码如下:

public PXSelectJoin<SOOrder,
    LeftJoin<Users, On<Users.pKID, Equal<SOOrder.createdByID>>,
    LeftJoin<SOOrderType, On<SOOrderType.orderType, Equal<SOOrder.orderType>>,
    LeftJoin<PX.Objects.GL.Branch, On<PX.Objects.GL.Branch.branchID, Equal<SOOrder.branchID>>,
    LeftJoin<Organization, On<Organization.organizationID, Equal<PX.Objects.GL.Branch.organizationID>, Or<Organization.organizationID, IsNull>>,
    LeftJoin<PortalSetup, On2<Where<PortalSetup.restrictByOrganizationID, IsNull, Or<Organization.organizationID, Equal<PortalSetup.restrictByOrganizationID>>>,
                 And<Where<PortalSetup.restrictByBranchID, IsNull, Or<PX.Objects.GL.Branch.branchID, Equal<PortalSetup.restrictByBranchID>>>>>>>,
    Where2<MatchWithBAccount<SOOrder.customerID, Current<AccessInfo.userID>>,
                 And<PortalSetup.IsCurrentPortal>,
                 And<SOOrder.status, Equal<SOOrderStatus.open>>>,
    OrderBy<Desc<SOOrder.orderNbr>>> Items;

说明

  • SOOrderStatus.Open对应订单的Open状态枚举值,用枚举成员可避免硬编码字符串引发的错误
  • 所有筛选条件都放在同一个Where2块内通过And串联,符合PXSelectJoin的语法要求

内容的提问来源于stack exchange,提问作者AcumaticaZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 16:50:22