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

Acumatica采购收货上架页新增GS1客户零件号条码支持及重写问题

Acumatica采购模块「Receive and Put Away」页面新增GS1客户零件号支持方案

基础扩展错误修复

CS0311报错的核心原因是PX.Objects.PO.WMS.ReceivePutAway属于WMS扫描场景专用BLC,继承自WMSScanGraph基类而非普通PXGraph,不能直接使用PXGraphExtension<T>扩展,正确的扩展基类为WMSScanGraphExtension<T>。

代码重写实现方案

GetGS1ApplicationSteps方法可通过[PXOverride]特性配合原生委托调用实现重写,无需修改系统原生代码,完整实现示例如下:

using PX.Data;
using PX.WMS;
using PX.Objects.PO.WMS;
using System.Collections.Generic;
using System.Linq;

public class ReceivePutAway_Extension : WMSScanGraphExtension<ReceivePutAway>
{
    // 启用GS1支持(若原有属性为关闭状态)
    [PXOverride]
    public virtual bool GS1Support => true;

    // 重写GS1应用步骤,新增客户零件号支持
    [PXOverride]
    public virtual IEnumerable<GS1ApplicationStep> GetGS1ApplicationSteps(Func<IEnumerable<GS1ApplicationStep>> baseMethod)
    {
        var originalSteps = baseMethod?.Invoke() ?? new List<GS1ApplicationStep>();
        
        // GS1标准中客户零件号对应应用标识符为241,若使用自定义AI可替换对应值
        var customerPartStep = new GS1ApplicationStep(
            ai: "241",
            apply: (scannedValue, scanState) =>
            {
                // 示例逻辑:将扫描值赋值到当前入库单行的客户零件号字段
                if (scanState.Document is POReceiptLine currentLine)
                {
                    currentLine.CustomerPartNumber = scannedValue.Trim();
                }
                // 需添加校验逻辑可在此处实现,不满足条件直接返回false即可抛出扫描错误
                return true;
            }
        );

        return originalSteps.Concat(new[] { customerPartStep });
    }
}

优先尝试无代码配置方案

版本在2022 R1及以上的Acumatica实例,可先通过平台原生配置实现需求,无需开发:

  • 打开条码扫描设置页面(路径:配置→条码扫描→条码扫描设置,页面ID CS102000)
  • 筛选找到「Receive and Put Away」对应的扫描场景配置项
  • 进入GS1规则配置标签页,新增一条规则,应用标识符填241,目标字段绑定采购入库单行的CustomerPartNumber字段
  • 保存配置后清空站点缓存即可生效

生效验证说明

代码实现完成后需要执行以下操作验证:

  1. 重新发布所有自定义项目
  2. 清空浏览器缓存和站点服务器缓存
  3. 进入WMS的Receive and Put Away页面扫描带241AI的GS1条码,确认客户零件号字段可正常赋值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:06:00