首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Acumatica扫描条形码

Acumatica扫描条形码
EN

Stack Overflow用户
提问于 2017-03-01 01:56:20
回答 2查看 595关注 0票数 0

在Acumatica项目中,在接收屏幕上有一个查找按钮"Add“。当库存查找显示对话框(这是FromDetail模板),我将扫描条形码从我的账单。但是,我必须第二次扫描它的工作。如何过滤网格细节并设置选中的行,根据条形码过滤?怎样才能知道过滤过的行数?请帮帮我。

下图说明了这一点。

snip码

屏幕收据

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-01 02:44:35

FieldVerifying处理程序的实现情况要好得多,以便INSiteStatusFilter.BarCode字段拆分扫描的条形码,并将新值分配给 barcode 字段(尽管是PXFieldVerifyingEventArgs.New属性)和自定义未绑定的FilterQtySelected字段。然后,在FieldUpdated处理程序中,您将从细节网格中选择满足筛选条件并设置Qty的所有记录。根据未绑定的FilterQtySelected字段选择

代码语言:javascript
复制
public class INReceiptEntryExt : PXGraphExtension<INReceiptEntry>
{
    public class INSiteStatusFilterExt : PXCacheExtension<INSiteStatusFilter>
    {
        #region QtySelected
        public abstract class filterQtySelected : PX.Data.IBqlField
        {
        }
        [PXQuantity]
        public virtual decimal? FilterQtySelected { get; set; }
        #endregion
    }

    public void INSiteStatusFilter_BarCode_FieldVerifying(PXCache sender, PXFieldVerifyingEventArgs e)
    {
        var barCode = (string)e.NewValue;
        string[] codes = barCode.Split(';');
        decimal qtySelected;
        if (codes.Length == 3 && decimal.TryParse(codes[2], out qtySelected))
        {
            e.NewValue = codes[1];
            sender.GetExtension<INSiteStatusFilterExt>(e.Row).FilterQtySelected = qtySelected;
            return;
        }
        sender.GetExtension<INSiteStatusFilterExt>(e.Row).FilterQtySelected = null;
    }

    public void INSiteStatusFilter_BarCode_FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e)
    {
        INSiteStatusFilter filter = e.Row as INSiteStatusFilter;
        var filterExt = filter.GetExtension<INSiteStatusFilterExt>();
        if (string.IsNullOrEmpty(filter.BarCode) || !filterExt.FilterQtySelected.HasValue) return;

        foreach(INSiteStatusSelected record in Base.sitestatus.Select())
        {
            record.Selected = true;
            record.QtySelected = sender.GetExtension<INSiteStatusFilterExt>(e.Row).FilterQtySelected;
            Base.sitestatus.Update(record);
        }
    }
}

票数 0
EN

Stack Overflow用户

发布于 2022-11-06 06:15:07

您需要通过自定义项目在现有条形码基础结构屏幕上添加自定义2D格式支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42521858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档