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

如何在Acumatica销售订单弹窗中按ItemClassId获取属性?

正确实现方法

1. 修正图(Graph)中的代码定义

在销售订单Item查找弹窗的扩展图中,正确定义主数据视图与属性关联视图,移除原代码的重复定义错误:

// 主视图:筛选待查找的库存商品(可根据业务需求调整Where条件)
public PXSelect<InventoryItem, Where<InventoryItem.stkItem, Equal<True>>> ItemSearch;

// 属性视图:关联商品的ItemClassId到商品类别DAC,自动加载对应属性
[PXViewName("Attributes")]
public CSAttributeGroupList<InventoryItem, INItemClass> Attributes;

关键说明

  • CSAttributeGroupList的泛型参数规则:第一个参数是查找弹窗的主数据DAC(这里是InventoryItem,即选中的商品),第二个参数是属性所属的DAC(这里是INItemClass,即商品类别)。
  • 框架会自动通过InventoryItem.ItemClassId与INItemClass.ItemClassId的关联关系,加载对应类别的属性组和属性值。

2. ASPX页面配置

在查找弹窗的ASPX页面中,添加属性网格并绑定到Attributes视图:

<px:PXGrid ID="gridAttributes" runat="server" DataSourceID="ds" ViewName="Attributes" Width="100%">
    <Levels>
        <px:PXGridLevel DataMember="Attributes">
            <Columns>
                <px:PXGridColumn DataField="AttributeID" Width="150" />
                <px:PXGridColumn DataField="Description" Width="250" />
                <px:PXGridColumn DataField="Value" Width="200" />
            </Columns>
        </px:PXGridLevel>
    </Levels>
</px:PXGrid>

3. 系统配置验证

确保对应INItemClass(商品类别)已在系统中完成以下配置:

  • 创建并启用属性组
  • 为属性组添加属性并设置对应值
  • 目标商品的ItemClassId字段已关联到该类别

常见排查点

  • 检查选中商品的ItemClassId是否非空(未关联类别的商品无属性可显示)
  • 验证商品类别的属性组是否处于启用状态
  • 确认图扩展类正确继承自原查找弹窗的图(例如SOOrderEntry_ItemLookupExtension : PXGraphExtension<SOOrderEntry.ItemLookup>)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 19:55:22