Acumatica扫描移动



在扫描移动屏幕(AM302010(中使用设置数量按钮时,我正在尝试添加一个额外的步骤。我想在按下按钮后设置数量的标准功能之前,将值设置为另一个字段。在查看源代码时,我似乎找不到应该扩展哪个图形来自定义屏幕。我也想知道如何在acumatica中覆盖或在哪里覆盖这些扫描功能。

谢谢你的回答。

在此处输入图像描述

编辑*

抱歉没有说清楚。

在扫描移动屏幕中,有一个设置数量按钮。这允许用户在明细上输入数量。我想做的是在此之前增加一个额外的步骤。例如,在设置扫描字段中的数量之前,我想先废弃输入的插入数量。所以顺序是,按设置数量按钮,输入报废数量,按回车(设置数量报废值(,输入数量,按enter(设置数量值(。(原来是,按设置数量按钮,输入数量,按回车(。在此处输入图像描述

我已经找到了要扩展的图形。在此处输入图像描述目前,我很难理解acumatica 2022 R1中wms的这个新过程。是否可以在标题中添加新步骤,或者添加另一个按钮,作为解决方法,以实现目标?

再次感谢/

在为您的查询推荐方法之前,我建议您查看以下社区文章,这些文章解释了新的WMS架构以及如何覆盖相同的不同方法:

  • https://community.acumatica.com/customization-and-development-72/how-to-customize-an-existing-screen-with-the-new-automated-warehouse-operations-engine-in-acumatica-erp-2021-r1-and-later-8029
  • https://community.acumatica.com/customization-and-development-72/how-to-customize-the-new-automated-warehouse-operations-engine-in-acumatica-erp-2021-r1-and-later-barcode-driven-state-machine-architecture-8024

根据您的要求,我们建议以下方法:

  1. ScanMove图创建一个新的扫描扩展,如下所示:

    public class ScanMoveExtension : ScanMove.ScanExtension {}
    
  2. 通过重写Process方法创建一个新的ScanCommand,用于执行所需的操作/更改。

  3. 在添加SetQtyCommand之前,覆盖DecorateScanMode方法并添加新命令,如下所示:

    [PXOverride]
    public virtual ScanMode<ScanMove> DecorateScanMode(ScanMode<ScanMove> original, Func<ScanMode<ScanMove>, ScanMode<ScanMove>> base_DecorateScanMode)
    {
    var mode = base_DecorateScanMode(original);
    if (mode is ScanMaterial.MaterialMode materialMode)
    {
    mode
    .Intercept.CreateCommands.ByReplace(basis =>
    {
    // modify the order of the commands added
    // RemoveCommand, SetQtyCommand and ReleaseCommand
    // add your logic before SetQtyCommand
    });
    }
    return mode;
    }
    

这应该使您能够在执行SetQty命令之前执行步骤。

最新更新